CDialogEx对话框 .

 

对话框是MFC中常用的窗口之一,而MFC对话框的默认的样式在很多应用中都显得很单调,如何对对话框的样式和风格进行修改是很多开发者需要面临的问题,本文从MFC的CDialog派生出自己的对话框样式,给出了很多改变对话框样式的函数,通过调用这些函数,就可以很好的改变对话框的各种风格。

 

主要的函数有:

 

//设置背景刷

void SetDlgBKBrush( CBrush* pBrush );

 

//设置背景颜色

void SetDlgBKColor( COLORREF clrBk );

 

//设置对话框字体

void SetFont( CFont* pFont );

 

//这只标题栏文字的位置,CAPTIONTEXT_LEFT,CAPTIONTEXT_CENTER,CAPTIONTEXT_RIGHT

void SetCaptinTextPosition(int positionType);

 

//设置标题文字的颜色,激活状态,非激活状态

void SetCaptionTextColor(COLORREF clrActiveCaptionText,COLORREF clrInactiveCaptionText);

 

//设置标题栏颜色,激活和非激活状态

void SetCaptionBarColor(COLORREF clrActiveCaptionBar,COLORREF clrInactiveCaptionBar);

 

//设置边框的位图,参数为各个边框图的路径

BOOL SetBorderBmp(LPCTSTR lpbmpLeft,LPCTSTR lpbmpRight,LPCTSTR lpbmpBottom)

 

//设置边框的位图,参数为各个边框图的句柄

BOOL SetBorderBmp(HBITMAP hbmpLeft,HBITMAP hbmpRight,HBITMAP hbmpBottom)

 

//设置标题栏上各个按钮的位图,给出路径

BOOL SetCaptionBtnBmp(CStringArray& strArrBtnClose,CStringArray& strArrBtnMin,CStringArray& strArrBtnMax)

 

//设置标题栏上各个按钮的位图,给出位图句柄指针

BOOL SetCaptionBtnBmp(HBITMAP* hbmpBtnClose,HBITMAP* hbmpBtnMin,HBITMAP* hbmpBtnMax, int nElement)

 

//设置标题栏的位图,给出位图句柄

BOOL SetCaptionBmp(HBITMAP hbmpACaption,HBITMAP hbmpNCaption)

 

//设置标题栏的位图,给出位图路径

BOOL SetCaptionBmp(LPCTSTR lpszACaption,LPCTSTR lpszNCaption)

 

//设置对话框的各边界的颜色

void    SetBorderColor(COLORREF clrLeft,COLORREF clrTop,COLORREF clrRight, COLORREF clrBottom);

 

从上面可以看出,主要包括有:修改对话框的背景颜色,标题栏的颜色,标题栏的位图,标题栏字体的位置和颜色,包括激活和非激活状态,对话框边界的颜色,对话框字体等。

 

SetCaptionBarColor(RGB(255,0,0),RGB(0,255,255));//激活状态下标题栏颜色RGB(255,0,0)

SetCaptionTextColor(RGB(255,255,0),RGB(0,255,255));//激活状态下标题栏文本颜色RGB(255,255,0)

SetCaptinTextPosition(CAPTIONTEXT_CENTER);//标题栏文本的位置

SetDlgBKColor(RGB(255,0,255));//背景颜色RGB(255,0,255)

//边界颜色,左红色,上RGB(0,255,0),右RGB(255,255,0),底RGB(0,255,255)

SetBorderColor(RGB(255,0,0),RGB(0,255,0),RGB(255,255,0),RGB(0,255,255));

 

 扩展对话框样式

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值