UI高手留步 :为什么我的EDIT框重新写时,颜色不能重新完全覆盖?(在线等)

aetherstone 2005-08-04 03:47:28
我有一个对话框:
甲事件到来时,我输出一个提示 SetDlgItemText,然后再 OnCtlColor里
pDC->SetBkMode( OPAQUE );
pDC->SetBkColor( m_clrRemoteDBState );
static HBRUSH hbrEdit = ::CreateSolidBrush(m_clrRemoteDBState);
return hbrEdit;
重新置编辑框的颜色,可以将整个edit用相应颜色填满
乙事件到来时,同样,SetDlgItemText一个信息,不过我用另一种颜色去添edit,但只在有文字的地方改变为新颜色,其他地方颜色不变,

为什么只有第一次可以?如何改?
谢谢.



...全文
105 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sandy_zhang 2005-08-09
关注,我也遇到这样的问题
回复
aetherstone 2005-08-09
我已经自己解决了,继承CEdit派生一个类,来完成这个功能,参与的都有分,分不多,别闲少。呵呵
明天结贴
回复
province_ 2005-08-08
要使已经输入的文字背景色变化,你必须自己用TEXTOUT重新输出这段文字。
回复
aetherstone 2005-08-08
TO kenskens :

甲乙事件是相对的,当乙事件先到是,也能划出相应的颜色,肯定在同一个作用域中,除第一次正常外,其它 “SetDlgItemText一个信息,不过我用另一种颜色去添edit,但只在有新的文字的地方改变为新颜色,其他地方颜色不变,还是第一次的颜色“


TO lixiaosan:
如何置透明色?谢谢!
回复
ronglisheng 2005-08-08
其它地方用空格补的试试看
回复
kenskens 2005-08-04
乙事件到来时,画刷是否还有效,在同一个作用域中吗?
回复
lixiaosan 2005-08-04
设置透明再设置颜色试试
回复
aetherstone 2005-08-04
不行呀
回复
vcmute 2005-08-04
Invalidate一下Edit?
回复
相关推荐
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2005-08-04 03:47
社区公告
暂无公告