subject_54647.htm

来自「vc」· HTM 代码 · 共 12 行

HTM
12
字号
<p>
序号:54647 发表者:eric 发表日期:2003-09-29 17:34:40
<br>主题:对话框内绘图
<br>内容:基于对话框的程序,通过对话框上的一Button生成另一个无模式对话框。<BR>,对话框已生成,没显示出来,相应函数为<BR>OnShoworhide() <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your control notification handler code here<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(m_pShowHideDlg-&gt;IsWindowVisible())<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pShowHideDlg-&gt;ShowWindow(SW_HIDE);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((CButton*)GetDlgItem(IDC_SHOWORHIDE))-&gt;SetDlgItemText(IDC_SHOWORHIDE,&#34;显示&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pShowHideDlg-&gt;ShowWindow(SW_SHOW);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((CButton*)GetDlgItem(IDC_SHOWORHIDE))-&gt;SetDlgItemText(IDC_SHOWORHIDE,&#34;隐藏&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>}<BR><BR>在生成的另一对话框内有OnPaint绘图:<BR>void CShowHideDlg::OnPaint() <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CClientDC dc(this); // device context for painting<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your message handler code here<BR>&nbsp;&nbsp;&nbsp;&nbsp;CRect rect;<BR>&nbsp;&nbsp;&nbsp;&nbsp;GetClientRect(&amp;rect);<BR>&nbsp;&nbsp;&nbsp;&nbsp;dc.FillSolidRect(rect,RGB(0,0,0));<BR>&nbsp;&nbsp;&nbsp;&nbsp;dc.SelectObject(&amp;m_whitePen);<BR>&nbsp;&nbsp;&nbsp;&nbsp;dc.Rectangle(0,0,150,150);<BR>&nbsp;&nbsp;&nbsp;&nbsp;// Do not call CDialog::OnPaint() for painting messages<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>
<font color=red>答案被接受</font><br>回复者:无情阁东雪 回复日期:2003-09-29 18:27:00
<br>内容:void CShowHideDlg::OnPaint() <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CClientDC dc(this); -----&gt;CPaintDC dc(this);<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your message handler code here<BR>&nbsp;&nbsp;&nbsp;&nbsp;CRect rect;<BR>&nbsp;&nbsp;&nbsp;&nbsp;GetClientRect(&amp;rect);<BR>&nbsp;&nbsp;&nbsp;&nbsp;dc.FillSolidRect(rect,RGB(0,0,0));<BR>&nbsp;&nbsp;&nbsp;&nbsp;dc.SelectObject(&amp;m_whitePen);<BR>&nbsp;&nbsp;&nbsp;&nbsp;dc.Rectangle(0,0,150,150);<BR>&nbsp;&nbsp;&nbsp;&nbsp;// Do not call CDialog::OnPaint() for painting messages<BR>}
<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 + -
显示快捷键?