需求:
改变button按钮背景颜色问题描述:
1 有一个parent对话框资源
2 有一个child对话框资源
3 button资源在child对话框资源上
4 用child对话框的消息OnCtlColor,代码如下
child::OnCtlColor
{
if (nCtlColor == CTLCOLOR_BTN )
{
//list_log字体色 & 字体背景色
pDC->SetTextColor(RGB(14,14,245));
pDC->SetBkColor(RGB(235 ,235 ,235 ));
hbr =CreateSolidBrush(RGB(235 ,235 ,235 ));
}
return hbr;
}
无效果5 想到给button资源建个类MyButton(继承CButton,然后用OnEraseBkgnd画背景色),却发现无法关联资源。用 类向导,在选择 父类 为 CButton的时候,VC提示,CButton这个类不需要对话框资源。硬着头皮弄出来个MyButton类,建了个对象m_button,在 childDlg中m_button.SubClassDlgItem()关联资源,无效果,WM_BTNCLICK都响应不了。求解惑:
VC中有没有一个文件类似于Resource.h这样,将资源和对应的类关联起来?我在类向导里,将Object ID选button资源,className里面选childDlg,只有两个消息,一个单击,一个双击。className选MyButton,消息一大堆。
我在childDlg和MyButton里都有单击相应函数(函数都是用类向导添加的,并非手动),[color=#FF0000]但是程序对单击事件的响应是调用childDlg的响应函数,请问,为什么会这样?如果我想让对单击事件的响应是调用MyButton里的响应函数,应当怎样?/[color]
改变button按钮背景颜色问题描述:
1 有一个parent对话框资源
2 有一个child对话框资源
3 button资源在child对话框资源上
4 用child对话框的消息OnCtlColor,代码如下
child::OnCtlColor
{
if (nCtlColor == CTLCOLOR_BTN )
{
//list_log字体色 & 字体背景色
pDC->SetTextColor(RGB(14,14,245));
pDC->SetBkColor(RGB(235 ,235 ,235 ));
hbr =CreateSolidBrush(RGB(235 ,235 ,235 ));
}
return hbr;
}
无效果5 想到给button资源建个类MyButton(继承CButton,然后用OnEraseBkgnd画背景色),却发现无法关联资源。用 类向导,在选择 父类 为 CButton的时候,VC提示,CButton这个类不需要对话框资源。硬着头皮弄出来个MyButton类,建了个对象m_button,在 childDlg中m_button.SubClassDlgItem()关联资源,无效果,WM_BTNCLICK都响应不了。求解惑:
VC中有没有一个文件类似于Resource.h这样,将资源和对应的类关联起来?我在类向导里,将Object ID选button资源,className里面选childDlg,只有两个消息,一个单击,一个双击。className选MyButton,消息一大堆。
我在childDlg和MyButton里都有单击相应函数(函数都是用类向导添加的,并非手动),[color=#FF0000]但是程序对单击事件的响应是调用childDlg的响应函数,请问,为什么会这样?如果我想让对单击事件的响应是调用MyButton里的响应函数,应当怎样?/[color]
我在childDlg和MyButton里都有单击相应函数(函数都是用类向导添加的,并非手动),[color=#FF0000]但是程序对单击事件的响应是调用childDlg的响应函数,请问,为什么会这样?如果我想让对单击事件的响应是调用MyButton里的响应函数,应当怎样?/[color]你点击button的消息响应函数写到你的MyButton类中
2. 在按钮所在窗口中响应消息WM_DRAWITEM。