資源簡介
本源碼是使用MFC gdi+來實現對時鐘的繪制,這是我第一個使用GDI+來做的練手工程,希望在我的理解上給你幫助,學習到GDI+的技術,源碼每一個功能段都有注釋的。有助于看懂源碼。

代碼片段和文件信息
//?MainFrm.cpp?:?CMainframe?類的實現
//
#include?“stdafx.h“
#include?“TEST_NO1.h“
#include?“MainFrm.h“
#include?
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#endif
//?CMainframe
IMPLEMENT_DYNCREATE(CMainframe?CframeWndEx)
const?int??iMaxUserToolbars?=?10;
const?UINT?uiFirstUserToolBarId?=?AFX_IDW_CONTROLBAR_FIRST?+?40;
const?UINT?uiLastUserToolBarId?=?uiFirstUserToolBarId?+?iMaxUserToolbars?-?1;
BEGIN_MESSAGE_MAP(CMainframe?CframeWndEx)
ON_WM_CREATE()
ON_COMMAND(ID_VIEW_CUSTOMIZE?&CMainframe::OnViewCustomize)
ON_REGISTERED_MESSAGE(AFX_WM_CREATETOOLBAR?&CMainframe::OnToolbarCreateNew)
ON_COMMAND_RANGE(ID_VIEW_APPLOOK_WIN_2000?ID_VIEW_APPLOOK_WINDOWS_7?&CMainframe::OnApplicationLook)
ON_UPDATE_COMMAND_UI_RANGE(ID_VIEW_APPLOOK_WIN_2000?ID_VIEW_APPLOOK_WINDOWS_7?&CMainframe::OnUpdateApplicationLook)
ON_WM_TIMER()
END_MESSAGE_MAP()
static?UINT?indicators[]?=
{
ID_SEPARATOR???????????//?狀態行指示器
ID_INDICATOR_CAPS
ID_INDICATOR_NUM
ID_INDICATOR_SCRL
};
//?CMainframe?構造/析構
CMainframe::CMainframe()
{
//?TODO:?在此添加成員初始化代碼
theApp.m_nAppLook?=?theApp.GetInt(_T(“ApplicationLook“)?ID_VIEW_APPLOOK_VS_2008);
}
CMainframe::~CMainframe()
{
}
int?CMainframe::OnCreate(LPCREATESTRUCT?lpCreateStruct)
{
if?(CframeWndEx::OnCreate(lpCreateStruct)?==?-1)
return?-1;
BOOL?bNameValid;
//?基于持久值設置視覺管理器和樣式
OnApplicationLook(theApp.m_nAppLook);
if?(!m_wndMenuBar.Create(this))
{
TRACE0(“未能創建菜單欄\n“);
return?-1;??????//?未能創建
}
m_wndMenuBar.SetPanestyle(m_wndMenuBar.GetPanestyle()?|?CBRS_SIZE_DYNAMIC?|?CBRS_TOOLTIPS?|?CBRS_FLYBY);
//?防止菜單欄在激活時獲得焦點
CMFCPopupMenu::SetForceMenuFocus(FALSE);
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(theApp.m_bHiColorIcons???IDR_MAINframe_256?:?IDR_MAINframe))
{
TRACE0(“未能創建工具欄\n“);
return?-1;??????//?未能創建
}
CString?strToolBarName;
bNameValid?=?strToolBarName.LoadString(IDS_TOOLBAR_STANDARD);
ASSERT(bNameValid);
m_wndToolBar.SetWindowText(strToolBarName);
CString?strCustomize;
bNameValid?=?strCustomize.LoadString(IDS_TOOLBAR_CUSTOMIZE);
ASSERT(bNameValid);
m_wndToolBar.EnableCustomizeButton(TRUE?ID_VIEW_CUSTOMIZE?strCustomize);
//?允許用戶定義的工具欄操作:
InitUserToolbars(NULL?uiFirstUserToolBarId?uiLastUserToolBarId);
if?(!m_wndStatusBar.Create(this))
{
TRACE0(“未能創建狀態欄\n“);
return?-1;??????//?未能創建
}
m_wndStatusBar.SetIndicators(indicators?sizeof(indicators)/sizeof(UINT));
//?TODO:?如果您不希望工具欄和菜單欄可停靠,請刪除這五行
m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_wndMenuBar);
DockPane(&m_wndToolBar);
//?啟用?Visual?Studio?2005?樣式停靠窗口行為
CDockingManager::SetDockingMode(DT_SMART);
//?啟用?Visual?Studio?2005?樣式停靠窗口自動隱藏行為
EnableAutoHidePanes(CBRS_ALIGN_ANY);
//?啟用工具
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????11767??2017-10-24?09:13??TEST_NO1\TEST_NO1\MainFrm.cpp
?????文件???????1147??2017-10-23?17:50??TEST_NO1\TEST_NO1\MainFrm.h
?????文件???????3506??2017-10-23?17:41??TEST_NO1\TEST_NO1\ReadMe.txt
????.......?????67777??2009-08-31?02:31??TEST_NO1\TEST_NO1\res\TEST_NO1.ico
?????文件????????672??2017-10-23?17:41??TEST_NO1\TEST_NO1\res\TEST_NO1.rc2
????.......??????4710??2009-08-31?02:31??TEST_NO1\TEST_NO1\res\TEST_NO1Doc.ico
????I.A.SH.??????4096??2017-10-26?15:30??TEST_NO1\TEST_NO1\res\Thumbs.db
????.......??????1078??2009-08-31?02:31??TEST_NO1\TEST_NO1\res\Toolbar.bmp
????.......??????5816??2009-08-31?03:59??TEST_NO1\TEST_NO1\res\Toolbar256.bmp
?????文件???????1317??2017-10-23?17:41??TEST_NO1\TEST_NO1\Resource.h
?????文件????????141??2017-10-23?17:41??TEST_NO1\TEST_NO1\stdafx.cpp
?????文件???????1741??2017-10-23?17:44??TEST_NO1\TEST_NO1\stdafx.h
?????文件????????234??2017-10-23?17:41??TEST_NO1\TEST_NO1\targetver.h
?????文件???????5068??2017-10-23?17:46??TEST_NO1\TEST_NO1\TEST_NO1.cpp
?????文件????????664??2017-10-23?17:41??TEST_NO1\TEST_NO1\TEST_NO1.h
?????文件??????24810??2017-10-23?17:41??TEST_NO1\TEST_NO1\TEST_NO1.rc
?????文件???????6122??2017-10-23?17:41??TEST_NO1\TEST_NO1\TEST_NO1.vcxproj
?????文件???????2723??2017-10-23?17:41??TEST_NO1\TEST_NO1\TEST_NO1.vcxproj.filters
?????文件????????143??2017-10-23?17:41??TEST_NO1\TEST_NO1\TEST_NO1.vcxproj.user
?????文件???????2552??2017-10-23?17:41??TEST_NO1\TEST_NO1\TEST_NO1Doc.cpp
?????文件????????859??2017-10-23?17:41??TEST_NO1\TEST_NO1\TEST_NO1Doc.h
?????文件???????2635??2017-10-23?17:50??TEST_NO1\TEST_NO1\TEST_NO1View.cpp
?????文件???????1190??2017-10-23?17:48??TEST_NO1\TEST_NO1\TEST_NO1View.h
????.......??????7976??2009-08-31?03:59??TEST_NO1\TEST_NO1\UserImages.bmp
?????文件????????891??2017-10-23?17:41??TEST_NO1\TEST_NO1.sln
????..A..H.?????14848??2017-10-24?17:33??TEST_NO1\TEST_NO1.suo
?????目錄??????????0??2017-10-26?15:30??TEST_NO1\TEST_NO1\res
?????目錄??????????0??2017-10-26?15:30??TEST_NO1\TEST_NO1
?????目錄??????????0??2017-10-26?15:30??TEST_NO1
-----------?---------??----------?-----??----
............此處省略2個文件信息
評論
共有 條評論