zoukankan      html  css  js  c++  java
  • 颜色设置 OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 的用法

    OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

    MFC类库提供了CWnd::OnCtlColor函数,在工作框架的子窗口被重画时将调用该成员函数.因此可以重载WM_CTLCOLOR消息的响应函数.此函数的原型:

    afx_msg HBRUSH OnCtlColor(

       CDC* pDC,

       CWnd* pWnd,

       UINT nCtlColor

    );

    参数分析:

    pDC     包含了子窗口的显示设备环境的指针。可能是临时的。

    pWnd     包含了要求颜色的控件的指针。可能是临时的。

    nCtlColor  包含了下列值,指定了控件的类型:

    · CTLCOLOR_BTN       按钮控件

    · CTLCOLOR_DLG     对话框

    · CTLCOLOR_EDIT     编辑控件

    · CTLCOLOR_LISTBOX  列表框控件

    · CTLCOLOR_MSGBOX  消息框

    · CTLCOLOR_SCROLLBAR   滚动条控件

    · CTLCOLOR_STATIC   静态控件

     返回值:

      返回一个句柄是控制背景的画刷

    备注:

     

     

    个人使用

    添加私有变量 BRUSH m_brush,之后

    重载WM_CTLCOLOR消息的响应函数

    【程序实现】

    1.假设你有一个CTextDialog, 你有了一个STATIC的控件,ID为IDC_STATIC1

     

    HBRUSH CTextDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
    	HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
    
    	// TODO:  在此更改 DC 的任何特性
    	if (nCtlColor==CTLCOLOR_STATIC)
    
    	{    
    		pDC-> SetTextColor(RGB(255,0,0)); //字体颜色
    		pDC-> SetBkColor(RGB(0, 0, 255)); //字体背景色
    
    	}
    	// TODO:  如果默认的不是所需画笔,则返回另一个画笔
    	return hbr;
    }
    

     

    备注:

    BLACK_BRUSH:黑色

    WHITE_BRUSH:白色

    GRAY_BRUSH:灰色

    NULL_BRUSH:透明

    HOLLOW_BRUSH:透明

    TRANSPARENT :透明

     

     待完善

    http://msdn.microsoft.com/en-us/library/0wwk06hc%28v=VS.80%29.aspx

    http://blog.sina.com.cn/s/blog_7d1dc9de010115uu.html

     

     

  • 相关阅读:
    JAVA BASE64
    Mysql Index extends优化
    JAVA异步加回调的例子
    TCP长连接和短连接的区别
    浅析RPC概念框架
    MySQL Index Merge Optimization
    一简单的RPC实例(Java)
    return语句的用法
    java中对象和对象的引用
    UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
  • 原文地址:https://www.cnblogs.com/gaoquanning/p/3028317.html
Copyright © 2011-2022 走看看