WM_CTRLCOLOR
2015-07-30 10:06
295 查看
CWnd::OnCtlColor
afx_msg HBRUSH OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor );
返回值:OnCtlColor必须返回一个刷子句柄,该刷子将被用于画出控件的背景。
参数:
说明:
当要画出一个子控件时,框架就调用这个成员函数。多数控件将这个消息发送到它们的父窗口(通常是一个对话框),为使用正确的颜色画出控件而准备pDC。
要改变文本的颜色,使用要求的红、绿、蓝色值(RGB)调用SetTextColor成员函数。
要改变单行编辑控件的背景颜色,在CTLCOLOR_EDIT和CTLCOLOR_MSGBOX消息代码中设置刷子句柄,并在响应CTLCOLOR_EDIT的代码中调用CDC::SetBkColor函数。
不会为下拉组合框中的列表框调用OnCtlColor函数,因为下拉列表框实际上是组合框的子窗口,而不是窗口的子窗口。要改变下拉列表框的颜色,创建一个CcomboBox,在重载的OnCtlColor中的nCtlColor参数中检查CTLCOLOR_LISTBOX。在这个处理函数中,为设置文本的背景必须使用SetBkColor成员函数。
注意:
框架调用这个成员函数以允许你的应用程序处理一个Windows消息。传递给你的成员函数的参数反映了接收到消息时框架接收到的参数。如果你调用了这个函数的基类实现,则该实现将使用最初传递给消息的参数(而不是你提供给这个函数的参数)。
这个是响应WM_CTRLCOLOR颜色;
这个函数是在对话框创建之后然后创建控件,
if(pWnd == IDC_...)
{
pdc->SetTextColor();
pdc->SetBkColor();//SDI中设置背景色;
pdc->SetBkMode();
CDC::SetBkMode
int SetBkMode(int nBkMode );
返回值:背景模式的前一次取值。
参数:
说明:
设置背景模式。背景模式决定了在绘制文本、阴影画刷、带风格的直线时是否将绘图表面上已存在的背景色覆盖。
CDC::SetBkColor
virtual COLORREF SetBkColor(COLORREF crColor);
返回值:背景色RGB值的前一次取值。如果出错,则返回0x80000000。
参数
crColor 指定新的背景色。
说明:
把当前背景色设置为指定的颜色。如果背景模式是OPAQUE(不透明),系统使用背景色填充行间和字符单元的背景。当位图在彩色和黑白设备上下文间转换时,系统使用背景色。如果设备不能显示指定颜色,系统将背景色设成与之最相近的物理色。
}
afx_msg HBRUSH OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor );
返回值:OnCtlColor必须返回一个刷子句柄,该刷子将被用于画出控件的背景。
参数:
pDC | 包含了子窗口的显示设备环境的指针。可能是临时的。 | |||||||||||||||||||||
PWnd | 包含了要求颜色的控件的指针。可能是临时的。 | |||||||||||||||||||||
NCtlColor | 包含了下列值,指定了控件的类型:
|
当要画出一个子控件时,框架就调用这个成员函数。多数控件将这个消息发送到它们的父窗口(通常是一个对话框),为使用正确的颜色画出控件而准备pDC。
要改变文本的颜色,使用要求的红、绿、蓝色值(RGB)调用SetTextColor成员函数。
要改变单行编辑控件的背景颜色,在CTLCOLOR_EDIT和CTLCOLOR_MSGBOX消息代码中设置刷子句柄,并在响应CTLCOLOR_EDIT的代码中调用CDC::SetBkColor函数。
不会为下拉组合框中的列表框调用OnCtlColor函数,因为下拉列表框实际上是组合框的子窗口,而不是窗口的子窗口。要改变下拉列表框的颜色,创建一个CcomboBox,在重载的OnCtlColor中的nCtlColor参数中检查CTLCOLOR_LISTBOX。在这个处理函数中,为设置文本的背景必须使用SetBkColor成员函数。
注意:
框架调用这个成员函数以允许你的应用程序处理一个Windows消息。传递给你的成员函数的参数反映了接收到消息时框架接收到的参数。如果你调用了这个函数的基类实现,则该实现将使用最初传递给消息的参数(而不是你提供给这个函数的参数)。
这个是响应WM_CTRLCOLOR颜色;
这个函数是在对话框创建之后然后创建控件,
if(pWnd == IDC_...)
{
pdc->SetTextColor();
pdc->SetBkColor();//SDI中设置背景色;
pdc->SetBkMode();
CDC::SetBkMode
int SetBkMode(int nBkMode );
返回值:背景模式的前一次取值。
参数:
nBkMode | 指定要设置的模式,可为下列值之一:
|
设置背景模式。背景模式决定了在绘制文本、阴影画刷、带风格的直线时是否将绘图表面上已存在的背景色覆盖。
CDC::SetBkColor
virtual COLORREF SetBkColor(COLORREF crColor);
返回值:背景色RGB值的前一次取值。如果出错,则返回0x80000000。
参数
crColor 指定新的背景色。
说明:
把当前背景色设置为指定的颜色。如果背景模式是OPAQUE(不透明),系统使用背景色填充行间和字符单元的背景。当位图在彩色和黑白设备上下文间转换时,系统使用背景色。如果设备不能显示指定颜色,系统将背景色设成与之最相近的物理色。
}
相关文章推荐
- 使用button标签让文字垂直水平居中
- Hibernate延迟加载与opensessioninviewFilter
- 【LintCode】 Best Time to Buy and Sell Stock III 买卖股票的最佳时机 III
- RT5350 安装 读卡器驱动
- 数据结构——树的简单操作集合
- Matlab--随机变量的数字特征
- ACM寻找连续的数的乘积最大值
- 企业支付宝账号开发接口教程--JAVA-UTF-8(实际操作完善中...SpringMVC+JSP)
- CSS 伪类/元素
- 如何调试报表插件
- RHEL十六(使用VIM编辑器)
- Linux命令详解 -- alias
- HDU 5316 Magician(2015多校第三场 线段树)
- 安卓欢迎页和phonegap安卓欢迎页制作
- HDU 5323(2015多校3)-Solve this interesting problem(dfs+剪枝)
- HDOJ-2120 Ice_cream's world I(包含中文题意)
- [LeetCode] 038. Count and Say (Easy) (C++/Python)
- 计算性质
- RHEL十五(通过GREP使用正则表达式)
- 基于CLM(Constrained local model)人脸点检测算法