hkq123 发表于 2022-11-23 15:51:29

求助:static控件设置字体颜色和背景色后在不同界面一些显示一些不显示

楼主做了个小应用,里面有界面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;
}

在线等,需要什么信息都可以。

hkq123 发表于 2022-11-23 15:51:54

{:5_102:}{:5_102:}{:5_102:}{:5_102:}{:5_102:}{:5_102:}{:5_102:}{:5_102:}DDD
页: [1]
查看完整版本: 求助:static控件设置字体颜色和背景色后在不同界面一些显示一些不显示