创建了一个Dialog程序,上面有个静态文本控件sta,我在想在程序一运行的时候,用一个画刷在sta上显示一种颜色,但是程序运行时现场不出来,如果程序后用消息响应绘制就可以,这是为什么呢?如何解决?相关代码如下:
BOOL Ctest2Dlg::OnInitDialog()
{
//.............
m_pColorSta = (CStatic*)GetDlgItem(IDC_STATIC_TEST);
m_pColorDC = new CClientDC(m_pColorSta);
m_pColorSta->GetClientRect(&m_rect);
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}void Ctest2Dlg::OnPaint()
{
//...................................................
//不行
CBrush brush(RGB(0,0,255));
m_pColorDC->FillRect(&m_rect,&brush);
}//这样可以
void Ctest2Dlg::OnOK()
{
CBrush brush(RGB(0,0,255));
m_pColorDC->FillRect(&m_rect,&brush);
}
BOOL Ctest2Dlg::OnInitDialog()
{
//.............
m_pColorSta = (CStatic*)GetDlgItem(IDC_STATIC_TEST);
m_pColorDC = new CClientDC(m_pColorSta);
m_pColorSta->GetClientRect(&m_rect);
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}void Ctest2Dlg::OnPaint()
{
//...................................................
//不行
CBrush brush(RGB(0,0,255));
m_pColorDC->FillRect(&m_rect,&brush);
}//这样可以
void Ctest2Dlg::OnOK()
{
CBrush brush(RGB(0,0,255));
m_pColorDC->FillRect(&m_rect,&brush);
}
解决方案 »
- CWebBrowser如何与加载的flash通信?
- 在做书上的一个加密例子过程中,但如何能让api函数CryptEncrypt 加密后的密文和原文长度一样?
- 请问如何在对话框客户区画一个旋转的三角形?
- ListCtrl控件使用问题。帮忙解决。
- 在线讨论: 如何调用WDM驱动程序进行硬件操作!!
- 请问如何让自己的应用程序响应Ctrl+TAB?
- 怪!百思不得其解!
- 请问为何我的程序在Release版本下出错?
- 怎么调用outlook并且把收信人地址和附件都设置好呢!(在线等待)
- 求大侠指教:vc怎么获得ajax网页的完整html代码
- 请教:RichEdit控件中如何显示不同字体的文字?
- 这是VC2008的bug么?
OnPaint后应该基类还会有刷新处理,你的填充又会被基类的处理给覆盖掉。