subject_26225.htm

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

HTM
15
字号
<p>
序号:26225 发表者:xxxx 发表日期:2002-12-30 11:08:18
<br>主题:谁知道怎么在基类为CView的SDI中画图
<br>内容:画图子程序类似于<BR>void CElectronOpticsView::Draw(CDC* pDC)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CRect rect;<BR>&nbsp;&nbsp;&nbsp;&nbsp;GetWindowRect(&amp;rect);<BR>&nbsp;&nbsp;&nbsp;&nbsp;pDC-&gt;MoveTo(rect.TopLeft());<BR>&nbsp;&nbsp;&nbsp;&nbsp;pDC-&gt;LineTo(rect.CenterPoint());<BR>&nbsp;&nbsp;&nbsp;&nbsp;pDC-&gt;LineTo(rect.right, rect.top);<BR>&nbsp;&nbsp;&nbsp;&nbsp;pDC-&gt;MoveTo(rect.CenterPoint());<BR>&nbsp;&nbsp;&nbsp;&nbsp;pDC-&gt;LineTo(rect.CenterPoint().x, rect.bottom);<BR>}<BR>代码段放在OnDraw中可以执行<BR>在OnDraw中也可以这样调用:Draw(pDC)<BR><BR>问:怎么通过一个控件或者事件来调用?<BR>我用一个单选按钮的单击事件来调用<BR>void CElectronOpticsView::OnBnClickedFxRadio()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your control notification handler code here<BR>&nbsp;&nbsp;&nbsp;&nbsp;Draw(pDC);<BR>}<BR><BR>编译结果是:<BR>d:\Documents and Settings\Leo.Xia\My Documents\Visual Studio Projects\ElectronOptics\ElectronOpticsView.cpp(114): error C2065: 'pDC' : undeclared identifier<BR>了 
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:fengshu 回复日期:2002-12-30 12:41:43
<br>内容:你上面的Draw(pDC)调用不正确,因为pDC是Draw(CDC* pDC){}函数的局部变量在OnBnClickedFxRadio()中,并没有定义。编译的错误是这个意思。你可以使用在OnBnClickedFxRadio()中调用Invalidate(),这个函数的作用是使用户区域无效,这样使得程序调用Draw(CDC* pDC)<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>
回复者:tjhe 回复日期:2002-12-30 12:48:16
<br>内容:void CElectronOpticsView::OnBnClickedFxRadio()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your control notification handler code here<BR>&nbsp;&nbsp;//&nbsp;&nbsp;Draw(GetDC());<BR>CClientDC dc(this);<BR>Draw(&amp;dc);<BR>}<BR><BR>2002-12-30 12:51:42

⌨️ 快捷键说明

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