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> CRect rect;<BR> GetWindowRect(&rect);<BR> pDC->MoveTo(rect.TopLeft());<BR> pDC->LineTo(rect.CenterPoint());<BR> pDC->LineTo(rect.right, rect.top);<BR> pDC->MoveTo(rect.CenterPoint());<BR> pDC->LineTo(rect.CenterPoint().x, rect.bottom);<BR>}<BR>代码段放在OnDraw中可以执行<BR>在OnDraw中也可以这样调用:Draw(pDC)<BR><BR>问:怎么通过一个控件或者事件来调用?<BR>我用一个单选按钮的单击事件来调用<BR>void CElectronOpticsView::OnBnClickedFxRadio()<BR>{<BR> // TODO: Add your control notification handler code here<BR> 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> // TODO: Add your control notification handler code here<BR> // Draw(GetDC());<BR>CClientDC dc(this);<BR>Draw(&dc);<BR>}<BR><BR>2002-12-30 12:51:42
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?