|
@@ -1,8 +1,9 @@
|
|
|
-
|
|
|
-// MainFrm.cpp : CMainFrame 类的实现
|
|
|
+锘�
|
|
|
+// MainFrm.cpp: CMainFrame 绫荤殑瀹炵幇
|
|
|
//
|
|
|
|
|
|
-#include "stdafx.h"
|
|
|
+#include "pch.h"
|
|
|
+#include "framework.h"
|
|
|
#include "CTSManager.h"
|
|
|
|
|
|
#include "MainFrm.h"
|
|
@@ -24,24 +25,25 @@ BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWndEx)
|
|
|
ON_COMMAND(ID_WINDOW_MANAGER, &CMainFrame::OnWindowManager)
|
|
|
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_OFF_2007_AQUA, &CMainFrame::OnApplicationLook)
|
|
|
- ON_UPDATE_COMMAND_UI_RANGE(ID_VIEW_APPLOOK_WIN_2000, ID_VIEW_APPLOOK_OFF_2007_AQUA, &CMainFrame::OnUpdateApplicationLook)
|
|
|
+ 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_SETTINGCHANGE()
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
static UINT indicators[] =
|
|
|
{
|
|
|
- ID_SEPARATOR, // 状态行指示器
|
|
|
+ ID_SEPARATOR, // 鐘舵€佽�鎸囩ず鍣�
|
|
|
ID_INDICATOR_CAPS,
|
|
|
ID_INDICATOR_NUM,
|
|
|
ID_INDICATOR_SCRL,
|
|
|
};
|
|
|
|
|
|
-// CMainFrame 构造/析构
|
|
|
+// CMainFrame 鏋勯€�/鏋愭瀯
|
|
|
|
|
|
-CMainFrame::CMainFrame()
|
|
|
+CMainFrame::CMainFrame() noexcept
|
|
|
{
|
|
|
- // TODO: 在此添加成员初始化代码
|
|
|
- theApp.m_nAppLook = theApp.GetInt(_T("ApplicationLook"), ID_VIEW_APPLOOK_VS_2005);
|
|
|
+ // TODO: 鍦ㄦ�娣诲姞鎴愬憳鍒濆�鍖栦唬鐮�
|
|
|
+ theApp.m_nAppLook = theApp.GetInt(_T("ApplicationLook"), ID_VIEW_APPLOOK_VS_2008);
|
|
|
}
|
|
|
|
|
|
CMainFrame::~CMainFrame()
|
|
@@ -54,33 +56,31 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
|
|
return -1;
|
|
|
|
|
|
BOOL bNameValid;
|
|
|
- // 基于持久值设置视觉管理器和样式
|
|
|
- OnApplicationLook(theApp.m_nAppLook);
|
|
|
|
|
|
CMDITabInfo mdiTabParams;
|
|
|
- mdiTabParams.m_style = CMFCTabCtrl::STYLE_3D_ONENOTE; // 其他可用样式...
|
|
|
- mdiTabParams.m_bActiveTabCloseButton = TRUE; // 设置为 FALSE 会将关闭按钮放置在选项卡区域的右侧
|
|
|
- mdiTabParams.m_bTabIcons = FALSE; // 设置为 TRUE 将在 MDI 选项卡上启用文档图标
|
|
|
- mdiTabParams.m_bAutoColor = TRUE; // 设置为 FALSE 将禁用 MDI 选项卡的自动着色
|
|
|
- mdiTabParams.m_bDocumentMenu = TRUE; // 在选项卡区域的右边缘启用文档菜单
|
|
|
+ mdiTabParams.m_style = CMFCTabCtrl::STYLE_3D_ONENOTE; // 鍏朵粬鍙�敤鏍峰紡...
|
|
|
+ mdiTabParams.m_bActiveTabCloseButton = TRUE; // 璁剧疆涓� FALSE 浼氬皢鍏抽棴鎸夐挳鏀剧疆鍦ㄩ€夐」鍗″尯鍩熺殑鍙充晶
|
|
|
+ mdiTabParams.m_bTabIcons = FALSE; // 璁剧疆涓� TRUE 灏嗗湪 MDI 閫夐」鍗′笂鍚�敤鏂囨。鍥炬爣
|
|
|
+ mdiTabParams.m_bAutoColor = TRUE; // 璁剧疆涓� FALSE 灏嗙�鐢� MDI 閫夐」鍗$殑鑷�姩鐫€鑹�
|
|
|
+ mdiTabParams.m_bDocumentMenu = TRUE; // 鍦ㄩ€夐」鍗″尯鍩熺殑鍙宠竟缂樺惎鐢ㄦ枃妗h彍鍗�
|
|
|
EnableMDITabbedGroups(TRUE, mdiTabParams);
|
|
|
|
|
|
if (!m_wndMenuBar.Create(this))
|
|
|
{
|
|
|
- TRACE0("未能创建菜单栏\n");
|
|
|
- return -1; // 未能创建
|
|
|
+ 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; // 未能创建
|
|
|
+ TRACE0("鏈�兘鍒涘缓宸ュ叿鏍廫n");
|
|
|
+ return -1; // 鏈�兘鍒涘缓
|
|
|
}
|
|
|
|
|
|
CString strToolBarName;
|
|
@@ -93,17 +93,17 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
|
|
ASSERT(bNameValid);
|
|
|
m_wndToolBar.EnableCustomizeButton(TRUE, ID_VIEW_CUSTOMIZE, strCustomize);
|
|
|
|
|
|
- // 允许用户定义的工具栏操作:
|
|
|
- InitUserToolbars(NULL, uiFirstUserToolBarId, uiLastUserToolBarId);
|
|
|
+ // 鍏佽�鐢ㄦ埛瀹氫箟鐨勫伐鍏锋爮鎿嶄綔:
|
|
|
+ InitUserToolbars(nullptr, uiFirstUserToolBarId, uiLastUserToolBarId);
|
|
|
|
|
|
if (!m_wndStatusBar.Create(this))
|
|
|
{
|
|
|
- TRACE0("未能创建状态栏\n");
|
|
|
- return -1; // 未能创建
|
|
|
+ TRACE0("鏈�兘鍒涘缓鐘舵€佹爮\n");
|
|
|
+ return -1; // 鏈�兘鍒涘缓
|
|
|
}
|
|
|
m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));
|
|
|
|
|
|
- // TODO: 如果您不希望工具栏和菜单栏可停靠,请删除这五行
|
|
|
+ // TODO: 濡傛灉鎮ㄤ笉甯屾湜宸ュ叿鏍忓拰鑿滃崟鏍忓彲鍋滈潬锛岃�鍒犻櫎杩欎簲琛�
|
|
|
m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
|
|
|
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
|
|
|
EnableDocking(CBRS_ALIGN_ANY);
|
|
@@ -111,67 +111,68 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
|
|
DockPane(&m_wndToolBar);
|
|
|
|
|
|
|
|
|
- // 启用 Visual Studio 2005 样式停靠窗口行为
|
|
|
+ // 鍚�敤 Visual Studio 2005 鏍峰紡鍋滈潬绐楀彛琛屼负
|
|
|
CDockingManager::SetDockingMode(DT_SMART);
|
|
|
- // 启用 Visual Studio 2005 样式停靠窗口自动隐藏行为
|
|
|
+ // 鍚�敤 Visual Studio 2005 鏍峰紡鍋滈潬绐楀彛鑷�姩闅愯棌琛屼负
|
|
|
EnableAutoHidePanes(CBRS_ALIGN_ANY);
|
|
|
|
|
|
- // 导航窗格将创建在左侧,因此将暂时禁用左侧的停靠:
|
|
|
+ // 瀵艰埅绐楁牸灏嗗垱寤哄湪宸︿晶锛屽洜姝ゅ皢鏆傛椂绂佺敤宸︿晶鐨勫仠闈�:
|
|
|
EnableDocking(CBRS_ALIGN_TOP | CBRS_ALIGN_BOTTOM | CBRS_ALIGN_RIGHT);
|
|
|
|
|
|
- // 创建并设置“Outlook”导航栏:
|
|
|
+ // 鍒涘缓骞惰�缃�€淥utlook鈥濆�鑸�爮:
|
|
|
if (!CreateOutlookBar(m_wndNavigationBar, ID_VIEW_NAVIGATION, m_wndTree, m_wndCalendar, 250))
|
|
|
{
|
|
|
- TRACE0("未能创建导航窗格\n");
|
|
|
- return -1; // 未能创建
|
|
|
+ TRACE0("鏈�兘鍒涘缓瀵艰埅绐楁牸\n");
|
|
|
+ return -1; // 鏈�兘鍒涘缓
|
|
|
}
|
|
|
|
|
|
- // 已创建 Outlook 栏,应允许在左侧停靠。
|
|
|
+ // 宸插垱寤� Outlook 鏍忥紝搴斿厑璁稿湪宸︿晶鍋滈潬銆�
|
|
|
EnableDocking(CBRS_ALIGN_LEFT);
|
|
|
EnableAutoHidePanes(CBRS_ALIGN_RIGHT);
|
|
|
|
|
|
- // 加载菜单项图像(不在任何标准工具栏上):
|
|
|
+ // 鍔犺浇鑿滃崟椤瑰浘鍍�(涓嶅湪浠讳綍鏍囧噯宸ュ叿鏍忎笂):
|
|
|
CMFCToolBar::AddToolBarForImageCollection(IDR_MENU_IMAGES, theApp.m_bHiColorIcons ? IDB_MENU_IMAGES_24 : 0);
|
|
|
|
|
|
- // 创建停靠窗口
|
|
|
+ // 鍒涘缓鍋滈潬绐楀彛
|
|
|
if (!CreateDockingWindows())
|
|
|
{
|
|
|
- TRACE0("未能创建停靠窗口\n");
|
|
|
+ TRACE0("鏈�兘鍒涘缓鍋滈潬绐楀彛\n");
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
m_wndFileView.EnableDocking(CBRS_ALIGN_ANY);
|
|
|
m_wndClassView.EnableDocking(CBRS_ALIGN_ANY);
|
|
|
DockPane(&m_wndFileView);
|
|
|
- CDockablePane* pTabbedBar = NULL;
|
|
|
+ CDockablePane* pTabbedBar = nullptr;
|
|
|
m_wndClassView.AttachToTabWnd(&m_wndFileView, DM_SHOW, TRUE, &pTabbedBar);
|
|
|
m_wndOutput.EnableDocking(CBRS_ALIGN_ANY);
|
|
|
DockPane(&m_wndOutput);
|
|
|
m_wndProperties.EnableDocking(CBRS_ALIGN_ANY);
|
|
|
DockPane(&m_wndProperties);
|
|
|
|
|
|
+ // 鍩轰簬鎸佷箙鍊艰�缃��瑙夌�鐞嗗櫒鍜屾牱寮�
|
|
|
+ OnApplicationLook(theApp.m_nAppLook);
|
|
|
|
|
|
- // 启用增强的窗口管理对话框
|
|
|
- EnableWindowsDialog(ID_WINDOW_MANAGER, IDS_WINDOWS_MANAGER, TRUE);
|
|
|
+ // 鍚�敤澧炲己鐨勭獥鍙g�鐞嗗�璇濇�
|
|
|
+ EnableWindowsDialog(ID_WINDOW_MANAGER, ID_WINDOW_MANAGER, TRUE);
|
|
|
|
|
|
- // 启用工具栏和停靠窗口菜单替换
|
|
|
+ // 鍚�敤宸ュ叿鏍忓拰鍋滈潬绐楀彛鑿滃崟鏇挎崲
|
|
|
EnablePaneMenu(TRUE, ID_VIEW_CUSTOMIZE, strCustomize, ID_VIEW_TOOLBAR);
|
|
|
|
|
|
- // 启用快速(按住 Alt 拖动)工具栏自定义
|
|
|
+ // 鍚�敤蹇�€�(鎸変綇 Alt 鎷栧姩)宸ュ叿鏍忚嚜瀹氫箟
|
|
|
CMFCToolBar::EnableQuickCustomization();
|
|
|
|
|
|
- if (CMFCToolBar::GetUserImages() == NULL)
|
|
|
+ if (CMFCToolBar::GetUserImages() == nullptr)
|
|
|
{
|
|
|
- // 加载用户定义的工具栏图像
|
|
|
+ // 鍔犺浇鐢ㄦ埛瀹氫箟鐨勫伐鍏锋爮鍥惧儚
|
|
|
if (m_UserImages.Load(_T(".\\UserImages.bmp")))
|
|
|
{
|
|
|
- m_UserImages.SetImageSize(CSize(16, 16), FALSE);
|
|
|
CMFCToolBar::SetUserImages(&m_UserImages);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 启用菜单个性化(最近使用的命令)
|
|
|
- // TODO: 定义您自己的基本命令,确保每个下拉菜单至少有一个基本命令。
|
|
|
+ // 鍚�敤鑿滃崟涓�€у寲(鏈€杩戜娇鐢ㄧ殑鍛戒护)
|
|
|
+ // TODO: 瀹氫箟鎮ㄨ嚜宸辩殑鍩烘湰鍛戒护锛岀‘淇濇瘡涓�笅鎷夎彍鍗曡嚦灏戞湁涓€涓�熀鏈�懡浠ゃ€�
|
|
|
CList<UINT, UINT> lstBasicCommands;
|
|
|
|
|
|
lstBasicCommands.AddTail(ID_FILE_NEW);
|
|
@@ -191,6 +192,7 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
|
|
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_SILVER);
|
|
|
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_BLACK);
|
|
|
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_AQUA);
|
|
|
+ lstBasicCommands.AddTail(ID_VIEW_APPLOOK_WINDOWS_7);
|
|
|
lstBasicCommands.AddTail(ID_SORTING_SORTALPHABETIC);
|
|
|
lstBasicCommands.AddTail(ID_SORTING_SORTBYTYPE);
|
|
|
lstBasicCommands.AddTail(ID_SORTING_SORTBYACCESS);
|
|
@@ -198,6 +200,10 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
|
|
|
|
|
CMFCToolBar::SetBasicCommands(lstBasicCommands);
|
|
|
|
|
|
+ // 灏嗘枃妗e悕鍜屽簲鐢ㄧ▼搴忓悕绉板湪绐楀彛鏍囬�鏍忎笂鐨勯『搴忚繘琛屼氦鎹€€傝繖
|
|
|
+ // 灏嗘敼杩涗换鍔℃爮鐨勫彲鐢ㄦ€э紝鍥犱负鏄剧ず鐨勬枃妗e悕甯︽湁缂╃暐鍥俱€�
|
|
|
+ ModifyStyle(0, FWS_PREFIXTITLE);
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -205,8 +211,8 @@ BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
|
|
|
{
|
|
|
if( !CMDIFrameWndEx::PreCreateWindow(cs) )
|
|
|
return FALSE;
|
|
|
- // TODO: 在此处通过修改
|
|
|
- // CREATESTRUCT cs 来修改窗口类或样式
|
|
|
+ // TODO: 鍦ㄦ�澶勯€氳繃淇�敼
|
|
|
+ // CREATESTRUCT cs 鏉ヤ慨鏀圭獥鍙g被鎴栨牱寮�
|
|
|
|
|
|
return TRUE;
|
|
|
}
|
|
@@ -215,44 +221,44 @@ BOOL CMainFrame::CreateDockingWindows()
|
|
|
{
|
|
|
BOOL bNameValid;
|
|
|
|
|
|
- // 创建类视图
|
|
|
+ // 鍒涘缓绫昏�鍥�
|
|
|
CString strClassView;
|
|
|
bNameValid = strClassView.LoadString(IDS_CLASS_VIEW);
|
|
|
ASSERT(bNameValid);
|
|
|
if (!m_wndClassView.Create(strClassView, this, CRect(0, 0, 200, 200), TRUE, ID_VIEW_CLASSVIEW, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
|
|
|
{
|
|
|
- TRACE0("未能创建“类视图”窗口\n");
|
|
|
- return FALSE; // 未能创建
|
|
|
+ TRACE0("鏈�兘鍒涘缓鈥滅被瑙嗗浘鈥濈獥鍙�n");
|
|
|
+ return FALSE; // 鏈�兘鍒涘缓
|
|
|
}
|
|
|
|
|
|
- // 创建文件视图
|
|
|
+ // 鍒涘缓鏂囦欢瑙嗗浘
|
|
|
CString strFileView;
|
|
|
bNameValid = strFileView.LoadString(IDS_FILE_VIEW);
|
|
|
ASSERT(bNameValid);
|
|
|
if (!m_wndFileView.Create(strFileView, this, CRect(0, 0, 200, 200), TRUE, ID_VIEW_FILEVIEW, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT| CBRS_FLOAT_MULTI))
|
|
|
{
|
|
|
- TRACE0("未能创建“文件视图”窗口\n");
|
|
|
- return FALSE; // 未能创建
|
|
|
+ TRACE0("鏈�兘鍒涘缓鈥滄枃浠惰�鍥锯€濈獥鍙�n");
|
|
|
+ return FALSE; // 鏈�兘鍒涘缓
|
|
|
}
|
|
|
|
|
|
- // 创建输出窗口
|
|
|
+ // 鍒涘缓杈撳嚭绐楀彛
|
|
|
CString strOutputWnd;
|
|
|
bNameValid = strOutputWnd.LoadString(IDS_OUTPUT_WND);
|
|
|
ASSERT(bNameValid);
|
|
|
if (!m_wndOutput.Create(strOutputWnd, this, CRect(0, 0, 100, 100), TRUE, ID_VIEW_OUTPUTWND, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_BOTTOM | CBRS_FLOAT_MULTI))
|
|
|
{
|
|
|
- TRACE0("未能创建输出窗口\n");
|
|
|
- return FALSE; // 未能创建
|
|
|
+ TRACE0("鏈�兘鍒涘缓杈撳嚭绐楀彛\n");
|
|
|
+ return FALSE; // 鏈�兘鍒涘缓
|
|
|
}
|
|
|
|
|
|
- // 创建属性窗口
|
|
|
+ // 鍒涘缓灞炴€х獥鍙�
|
|
|
CString strPropertiesWnd;
|
|
|
bNameValid = strPropertiesWnd.LoadString(IDS_PROPERTIES_WND);
|
|
|
ASSERT(bNameValid);
|
|
|
if (!m_wndProperties.Create(strPropertiesWnd, this, CRect(0, 0, 200, 200), TRUE, ID_VIEW_PROPERTIESWND, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_RIGHT | CBRS_FLOAT_MULTI))
|
|
|
{
|
|
|
- TRACE0("未能创建“属性”窗口\n");
|
|
|
- return FALSE; // 未能创建
|
|
|
+ TRACE0("鏈�兘鍒涘缓鈥滃睘鎬р€濈獥鍙�n");
|
|
|
+ return FALSE; // 鏈�兘鍒涘缓
|
|
|
}
|
|
|
|
|
|
SetDockingWindowIcons(theApp.m_bHiColorIcons);
|
|
@@ -278,8 +284,6 @@ void CMainFrame::SetDockingWindowIcons(BOOL bHiColorIcons)
|
|
|
|
|
|
BOOL CMainFrame::CreateOutlookBar(CMFCOutlookBar& bar, UINT uiID, CMFCShellTreeCtrl& tree, CCalendarBar& calendar, int nInitialWidth)
|
|
|
{
|
|
|
- CWindowDC dc(NULL);
|
|
|
-
|
|
|
bar.SetMode2003();
|
|
|
|
|
|
BOOL bNameValid;
|
|
@@ -288,12 +292,12 @@ BOOL CMainFrame::CreateOutlookBar(CMFCOutlookBar& bar, UINT uiID, CMFCShellTreeC
|
|
|
ASSERT(bNameValid);
|
|
|
if (!bar.Create(strTemp, this, CRect(0, 0, nInitialWidth, 32000), uiID, WS_CHILD | WS_VISIBLE | CBRS_LEFT))
|
|
|
{
|
|
|
- return FALSE; // 未能创建
|
|
|
+ return FALSE; // 鏈�兘鍒涘缓
|
|
|
}
|
|
|
|
|
|
CMFCOutlookBarTabCtrl* pOutlookBar = (CMFCOutlookBarTabCtrl*)bar.GetUnderlyingWindow();
|
|
|
|
|
|
- if (pOutlookBar == NULL)
|
|
|
+ if (pOutlookBar == nullptr)
|
|
|
{
|
|
|
ASSERT(FALSE);
|
|
|
return FALSE;
|
|
@@ -303,9 +307,7 @@ BOOL CMainFrame::CreateOutlookBar(CMFCOutlookBar& bar, UINT uiID, CMFCShellTreeC
|
|
|
|
|
|
static UINT uiPageID = 1;
|
|
|
|
|
|
- DWORD dwPaneStyle = AFX_DEFAULT_TOOLBAR_STYLE | CBRS_FLOAT_MULTI;
|
|
|
-
|
|
|
- // 可浮动,可自动隐藏,可调整大小,但不能关闭
|
|
|
+ // 鍙�诞鍔�紝鍙�嚜鍔ㄩ殣钘忥紝鍙�皟鏁村ぇ灏忥紝浣嗕笉鑳藉叧闂�
|
|
|
DWORD dwStyle = AFX_CBRS_FLOAT | AFX_CBRS_AUTOHIDE | AFX_CBRS_RESIZE;
|
|
|
|
|
|
CRect rectDummy(0, 0, 0, 0);
|
|
@@ -335,7 +337,7 @@ BOOL CMainFrame::CreateOutlookBar(CMFCOutlookBar& bar, UINT uiID, CMFCShellTreeC
|
|
|
return TRUE;
|
|
|
}
|
|
|
|
|
|
-// CMainFrame 诊断
|
|
|
+// CMainFrame 璇婃柇
|
|
|
|
|
|
#ifdef _DEBUG
|
|
|
void CMainFrame::AssertValid() const
|
|
@@ -350,7 +352,7 @@ void CMainFrame::Dump(CDumpContext& dc) const
|
|
|
#endif //_DEBUG
|
|
|
|
|
|
|
|
|
-// CMainFrame 消息处理程序
|
|
|
+// CMainFrame 娑堟伅澶勭悊绋嬪簭
|
|
|
|
|
|
void CMainFrame::OnWindowManager()
|
|
|
{
|
|
@@ -359,7 +361,7 @@ void CMainFrame::OnWindowManager()
|
|
|
|
|
|
void CMainFrame::OnViewCustomize()
|
|
|
{
|
|
|
- CMFCToolBarsCustomizeDialog* pDlgCust = new CMFCToolBarsCustomizeDialog(this, TRUE /* 扫描菜单*/);
|
|
|
+ CMFCToolBarsCustomizeDialog* pDlgCust = new CMFCToolBarsCustomizeDialog(this, TRUE /* 鎵�弿鑿滃崟*/);
|
|
|
pDlgCust->EnableUserDefinedToolbars();
|
|
|
pDlgCust->Create();
|
|
|
}
|
|
@@ -415,6 +417,16 @@ void CMainFrame::OnApplicationLook(UINT id)
|
|
|
CDockingManager::SetDockingMode(DT_SMART);
|
|
|
break;
|
|
|
|
|
|
+ case ID_VIEW_APPLOOK_VS_2008:
|
|
|
+ CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerVS2008));
|
|
|
+ CDockingManager::SetDockingMode(DT_SMART);
|
|
|
+ break;
|
|
|
+
|
|
|
+ case ID_VIEW_APPLOOK_WINDOWS_7:
|
|
|
+ CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows7));
|
|
|
+ CDockingManager::SetDockingMode(DT_SMART);
|
|
|
+ break;
|
|
|
+
|
|
|
default:
|
|
|
switch (theApp.m_nAppLook)
|
|
|
{
|
|
@@ -439,7 +451,8 @@ void CMainFrame::OnApplicationLook(UINT id)
|
|
|
CDockingManager::SetDockingMode(DT_SMART);
|
|
|
}
|
|
|
|
|
|
- RedrawWindow(NULL, NULL, RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_UPDATENOW | RDW_FRAME | RDW_ERASE);
|
|
|
+ m_wndOutput.UpdateFonts();
|
|
|
+ RedrawWindow(nullptr, nullptr, RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_UPDATENOW | RDW_FRAME | RDW_ERASE);
|
|
|
|
|
|
theApp.WriteInt(_T("ApplicationLook"), theApp.m_nAppLook);
|
|
|
}
|
|
@@ -449,9 +462,10 @@ void CMainFrame::OnUpdateApplicationLook(CCmdUI* pCmdUI)
|
|
|
pCmdUI->SetRadio(theApp.m_nAppLook == pCmdUI->m_nID);
|
|
|
}
|
|
|
|
|
|
-BOOL CMainFrame::LoadFrame(UINT nIDResource, DWORD dwDefaultStyle, CWnd* pParentWnd, CCreateContext* pContext)
|
|
|
+
|
|
|
+BOOL CMainFrame::LoadFrame(UINT nIDResource, DWORD dwDefaultStyle, CWnd* pParentWnd, CCreateContext* pContext)
|
|
|
{
|
|
|
- // 基类将执行真正的工作
|
|
|
+ // 鍩虹被灏嗘墽琛岀湡姝g殑宸ヤ綔
|
|
|
|
|
|
if (!CMDIFrameWndEx::LoadFrame(nIDResource, dwDefaultStyle, pParentWnd, pContext))
|
|
|
{
|
|
@@ -459,7 +473,7 @@ BOOL CMainFrame::LoadFrame(UINT nIDResource, DWORD dwDefaultStyle, CWnd* pParent
|
|
|
}
|
|
|
|
|
|
|
|
|
- // 为所有用户工具栏启用自定义按钮
|
|
|
+ // 涓烘墍鏈夌敤鎴峰伐鍏锋爮鍚�敤鑷�畾涔夋寜閽�
|
|
|
BOOL bNameValid;
|
|
|
CString strCustomize;
|
|
|
bNameValid = strCustomize.LoadString(IDS_TOOLBAR_CUSTOMIZE);
|
|
@@ -468,7 +482,7 @@ BOOL CMainFrame::LoadFrame(UINT nIDResource, DWORD dwDefaultStyle, CWnd* pParent
|
|
|
for (int i = 0; i < iMaxUserToolbars; i ++)
|
|
|
{
|
|
|
CMFCToolBar* pUserToolbar = GetUserToolBarByIndex(i);
|
|
|
- if (pUserToolbar != NULL)
|
|
|
+ if (pUserToolbar != nullptr)
|
|
|
{
|
|
|
pUserToolbar->EnableCustomizeButton(TRUE, ID_VIEW_CUSTOMIZE, strCustomize);
|
|
|
}
|
|
@@ -477,3 +491,9 @@ BOOL CMainFrame::LoadFrame(UINT nIDResource, DWORD dwDefaultStyle, CWnd* pParent
|
|
|
return TRUE;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+void CMainFrame::OnSettingChange(UINT uFlags, LPCTSTR lpszSection)
|
|
|
+{
|
|
|
+ CMDIFrameWndEx::OnSettingChange(uFlags, lpszSection);
|
|
|
+ m_wndOutput.UpdateFonts();
|
|
|
+}
|