• 您的位置我爱Aspx >> VC.Net >> <b>如何在VC中改变控件的背景色</b>
  • <b>如何在VC中改变控件的背景色</b>

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:13:06  关键字:
  • 如何在VC中改变控件的背景色

    在VC编程中要改变控件(诸如CView, CFrameWnd, or CWnd等)的背景色可通过处理特定的消息来实现。但如果想改变按钮的颜色,就只能使用自绘制的按钮(也可以用位图按钮,此处未做说明)而不能通过OnCtlColor()改变。

    一、在一个MFC应用程序中,要改变控件的背景色可通过重载OnCtlColor()函数来实现。方法是在该函数中设置所需颜色后再返回一个画刷句柄便可重绘控件背景色。OnCtlColor()函数对于控件背景色的处理是通过捕捉相应的控件消息来实现的。常用的此类消息有:

    CTLCOLOR_DLG 对话框

    CTLCOLOR_EDIT 编辑框

    CTLCOLOR_LISTBOX 列表框

    CTLCOLOR_MSGBOX 消息框

    CTLCOLOR_SCROLLBAR 滑动条

    CTLCOLOR_STATIC 静态文本框、矩形等。

    以下示例代码说明如何更改以上控件的背景色:

    //CmyDialog.h定义

    class CMyDialog : public Cdialog //派生自己的对话框类

    {

    ……..

    // Implementation

    protected:

    // Generated message map functions

    //{{AFX_MSG(CMyDialog)

    afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);

    …….

    //}}AFX_MSG

    DECLARE_MESSAGE_MAP()

    };

    //CmyDialog.cpp 定义

    ……

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:<b>平台+插件软件设计思想及基于COM的原型实现</b>
    下一篇:<b>用Visual C++实现带阴影弹出窗口的技术</b>
  • 相关文章