鱼C论坛

 找回密码
 立即注册
查看: 444|回复: 1

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

[复制链接]
发表于 2022-11-23 15:51:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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;
}


在线等,需要什么信息都可以。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-11-23 15:51:54 | 显示全部楼层
DDD
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-30 18:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表