subject_17796.htm

来自「一些关于vc的问答」· HTM 代码 · 共 48 行

HTM
48
字号
<p>
序号:17796 发表者:mini 发表日期:2002-10-15 17:21:46
<br>主题:考考你的本事,VC程序有问题
<br>内容: error C2065: 'pDC' : undeclared identifier<BR>C:\新建文件夹\wl1\wl1View.cpp(47) : error C2227: left of '-&gt;SelectObject' must point to class/struct/union<BR>C:\新建文件夹\wl1\wl1View.cpp(58) : error C2227: left of '-&gt;Polyline' must point to class/struct/union error C2065: 'pDC' : undeclared identifier<BR>&nbsp;&nbsp;<BR>void CWl1View::MyDraw()<BR>{&nbsp;&nbsp;&nbsp;&nbsp;CPen newpen (PS_SOLID,1,RGB(0,0,0));\\BEGIN<BR>&nbsp;&nbsp;&nbsp;&nbsp;CPen*old=pDC-&gt;SelectObject(&newpen);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pDC-&gt;MoveTo(600,100);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pDC-&gt;LineTo(750,50);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pDC-&gt;SelectObject(old);}//END<BR><BR>我原在OnDraw 中编辑BEGIN TO END 是好的。现在我在OnDraw中加了一句话,“按右键开始”然后移走BENIN TO END到MyDraw();<BR>void CWl1View::OnRButtonDown(UINT nFlags, CPoint point) <BR>{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dlg dlg;<BR>&nbsp;&nbsp;UpdateData(TRUE);&nbsp;&nbsp; MyDraw();}<BR>编译如上。不知是什么问题?<BR><BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:CDMA2000 回复日期:2002-10-15 17:26:44
<br>内容:你的MyDraw中没有定义pDC啊<BR>在OnDraw中是通过参数传递进来的<BR>你可以在MyDraw()最前加入<BR>CDC* pDC=GetClientDC();
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:徐景周 回复日期:2002-10-15 17:38:46
<br>内容:对啊,你的MyDraw中的pDC从何而来,可用类似下法获取<BR> CDC dc;<BR>&nbsp;&nbsp;&nbsp;&nbsp; if(FullWnd)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ /* 抓取整个窗口 */<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HDC hdc = ::GetWindowDC(wnd-&gt;m_hWnd);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dc.Attach(hdc);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} /* 抓取整个窗口 */<BR>&nbsp;&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ /* 仅抓取客户区时 */<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HDC hdc = ::GetDC(wnd-&gt;m_hWnd);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dc.Attach(hdc);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} /* 仅抓取客户区时 */<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:Norton AntivVirus 回复日期:2002-10-15 17:40:38
<br>内容:可以将参数传进来<BR><BR>定义:void MyDraw(CDC* pDC);<BR><BR>在OnDraw中调用时:MyDraw(pDC);
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:fl 回复日期:2002-10-16 14:23:18
<br>内容:mini,<BR>可以看看你修改后的代码吗?<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:mini 回复日期:2002-10-16 14:40:54
<br>内容:修改后的代码就是在<BR>void CWl1View::MyDraw()//- --》 voidCWl1View:: MyDraw(CDC* pDC);<BR><BR>{&nbsp;&nbsp;&nbsp;&nbsp;CPen newpen (PS_SOLID,1,RGB(0,0,0));\\BEGIN<BR>&nbsp;&nbsp;&nbsp;&nbsp;CPen*old=pDC-&gt;SelectObject(&newpen);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pDC-&gt;MoveTo(600,100);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pDC-&gt;LineTo(750,50);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pDC-&gt;SelectObject(old);}//END<BR><BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:fl 回复日期:2002-10-16 14:48:02
<br>内容:你的mydraw()中还是没有pdc阿,pdc是怎么传过去的??
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:mini 回复日期:2002-10-17 15:36:53
<br>内容:MY DRAW 括号里的参数。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?