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> // TODO: Add your control notification handler code here<BR> if(m_pShowHideDlg->IsWindowVisible())<BR> {<BR> m_pShowHideDlg->ShowWindow(SW_HIDE);<BR> ((CButton*)GetDlgItem(IDC_SHOWORHIDE))->SetDlgItemText(IDC_SHOWORHIDE,"显示");<BR> }<BR> else<BR> {<BR> m_pShowHideDlg->ShowWindow(SW_SHOW);<BR> ((CButton*)GetDlgItem(IDC_SHOWORHIDE))->SetDlgItemText(IDC_SHOWORHIDE,"隐藏");<BR> }<BR>}<BR><BR>在生成的另一对话框内有OnPaint绘图:<BR>void CShowHideDlg::OnPaint() <BR>{<BR> CClientDC dc(this); // device context for painting<BR> <BR> // TODO: Add your message handler code here<BR> CRect rect;<BR> GetClientRect(&rect);<BR> dc.FillSolidRect(rect,RGB(0,0,0));<BR> dc.SelectObject(&m_whitePen);<BR> dc.Rectangle(0,0,150,150);<BR> // 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> CClientDC dc(this); ----->CPaintDC dc(this);<BR> <BR> // TODO: Add your message handler code here<BR> CRect rect;<BR> GetClientRect(&rect);<BR> dc.FillSolidRect(rect,RGB(0,0,0));<BR> dc.SelectObject(&m_whitePen);<BR> dc.Rectangle(0,0,150,150);<BR> // 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 + -
显示快捷键?