資源簡介
VC輕松實現非客戶區按鈕示例及源碼
有時我們需要在非客戶區(例如:標題欄)添加按鈕,并對按鈕作出響應。為此我封裝了兩個類CNCButton和CNCButtonManager,CNCButton主要用于按鈕繪制,CNCButtonManager用于按鈕的管理并對非客戶區的消息進行處理

代碼片段和文件信息
//?MainFrm.cpp?:?implementation?of?the?CMainframe?class
//
#include?“stdafx.h“
#include?“titleButtonTest2.h“
#include?“MainFrm.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//?CMainframe
IMPLEMENT_DYNCREATE(CMainframe?CframeWnd)
BEGIN_MESSAGE_MAP(CMainframe?CframeWnd)
//{{AFX_MSG_MAP(CMainframe)
ON_BN_CLICKED(ID_BUTTON1?OnNcButton1Clicked)
ON_BN_CLICKED(ID_BUTTON2?OnNcButton2Clicked)
ON_BN_CLICKED(ID_BUTTON3?OnNcButton3Clicked)
ON_WM_CREATE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
static?UINT?indicators[]?=
{
ID_SEPARATOR???????????//?status?line?indicator
ID_INDICATOR_CAPS
ID_INDICATOR_NUM
ID_INDICATOR_SCRL
};
/////////////////////////////////////////////////////////////////////////////
//?CMainframe?construction/destruction
CMainframe::CMainframe()
{
}
CMainframe::~CMainframe()
{
}
int?CMainframe::OnCreate(LPCREATESTRUCT?lpCreateStruct)
{
if?(CframeWnd::OnCreate(lpCreateStruct)?==?-1)
return?-1;
if?(!m_wndToolBar.CreateEx(this?TBstyle_FLAT?WS_CHILD?|?WS_VISIBLE?|?CBRS_TOP
|?CBRS_GRIPPER?|?CBRS_TOOLTIPS?|?CBRS_FLYBY?|?CBRS_SIZE_DYNAMIC)?||
!m_wndToolBar.LoadToolBar(IDR_MAINframe))
{
TRACE0(“Failed?to?create?toolbar\n“);
return?-1;??????//?fail?to?create
}
if?(!m_wndStatusBar.Create(this)?||
!m_wndStatusBar.SetIndicators(indicators
??sizeof(indicators)/sizeof(UINT)))
{
TRACE0(“Failed?to?create?status?bar\n“);
return?-1;??????//?fail?to?create
}
//?TODO:?Delete?these?three?lines?if?you?don‘t?want?the?toolbar?to
//??be?dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
POINT?ptBtn1Offset?=?{120?10};
POINT?ptBtn2Offset?=?{20?32};
POINT?ptBtn3Offset?=?{190?10};
SIZE?sizeBtn1?=?{60?14};
SIZE?sizeBtn2?=?{16?14};
SIZE?sizeBtn3?=?{16?14};
m_NcButton1.Create(““?this->m_hWnd?ptBtn1Offset?sizeBtn1?ID_BUTTON1);
m_NcButton2.Create(““?this->m_hWnd?ptBtn2Offset?sizeBtn2?ID_BUTTON2);
m_NcButton3.Create(““?this->m_hWnd?ptBtn3Offset?sizeBtn3?ID_BUTTON3);
m_NcButton1.SetText(“VC知識庫“?“宋體“?12);
m_NcButton1.SetTooltip(“VC知識庫歡迎您!“);
m_NcButton2.SetButtonBitmap(IDB_PEN1?BTNBMP_NORMAL);
m_NcButton2.SetButtonBitmap(IDB_PEN2?BTNBMP_MOUSEOVER);
m_NcButton2.SetTooltip(“pen“);
m_NcButton3.SetButtonBitmap(IDB_PEN1?BTNBMP_NORMAL);
m_NcButton3.SetButtonBitmap(IDB_PEN2?BTNBMP_MOUSEOVER);
m_NcButton3.SetTooltip(“pen“);
m_NcButtonManager.AddButton(&m_NcButton1);
m_NcButtonManager.AddButton(&m_NcButton2);
m_NcButtonManager.AddButton(&m_NcButton3);
return?0;
}
BOOL?CMainframe::PreCreateWindow(CREATESTRUCT&?cs)
{
if(?!CframeWnd::PreCreateWindow(cs)?)
return?FALSE;
//?TODO:?Modify?the?Window?class?or?styles?here?by?modifying
//??the?CREATESTRUCT?cs
return?TRUE
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1848??2004-03-21?20:14??ti
?????文件????????693??2004-03-21?19:41??ti
?????文件????????218??2004-03-21?16:17??ti
?????文件???????1138??2004-03-21?16:22??ti
?????文件??????30600??2008-05-31?17:15??ti
?????文件???????2404??2008-05-31?18:32??ti
?????文件???????4389??2004-03-21?16:17??ti
?????文件????????557??2004-03-21?16:17??ti
?????文件???????1466??2004-03-21?16:17??ti
?????文件??????11912??2004-03-21?19:41??ti
?????文件???????1942??2004-03-21?16:17??ti
?????文件???????1585??2004-03-21?16:17??ti
?????文件???????2879??2004-03-21?16:17??ti
?????文件???????2051??2004-03-21?16:17??ti
?????文件????????376??2008-05-31?18:09??ti
?????文件????????376??2008-05-31?18:09??ti
?????文件???????1078??2004-03-21?16:17??ti
?????文件????????408??2004-03-21?16:17??ti
?????文件???????1078??2004-03-21?16:17??ti
?????文件???????1078??2004-03-21?16:17??ti
?????文件???????4452??2008-05-31?17:58??ti
?????文件???????2105??2008-05-31?17:58??ti
?????文件??????16327??2008-05-31?18:04??ti
?????文件???????2735??2004-03-21?20:11??ti
?????文件???????9537??2004-03-21?20:12??ti
?????文件????????173??2012-01-21?19:37??ti
?????文件???????2670??2012-02-10?17:38??ti
?????文件???????5372??2012-02-10?17:38??ti
?????目錄??????????0??2008-05-31?18:09??ti
?????目錄??????????0??2012-02-10?17:38??ti
............此處省略3個文件信息
評論
共有 條評論