|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
楼主做了个小应用,里面有界面A和界面BC,界面A是个总览,需要显示界面BC的一部分(用的picturecontrol确定位置,movewindow和SetWindowRgn实现展示部分窗口);同时我对界面A,B,C做了背景色和控件字体(OnPaint和OnCtlColor)重绘,这在B,C中显示正常,但是放在A中static控件就不见了?只有不断刷新数据的edit控件才能正常显示,static控件和不刷新数据的edit控件(鼠标扫过去会显示)就看不见了。
如图:(发现等级不够,不能发图。。只能这样描述了)
楼主感觉和界面刷新相关,有没有知道异形窗口和界面刷新的大佬来教教菜鸟。
ABC界面均有这些代码:
OnPaint中:
CPaintDC dc(this); // device context for painting
CRect rect;
GetClientRect(&rect);
dc.FillSolidRect(&rect, MAINCOLOR);
CDialog::OnPaint();
OnCtlColor中:
HBRUSH CChild2Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何特性
if (nCtlColor == CTLCOLOR_STATIC)
{
pDC->SetTextColor(TEXTCOLOR);
pDC->SetBkMode(TRANSPARENT);
hbr = (HBRUSH)m_bgBrush.GetSafeHandle();
}//修改STATIC控件的背景与对话框一致
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
在线等,需要什么信息都可以。 |
|