【WINCE】有关位图按钮的问题

拖杀猪刀的 2011-06-20 09:16:19
我在WINCE里做了两个位图按钮A和B,在点击A后再点击B的时候,发现A的位置会闪下,后来用了killfocus之类的也不管用,查到最后我发现在点击B钮后,在A钮的区域会被刷成白色,所以就导致了A钮会闪一下,请问各位大侠这个问题该怎么解决呢?或者有没有办法在点击B钮的时候不让系统在A钮区域刷成白色呢?
...全文
82 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leckun 2011-08-09
  • 打赏
  • 举报
回复
有用!谢谢!
拖杀猪刀的 2011-06-22
  • 打赏
  • 举报
回复
呵呵,是系统默认的背景画刷没有选择为空画刷~~~

解决办法如下,响应WM_CTLCOLOR消息:

HBRUSH CXXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor == CTLCOLOR_BTN)
{
hbr = (HBRUSH)GetStockObject(NULL_BRUSH);
}
return hbr;
}
yf882 2011-06-22
  • 打赏
  • 举报
回复
是OnEraseBackGround的问题吗
当我遇上-你 2011-06-21
  • 打赏
  • 举报
回复
闪烁是因为系统刷新了背景,背景色和前景色反差大,所以闪烁,LZ怎么解决的啊?和大家分享下
QQ515311445 2011-06-21
  • 打赏
  • 举报
回复
用双缓冲,这是一个很常见的问题
拖杀猪刀的 2011-06-21
  • 打赏
  • 举报
回复
呵呵,我一直都是用memDC的,不过这不是这个问题的原因。

问题在今天我已经解决了,不过还是谢谢楼上的回答~~~
拖杀猪刀的 2011-06-20
  • 打赏
  • 举报
回复
补充一下:用的类继承于CButton类

19,503

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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