请教:初学问题
在对话框中,如何改变静态文本字的颜色或EDIT中字的颜色或EDIT中背景颜色,我把函数声明放到类的PUBLIC中,把程序中用的全局变量放在CPP程序的开头处,规范吗? 问题点数:50、回复次数:5Top
1 楼imhua(华弟)回复于 2003-02-05 00:03:46 得分 5
派生Top
2 楼kingcom_xu(冷羽)回复于 2003-02-05 00:11:47 得分 10
1.在对话框的onctlcolor中处理
2.不规范,在面向对象要尽可能消除全局变量..Top
3 楼kingcom_xu(冷羽)回复于 2003-02-05 00:18:29 得分 32
1.1
为你的对话框添加一个成员变量用来保存控件背景色的画刷
HBRUSH hbrush;
在对话框构造函数中建一个刷子:
hbrush=CreateSolidBrush(RGB(255,0,255));
在对话框析构函数中把这个GDI对象删除:
DeleteObject(hbrush)
1.2
在对话框中添加wm_ctlcolor的消息处理函数
HBRUSH CYourDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(pWnd->GetDlgCtrlID()==IDC_STATIC){
return hbrush;
}
return hbr;
}
上述代码将给ID为IDC_STATIC 的静态控件返回一个已初始化的画刷!
Top
4 楼kingcom_xu(冷羽)回复于 2003-02-05 00:18:39 得分 2
更多请看MSDNTop
5 楼liuhongyong(荒原困兽)回复于 2003-02-05 19:31:00 得分 1
KAO ,又来迟了。Top




