65.9K
CodeProject 正在变化。 阅读更多。
Home

CXP GROUPBOX -- XP 风格的组框和窗口风格的组框

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.89/5 (30投票s)

2003年12月3日

1分钟阅读

viewsIcon

185568

downloadIcon

11534

这个类允许你创建 XP 风格的分组框和窗口风格的分组框。

Sample Image - xpgroupbox.jpg

引言

最近,我在编写一个应用程序。我需要 XP 风格的分组框和一个窗口风格的分组框。我做了一些研究,但没有找到它。所以我决定自己编写。

如何使用它

我从 CButton 派生了类 CXPGroupBox。它易于使用。在对话框资源编辑器中,像往常一样添加一个分组框,并为该分组框指定一个 ID。然后使用向导创建成员来链接该分组框。请记住,将类别选择为“控件”,变量类型选择为 CButton

然后转到对话框头文件并添加

#include "XPGroupBox.h" 

并且还将控件类型 CButton 更改为 CXPGroupBox。例如,更改

CButton m_frmXPGroupBox;

to

CXPGroupBox m_frmXPGroupBox;

然后在对话框类的 CPP 文件中,在 OnInitDialog() 函数中,添加分组框的初始化代码。在演示文件中,它显示

  m_frmWin.SetXPGroupStyle(CXPGroupBox::XPGB_WINDOW)
          .SetBackgroundColor(RGB(201, 201, 151), RGB(255, 255, 204)) 
          .SetFontBold(TRUE);

 m_frmNormal.SetCatptionTextColor(RGB(16,140,231))
      .SetFontBold(TRUE);

m_frmWin 是新的窗口风格分组框,看起来像一个窗口,而 m_frmNormal 是 XP 风格的分组框。

享受吧。

类函数列表

virtual CXPGroupBox& SetBorderColor(COLORREF clrBorder);
virtual CXPGroupBox& SetCatptionTextColor(COLORREF clrText);
virtual CXPGroupBox& SetBackgroundColor(COLORREF clrBKClient);
virtual CXPGroupBox& SetBackgroundColor(COLORREF clrBKTilte,  
                                COLORREF clrBKClient);
virtual CXPGroupBox& SetXPGroupStyle(XPGroupBoxStyle eStyle); 

virtual CXPGroupBox& SetText(LPCTSTR lpszTitle);
virtual CXPGroupBox& SetFontBold(BOOL bBold);
virtual CXPGroupBox& SetFontName(const CString& strFont, 
                                BYTE byCharSet = ANSI_CHARSET);
virtual CXPGroupBox& SetFontUnderline(BOOL bSet);
virtual CXPGroupBox& SetFontItalic(BOOL bSet);
virtual CXPGroupBox& SetFontSize(int nSize);
virtual CXPGroupBox& SetFont(LOGFONT lf);

在类中,你可以设置字体属性,如字体名称、颜色、大小、粗体、斜体等。你还可以更改窗口风格分组框和 XP 风格分组框的背景颜色。如果你更改分组框的背景颜色,你必须使分组框中控件的样式透明。否则会很难看。:)

历史

  • 2004年4月21日 - 更新了源代码和演示
© . All rights reserved.