VC利用MFC写界面,当单击一个按钮弹出一个对话框,同时按钮变色,如蓝色,关闭弹窗后又恢复,程序怎么写

我已经用GetDlgItem(IDOK)->EnableWindow(FALSE)实现了按钮点击后变灰,但是本来按钮就是灰色的,也没有对比效果

你说的是按钮的自定义皮肤吧?我用VC++写了个自定义皮肤的按钮,希望能给你一些参考,按钮皮肤是PNG格式的图片。
http://blog.csdn.net/renstarone/article/details/11177051
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-12
ON_WM_CTLCOLOR() 消息 重绘按钮颜色
第2个回答  2013-09-12
重载一下CButton类,让后自己在里面写,想让按钮成什么样子就什么样子
第3个回答  2013-09-12
覆盖button类
第4个回答  2013-09-12
我也遇到过同样的问题。
没变化也没有问题,只要是你要的灰显状态就可以了,其实不一定每个操作都一定要看出变化的,个人观点。追问

GetDlgItem(IDOK)->EnableWindow(FALSE)这个函数不就实现了灰显效果了,可是和没有灰显效果的一样。老板要求按下去按钮要有明显的颜色变化,这个你做过没

追答

IDOK是要灰显的空间ID吧?

加上这句试试 UpdateData(false);或UpdateData(true);
不行的话自建一个控件再试试。

刚刚网上查的:当你使用了ClassWizard建立了控件和变量之间的联系后:当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用 UpdateData(FALSE);如果你希望知道用户在对话框中到底输入了什么,就应该在访问变量前调用UpdateData(TRUE)。

本回答被提问者采纳
相似回答
大家正在搜