| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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; 
}  
 
在线等,需要什么信息都可以。 |   
 
 
 
 |