MFC使用SkinH皮肤之后如何再自绘控件?

HerofH_ 2020-09-09 10:30:28
为什么使用了SkinH给界面添加皮肤之后,就不能再去改变控件的字体颜色和背景颜色呢?我尝试在OnCtlColor函数中去绘制某个控件的字体颜色和背景颜色,发现并没有任何变化,不使用皮肤时就是有效的,请问如何在使用皮肤的情况下再对控件进行绘制呢?
HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: 在此更改 DC 的任何特性
if (pWnd->GetDlgCtrlID() == IDC_EDIT){
pDC->SetTextColor(RGB(255,255,0));
pDC->SetBkColor(RGB(0, 0, 0));
return CreateSolidBrush(RGB(0, 0, 0));
}

// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
...全文
192 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
psbeond 2020-09-24
  • 打赏
  • 举报
回复
绘制被界面库接管了。
cbzjzsb123 2020-09-09
  • 打赏
  • 举报
回复
改不了了,用的SkinH你所使用的自绘一切都会失效。不如自己学习使用一下开源界面库soui,效果比这个皮肤库还好

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧