OnCtlColor在加载皮肤后无效 有什么替代方法吗

s871148319 2013-12-23 11:07:21
我想改变编辑框字体,但是加了皮肤之后OnCtlColor无效,听说皮肤是在OnCtlColor之后调用。有没有加载皮肤单独改某一控件的方法。
我使用的是Skinsharp 例子只有加载皮肤 没有单独修改的例子, 我只要修改其中一个Edit就行。网上直接用皮肤带的 我看了SkinH的头文件 设置字体颜色函数是SkinH_SetForeColor,但这应该放在哪? OnPaint 初始化各种地方都放了都没作用,应该怎么用? 或者有没有其他方法在加载皮肤后还能改
...全文
309 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2014-02-15
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
encoderlee 2014-02-15
  • 打赏
  • 举报
回复
Skin#是皮肤库,不是界面库,这类的皮肤库存在这样的局限性,所以应用并不广泛。 但Skin#也有皮肤编辑器,你可以制作自己的皮肤文件.she再加载,就能实现自定义效果了
s871148319 2014-01-02
  • 打赏
  • 举报
回复
再求 卸载皮肤后再用CDC 重绘为何还是没效果
s871148319 2013-12-31
  • 打赏
  • 举报
回复
继续求 Skin#卸载皮肤后重绘不起作用
s871148319 2013-12-27
  • 打赏
  • 举报
回复
引用 5 楼 bjtbjt 的回复:
自己进行dc重绘。
怎么绘 除了OnCtlColor和OnPaint 里用pDC的方法还有吗, 我卸载皮肤后重载这两个函数重绘没效。 如果一开始不装皮肤就有效,可我其他控件想要皮肤。
s871148319 2013-12-26
  • 打赏
  • 举报
回复
没人会吗
5t4rk 2013-12-26
  • 打赏
  • 举报
回复
自己进行dc重绘。
今际的观察者 2013-12-26
  • 打赏
  • 举报
回复
求解 Skin#没有给为CEdit重绘的函数
s871148319 2013-12-25
  • 打赏
  • 举报
回复
似乎我必须在OnCtlColor卸载皮肤才有效,但是卸载完后设置不了字体颜色 应该怎么做
s871148319 2013-12-24
  • 打赏
  • 举报
回复
看了下忘了SkinH_SetForeColor只对组合框复选框等有用。但是用皮肤库提供的SkinH_DetachEx在OnCtlColor卸载Edit的皮肤,虽然皮肤不在了但还是无法设字体颜色 OnCtlColor里的代码

 if(pWnd->GetDlgCtrlID()== IDC_EDIT1)

      {
		   SkinH_DetachEx(GetDlgItem(IDC_EDIT1)->GetSafeHwnd());

           pDC->SetTextColor(RGB(255,0,0)); //文字颜色  

           pDC->SetBkColor(RGB(23, 24, 50));

           pDC->SetBkMode(TRANSPARENT);//透明
		 
		   //return (HBRUSH)::GetStockObject(BLACK_BRUSH);  
           return (HBRUSH) m_brush.GetSafeHandle();

       }

15,978

社区成员

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

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