Explorar o código

【软件版本】
V
【模块名称】
远程场测完整版
【问题原因】
1、资源全部换成英文;2、解决停靠窗口背景色不跟随Office主题色的问题。
【修改描述】

【测试结果】

sat23 %!s(int64=3) %!d(string=hai) anos
pai
achega
a98a89bb3c

+ 218 - 195
FieldTestTool/FieldTestTool/FieldTestTool.rc

@@ -50,14 +50,14 @@ BEGIN
     "#define _AFX_NO_TRACKER_RESOURCES\r\n"
     "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
     "\r\n"
-    "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\r\n"
-    "LANGUAGE 4, 2\r\n"
-    "#pragma code_page(936)\r\n"
-    "#include ""res\\FieldTestTool.rc2""  // 非 Microsoft Visual C++ 编辑的资源\r\n"
-    "#include ""l.CHS\\afxres.rc""          // 标准组件\r\n"
-    "#include ""l.CHS\\afxprint.rc""        // 打印/打印预览资源\r\n"
+    "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
+    "LANGUAGE 9, 1\r\n"
+    "#pragma code_page(1252)\r\n"
+    "#include ""res\\FieldTestTool.rc2""  // non-Microsoft Visual C++ edited resources\r\n"
+    "#include ""afxres.rc""         // Standard components\r\n"
+    "#include ""afxprint.rc""       // printing/print preview resources\r\n"
     "#if !defined(_AFXDLL)\r\n"
-    "#include ""l.CHS\\afxribbon.rc""               // MFC 功能区和控件条资源\r\n"
+    "#include ""afxribbon.rc""              // MFC ribbon and control bar resources\r\n"
     "#endif\r\n"
     "#endif\r\n"
     "\0"
@@ -66,6 +66,28 @@ END
 #endif    // APSTUDIO_INVOKED
 
 
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_PROPERTIES_WND      ICON                    "res\\properties_wnd.ico"
+IDI_PROPERTIES_WND_HC   ICON                    "res\\properties_wnd_hc.ico"
+#endif    // 中文(中华人民共和国) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+/////////////////////////////////////////////////////////////////////////////
+// 英语(美国) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
 /////////////////////////////////////////////////////////////////////////////
 //
 // Icon
@@ -138,121 +160,121 @@ END
 
 IDR_MAINFRAME MENU 
 BEGIN
-    POPUP "文件(&F)"
+    POPUP "&File"
     BEGIN
-        MENUITEM "新建(&N)\tCtrl+N",              ID_FILE_NEW
-        MENUITEM "打开(&O)...\tCtrl+O",           ID_FILE_OPEN
-        MENUITEM "关闭(&C)",                      ID_FILE_CLOSE
+        MENUITEM "&New\tCtrl+N",                ID_FILE_NEW
+        MENUITEM "&Open...\tCtrl+O",            ID_FILE_OPEN
+        MENUITEM "&Close",                      ID_FILE_CLOSE
         MENUITEM SEPARATOR
-        MENUITEM "打印设置(&R)...",                 ID_FILE_PRINT_SETUP
+        MENUITEM "P&rint Setup...",             ID_FILE_PRINT_SETUP
         MENUITEM SEPARATOR
-        MENUITEM "最近的文件",                       ID_FILE_MRU_FILE1, GRAYED
+        MENUITEM "Recent File",                 ID_FILE_MRU_FILE1, GRAYED
         MENUITEM SEPARATOR
-        MENUITEM "退出(&X)",                      ID_APP_EXIT
+        MENUITEM "E&xit",                       ID_APP_EXIT
     END
-    POPUP "视图(&V)"
+    POPUP "&View"
     BEGIN
-        MENUITEM "状态栏(&S)",                     ID_VIEW_STATUS_BAR
-        MENUITEM "标题栏(&C)",                     ID_VIEW_CAPTION_BAR
-        POPUP "应用程序外观(&A)"
+        MENUITEM "&Status Bar",                 ID_VIEW_STATUS_BAR
+        MENUITEM "&Caption Bar",                ID_VIEW_CAPTION_BAR
+        POPUP "&Application Look"
         BEGIN
-            MENUITEM "Windows 2000(&2)",            ID_VIEW_APPLOOK_WIN_2000
-            MENUITEM "Office XP(&X)",               ID_VIEW_APPLOOK_OFF_XP
-            MENUITEM "Windows XP(&W)",              ID_VIEW_APPLOOK_WIN_XP
-            MENUITEM "Office 2003(&3)",             ID_VIEW_APPLOOK_OFF_2003
-            MENUITEM "Visual Studio.NET 2005(&5)",  ID_VIEW_APPLOOK_VS_2005
-            POPUP "Office 2007(&7)"
+            MENUITEM "Windows &2000",               ID_VIEW_APPLOOK_WIN_2000
+            MENUITEM "Office &XP",                  ID_VIEW_APPLOOK_OFF_XP
+            MENUITEM "&Windows XP",                 ID_VIEW_APPLOOK_WIN_XP
+            MENUITEM "Office 200&3",                ID_VIEW_APPLOOK_OFF_2003
+            MENUITEM "Visual Studio.NET 200&5",     ID_VIEW_APPLOOK_VS_2005
+            POPUP "Office 200&7"
             BEGIN
-                MENUITEM "蓝色样式(&B)",                    ID_VIEW_APPLOOK_OFF_2007_BLUE
-                MENUITEM "黑色样式(&L)",                    ID_VIEW_APPLOOK_OFF_2007_BLACK
-                MENUITEM "银色样式(&S)",                    ID_VIEW_APPLOOK_OFF_2007_SILVER
-                MENUITEM "水绿色样式(&A)",                   ID_VIEW_APPLOOK_OFF_2007_AQUA
+                MENUITEM "&Blue Style",                 ID_VIEW_APPLOOK_OFF_2007_BLUE
+                MENUITEM "B&lack Style",                ID_VIEW_APPLOOK_OFF_2007_BLACK
+                MENUITEM "&Silver Style",               ID_VIEW_APPLOOK_OFF_2007_SILVER
+                MENUITEM "&Aqua Style",                 ID_VIEW_APPLOOK_OFF_2007_AQUA
             END
         END
     END
-    POPUP "帮助(&H)"
+    POPUP "&Help"
     BEGIN
-        MENUITEM "关于 FieldTestTool(&A)...",     ID_APP_ABOUT
+        MENUITEM "&About FieldTestTool...",     ID_APP_ABOUT
     END
 END
 
 IDR_FieldTestToolTYPE MENU 
 BEGIN
-    POPUP "文件(&F)"
+    POPUP "&File"
     BEGIN
-        MENUITEM "新建(&N)\tCtrl+N",              ID_FILE_NEW
-        MENUITEM "打开(&O)...\tCtrl+O",           ID_FILE_OPEN
-        MENUITEM "关闭(&C)",                      ID_FILE_CLOSE
-        MENUITEM "保存(&S)\tCtrl+S",              ID_FILE_SAVE
-        MENUITEM "另存为(&A)...",                  ID_FILE_SAVE_AS
+        MENUITEM "&New\tCtrl+N",                ID_FILE_NEW
+        MENUITEM "&Open...\tCtrl+O",            ID_FILE_OPEN
+        MENUITEM "&Close",                      ID_FILE_CLOSE
+        MENUITEM "&Save\tCtrl+S",               ID_FILE_SAVE
+        MENUITEM "Save &As...",                 ID_FILE_SAVE_AS
         MENUITEM SEPARATOR
-        MENUITEM "打印(&P)...\tCtrl+P",           ID_FILE_PRINT
-        MENUITEM "打印预览(&V)",                    ID_FILE_PRINT_PREVIEW
-        MENUITEM "打印设置(&R)...",                 ID_FILE_PRINT_SETUP
+        MENUITEM "&Print...\tCtrl+P",           ID_FILE_PRINT
+        MENUITEM "Print Pre&view",              ID_FILE_PRINT_PREVIEW
+        MENUITEM "P&rint Setup...",             ID_FILE_PRINT_SETUP
         MENUITEM SEPARATOR
-        MENUITEM "最近的文件",                       ID_FILE_MRU_FILE1, GRAYED
+        MENUITEM "Recent File",                 ID_FILE_MRU_FILE1, GRAYED
         MENUITEM SEPARATOR
-        MENUITEM "退出(&X)",                      ID_APP_EXIT
+        MENUITEM "E&xit",                       ID_APP_EXIT
     END
-    POPUP "编辑(&E)"
+    POPUP "&Edit"
     BEGIN
-        MENUITEM "撤消(&U)\tCtrl+Z",              ID_EDIT_UNDO
+        MENUITEM "&Undo\tCtrl+Z",               ID_EDIT_UNDO
         MENUITEM SEPARATOR
-        MENUITEM "剪切(&T)\tCtrl+X",              ID_EDIT_CUT
-        MENUITEM "复制(&C)\tCtrl+C",              ID_EDIT_COPY
-        MENUITEM "粘贴(&P)\tCtrl+V",              ID_EDIT_PASTE
+        MENUITEM "Cu&t\tCtrl+X",                ID_EDIT_CUT
+        MENUITEM "&Copy\tCtrl+C",               ID_EDIT_COPY
+        MENUITEM "&Paste\tCtrl+V",              ID_EDIT_PASTE
     END
-    POPUP "视图(&V)"
+    POPUP "&View"
     BEGIN
-        MENUITEM "状态栏(&S)",                     ID_VIEW_STATUS_BAR
-        MENUITEM "标题栏(&C)",                     ID_VIEW_CAPTION_BAR
-        POPUP "应用程序外观(&A)"
+        MENUITEM "&Status Bar",                 ID_VIEW_STATUS_BAR
+        MENUITEM "&Caption Bar",                ID_VIEW_CAPTION_BAR
+        POPUP "&Application Look"
         BEGIN
-            MENUITEM "Windows 2000(&2)",            ID_VIEW_APPLOOK_WIN_2000
-            MENUITEM "Office XP(&X)",               ID_VIEW_APPLOOK_OFF_XP
-            MENUITEM "Windows XP(&W)",              ID_VIEW_APPLOOK_WIN_XP
-            MENUITEM "Office 2003(&3)",             ID_VIEW_APPLOOK_OFF_2003
-            MENUITEM "Visual Studio.NET 2005(&5)",  ID_VIEW_APPLOOK_VS_2005
-            POPUP "Office 2007(&7)"
+            MENUITEM "Windows &2000",               ID_VIEW_APPLOOK_WIN_2000
+            MENUITEM "Office &XP",                  ID_VIEW_APPLOOK_OFF_XP
+            MENUITEM "&Windows XP",                 ID_VIEW_APPLOOK_WIN_XP
+            MENUITEM "Office 200&3",                ID_VIEW_APPLOOK_OFF_2003
+            MENUITEM "Visual Studio.NET 200&5",     ID_VIEW_APPLOOK_VS_2005
+            POPUP "Office 200&7"
             BEGIN
-                MENUITEM "蓝色样式(&B)",                    ID_VIEW_APPLOOK_OFF_2007_BLUE
-                MENUITEM "黑色样式(&L)",                    ID_VIEW_APPLOOK_OFF_2007_BLACK
-                MENUITEM "银色样式(&S)",                    ID_VIEW_APPLOOK_OFF_2007_SILVER
-                MENUITEM "水绿色样式(&A)",                   ID_VIEW_APPLOOK_OFF_2007_AQUA
+                MENUITEM "&Blue Style",                 ID_VIEW_APPLOOK_OFF_2007_BLUE
+                MENUITEM "B&lack Style",                ID_VIEW_APPLOOK_OFF_2007_BLACK
+                MENUITEM "&Silver Style",               ID_VIEW_APPLOOK_OFF_2007_SILVER
+                MENUITEM "&Aqua Style",                 ID_VIEW_APPLOOK_OFF_2007_AQUA
             END
         END
     END
-    POPUP "窗口(&W)"
+    POPUP "&Window"
     BEGIN
-        MENUITEM "新建窗口(&N)",                    ID_WINDOW_NEW
+        MENUITEM "&New Window",                 ID_WINDOW_NEW
     END
-    POPUP "帮助(&H)"
+    POPUP "&Help"
     BEGIN
-        MENUITEM "关于 FieldTestTool(&A)...",     ID_APP_ABOUT
+        MENUITEM "&About FieldTestTool...",     ID_APP_ABOUT
     END
 END
 
 IDR_POPUP_EDIT MENU 
 BEGIN
-    POPUP "编辑"
+    POPUP "Edit"
     BEGIN
-        MENUITEM "剪切(&T)\tCtrl+X",              ID_EDIT_CUT
-        MENUITEM "复制(&C)\tCtrl+C",              ID_EDIT_COPY
-        MENUITEM "粘贴(&P)\tCtrl+V",              ID_EDIT_PASTE
+        MENUITEM "Cu&t\tCtrl+X",                ID_EDIT_CUT
+        MENUITEM "&Copy\tCtrl+C",               ID_EDIT_COPY
+        MENUITEM "&Paste\tCtrl+V",              ID_EDIT_PASTE
     END
 END
 
 IDR_WINDOWS_MENU MENU 
 BEGIN
-    MENUITEM "新建窗口(&N)",                    ID_WINDOW_NEW
+    MENUITEM "&New Window",                 ID_WINDOW_NEW
 END
 
 IDR_THEME_MENU MENU 
 BEGIN
-    MENUITEM "Office 2007 (蓝色样式)(&B)",      ID_VIEW_APPLOOK_OFF_2007_BLUE
-    MENUITEM "Office 2007 (黑色样式)(&L)",      ID_VIEW_APPLOOK_OFF_2007_BLACK
-    MENUITEM "Office 2007 (银色样式)(&S)",      ID_VIEW_APPLOOK_OFF_2007_SILVER
-    MENUITEM "Office 2007 (水绿色样式)(&A)",     ID_VIEW_APPLOOK_OFF_2007_AQUA
+    MENUITEM "Office 2007 (&Blue Style)",   ID_VIEW_APPLOOK_OFF_2007_BLUE
+    MENUITEM "Office 2007 (B&lack Style)",  ID_VIEW_APPLOOK_OFF_2007_BLACK
+    MENUITEM "Office 2007 (&Silver Style)", ID_VIEW_APPLOOK_OFF_2007_SILVER
+    MENUITEM "Office 2007 (&Aqua Style)",   ID_VIEW_APPLOOK_OFF_2007_AQUA
 END
 
 
@@ -287,13 +309,13 @@ END
 
 IDD_ABOUTBOX DIALOGEX 0, 0, 170, 62
 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "关于 FieldTestTool"
-FONT 9, "MS Shell Dlg", 0, 0, 0x1
+CAPTION "About FieldTestTool"
+FONT 8, "MS Shell Dlg", 0, 0, 0x1
 BEGIN
     ICON            IDR_MAINFRAME,IDC_STATIC,14,14,21,20
-    LTEXT           "FieldTestTool,1.0 版",IDC_STATIC,42,14,114,8,SS_NOPREFIX
+    LTEXT           "FieldTestTool, Version 1.0",IDC_STATIC,42,14,114,8,SS_NOPREFIX
     LTEXT           "Copyright (C) 2021",IDC_STATIC,42,26,114,8
-    DEFPUSHBUTTON   "确定",IDOK,113,41,50,14,WS_GROUP
+    DEFPUSHBUTTON   "OK",IDOK,113,41,50,14,WS_GROUP
 END
 
 
@@ -317,21 +339,21 @@ VS_VERSION_INFO VERSIONINFO
 BEGIN
     BLOCK "StringFileInfo"
     BEGIN
-        BLOCK "080403a8"
+        BLOCK "040904e4"
         BEGIN
-            VALUE "CompanyName", "Moka"
-            VALUE "FileDescription", "场测工具"
+            VALUE "CompanyName", "TODO: <Company name>"
+            VALUE "FileDescription", "TODO: <File description>"
             VALUE "FileVersion", "1.0.0.1"
             VALUE "InternalName", "FieldTestTool.exe"
-            VALUE "LegalCopyright", "Jeff"
+            VALUE "LegalCopyright", "TODO: (c) <Company name>.  All rights reserved."
             VALUE "OriginalFilename", "FieldTestTool.exe"
-            VALUE "ProductName", "场测工具"
+            VALUE "ProductName", "TODO: <Product name>"
             VALUE "ProductVersion", "1.0.0.1"
         END
     END
     BLOCK "VarFileInfo"
     BEGIN
-        VALUE "Translation", 0x804, 936
+        VALUE "Translation", 0x409, 1252
     END
 END
 
@@ -362,20 +384,21 @@ END
 
 STRINGTABLE 
 BEGIN
-    IDP_OLE_INIT_FAILED     "OLE 初始化失败。请确保 OLE 库是正确的版本。"
+    IDP_OLE_INIT_FAILED     "OLE initialization failed.  Make sure that the OLE libraries are the correct version."
+    IDS_PROPERTIES_WND      "Test Wizard"
 END
 
 STRINGTABLE 
 BEGIN
     IDR_MAINFRAME           "FieldTestTool"
     IDR_FieldTestToolTYPE   "\nFieldTestTool\nFieldTestTool\n\n\nFieldTestTool.Document\nFieldTestTool.Document"
-    IDS_WINDOWS_MANAGER     "窗口(&W)..."
+    IDS_WINDOWS_MANAGER     "&Windows..."
 END
 
 STRINGTABLE 
 BEGIN
     AFX_IDS_APP_TITLE       "FieldTestTool"
-    AFX_IDS_IDLEMESSAGE     "就绪"
+    AFX_IDS_IDLEMESSAGE     "Ready"
 END
 
 STRINGTABLE 
@@ -390,178 +413,178 @@ END
 
 STRINGTABLE 
 BEGIN
-    ID_FILE_NEW             "创建新文档\n新建"
-    ID_FILE_OPEN            "打开现有文档\n打开"
-    ID_FILE_CLOSE           "关闭活动文档\n关闭"
-    ID_FILE_SAVE            "保存活动文档\n保存"
-    ID_FILE_SAVE_AS         "用新名称保存活动文档\n另存为"
-    ID_FILE_PAGE_SETUP      "更改打印选项\n页面设置"
-    ID_FILE_PRINT_SETUP     "更改打印机选项和打印选项\n打印设置"
-    ID_FILE_PRINT           "打印活动文档\n打印"
-    ID_FILE_PRINT_DIRECT    "使用当前选项打印活动文档\n快速打印"
-    ID_FILE_PRINT_PREVIEW   "显示整页\n打印预览"
+    ID_FILE_NEW             "Create a new document\nNew"
+    ID_FILE_OPEN            "Open an existing document\nOpen"
+    ID_FILE_CLOSE           "Close the active document\nClose"
+    ID_FILE_SAVE            "Save the active document\nSave"
+    ID_FILE_SAVE_AS         "Save the active document with a new name\nSave As"
+    ID_FILE_PAGE_SETUP      "Change the printing options\nPage Setup"
+    ID_FILE_PRINT_SETUP     "Change the printer and printing options\nPrint Setup"
+    ID_FILE_PRINT           "Print the active document\nPrint"
+    ID_FILE_PRINT_DIRECT    "Print the active document using current options\nQuick Print"
+    ID_FILE_PRINT_PREVIEW   "Display full pages\nPrint Preview"
 END
 
 STRINGTABLE 
 BEGIN
-    ID_APP_ABOUT            "显示程序信息、版本号和版权\n关于"
-    ID_APP_EXIT             "退出应用程序;提示保存文档\n退出"
+    ID_APP_ABOUT            "Display program information, version number and copyright\nAbout"
+    ID_APP_EXIT             "Quit the application; prompts to save documents\nExit"
 END
 
 STRINGTABLE 
 BEGIN
-    ID_FILE_MRU_FILE1       "打开此文档"
-    ID_FILE_MRU_FILE2       "打开此文档"
-    ID_FILE_MRU_FILE3       "打开此文档"
-    ID_FILE_MRU_FILE4       "打开此文档"
-    ID_FILE_MRU_FILE5       "打开此文档"
-    ID_FILE_MRU_FILE6       "打开此文档"
-    ID_FILE_MRU_FILE7       "打开此文档"
-    ID_FILE_MRU_FILE8       "打开此文档"
-    ID_FILE_MRU_FILE9       "打开此文档"
-    ID_FILE_MRU_FILE10      "打开此文档"
-    ID_FILE_MRU_FILE11      "打开此文档"
-    ID_FILE_MRU_FILE12      "打开此文档"
-    ID_FILE_MRU_FILE13      "打开此文档"
-    ID_FILE_MRU_FILE14      "打开此文档"
-    ID_FILE_MRU_FILE15      "打开此文档"
-    ID_FILE_MRU_FILE16      "打开此文档"
+    ID_FILE_MRU_FILE1       "Open this document"
+    ID_FILE_MRU_FILE2       "Open this document"
+    ID_FILE_MRU_FILE3       "Open this document"
+    ID_FILE_MRU_FILE4       "Open this document"
+    ID_FILE_MRU_FILE5       "Open this document"
+    ID_FILE_MRU_FILE6       "Open this document"
+    ID_FILE_MRU_FILE7       "Open this document"
+    ID_FILE_MRU_FILE8       "Open this document"
+    ID_FILE_MRU_FILE9       "Open this document"
+    ID_FILE_MRU_FILE10      "Open this document"
+    ID_FILE_MRU_FILE11      "Open this document"
+    ID_FILE_MRU_FILE12      "Open this document"
+    ID_FILE_MRU_FILE13      "Open this document"
+    ID_FILE_MRU_FILE14      "Open this document"
+    ID_FILE_MRU_FILE15      "Open this document"
+    ID_FILE_MRU_FILE16      "Open this document"
 END
 
 STRINGTABLE 
 BEGIN
-    ID_NEXT_PANE            "切换到下一个窗格\n下一窗格"
-    ID_PREV_PANE            "切换回上一个窗格\n上一窗格"
+    ID_NEXT_PANE            "Switch to the next window pane\nNext Pane"
+    ID_PREV_PANE            "Switch back to the previous window pane\nPrevious Pane"
 END
 
 STRINGTABLE 
 BEGIN
-    ID_WINDOW_NEW           "为活动文档打开另一个窗口\n新建窗口"
-    ID_WINDOW_ARRANGE       "在窗口底部排列图标\n排列图标"
-    ID_WINDOW_CASCADE       "以重叠方式排列窗口\n层叠窗口"
-    ID_WINDOW_TILE_HORZ     "以非重叠的平铺方式排列窗口\n平铺窗口"
-    ID_WINDOW_TILE_VERT     "以非重叠的平铺方式排列窗口\n平铺窗口"
-    ID_WINDOW_SPLIT         "将活动窗口拆分为多个窗格\n拆分"
+    ID_WINDOW_NEW           "Open another window for the active document\nNew Window"
+    ID_WINDOW_ARRANGE       "Arrange icons at the bottom of the window\nArrange Icons"
+    ID_WINDOW_CASCADE       "Arrange windows so they overlap\nCascade Windows"
+    ID_WINDOW_TILE_HORZ     "Arrange windows as non-overlapping tiles\nTile Windows"
+    ID_WINDOW_TILE_VERT     "Arrange windows as non-overlapping tiles\nTile Windows"
+    ID_WINDOW_SPLIT         "Split the active window into panes\nSplit"
 END
 
 STRINGTABLE 
 BEGIN
-    ID_EDIT_CLEAR           "清除选定内容\n清除"
-    ID_EDIT_CLEAR_ALL       "清除全部内容\n全部清除"
-    ID_EDIT_COPY            "复制选定内容并将其放到剪贴板上\n复制"
-    ID_EDIT_CUT             "剪切选定内容并将其放到剪贴板上\n剪切"
-    ID_EDIT_FIND            "查找指定的文本\n查找"
-    ID_EDIT_PASTE           "插入剪贴板内容\n粘贴"
-    ID_EDIT_REPEAT          "重复上一操作\n重复"
-    ID_EDIT_REPLACE         "用其他文本替换特定的文本\n替换"
-    ID_EDIT_SELECT_ALL      "选定整个文档\n全选"
-    ID_EDIT_UNDO            "撤消上一操作\n撤消"
-    ID_EDIT_REDO            "恢复上次撤消的操作\n重做"
+    ID_EDIT_CLEAR           "Erase the selection\nErase"
+    ID_EDIT_CLEAR_ALL       "Erase everything\nErase All"
+    ID_EDIT_COPY            "Copy the selection and put it on the Clipboard\nCopy"
+    ID_EDIT_CUT             "Cut the selection and put it on the Clipboard\nCut"
+    ID_EDIT_FIND            "Find the specified text\nFind"
+    ID_EDIT_PASTE           "Insert Clipboard contents\nPaste"
+    ID_EDIT_REPEAT          "Repeat the last action\nRepeat"
+    ID_EDIT_REPLACE         "Replace specific text with different text\nReplace"
+    ID_EDIT_SELECT_ALL      "Select the entire document\nSelect All"
+    ID_EDIT_UNDO            "Undo the last action\nUndo"
+    ID_EDIT_REDO            "Redo the previously undone action\nRedo"
 END
 
 STRINGTABLE 
 BEGIN
-    ID_VIEW_TOOLBAR         "显示或隐藏工具栏\n切换工具栏"
-    ID_VIEW_STATUS_BAR      "显示或隐藏状态栏\n切换状态栏"
+    ID_VIEW_TOOLBAR         "Show or hide the toolbar\nToggle ToolBar"
+    ID_VIEW_STATUS_BAR      "Show or hide the status bar\nToggle Status Bar"
 END
 
 STRINGTABLE 
 BEGIN
-    ID_VIEW_CAPTION_BAR     "显示或隐藏标题栏\n切换标题栏"
+    ID_VIEW_CAPTION_BAR     "Show or hide the caption bar\nToggle Caption Bar"
 END
 
 STRINGTABLE 
 BEGIN
-    AFX_IDS_SCSIZE          "更改窗口大小"
-    AFX_IDS_SCMOVE          "更改窗口位置"
-    AFX_IDS_SCMINIMIZE      "将窗口缩小为图标"
-    AFX_IDS_SCMAXIMIZE      "使窗口最大化显示"
-    AFX_IDS_SCNEXTWINDOW    "切换到下一个文档窗口"
-    AFX_IDS_SCPREVWINDOW    "切换到前一个文档窗口"
-    AFX_IDS_SCCLOSE         "关闭活动窗口并提示保存文档"
+    AFX_IDS_SCSIZE          "Change the window size"
+    AFX_IDS_SCMOVE          "Change the window position"
+    AFX_IDS_SCMINIMIZE      "Reduce the window to an icon"
+    AFX_IDS_SCMAXIMIZE      "Enlarge the window to full size"
+    AFX_IDS_SCNEXTWINDOW    "Switch to the next document window"
+    AFX_IDS_SCPREVWINDOW    "Switch to the previous document window"
+    AFX_IDS_SCCLOSE         "Close the active window and prompts to save the documents"
 END
 
 STRINGTABLE 
 BEGIN
-    AFX_IDS_SCRESTORE       "将窗口恢复到正常大小"
-    AFX_IDS_SCTASKLIST      "激活任务列表"
-    AFX_IDS_MDICHILD        "激活此窗口"
+    AFX_IDS_SCRESTORE       "Restore the window to normal size"
+    AFX_IDS_SCTASKLIST      "Activate Task List"
+    AFX_IDS_MDICHILD        "Activate this window"
 END
 
 STRINGTABLE 
 BEGIN
-    AFX_IDS_PREVIEW_CLOSE   "关闭打印预览模式\n取消预览"
+    AFX_IDS_PREVIEW_CLOSE   "Close print preview mode\nCancel Preview"
 END
 
 STRINGTABLE 
 BEGIN
-    IDS_STATUS_PANE1        "窗格 1"
-    IDS_STATUS_PANE2        "窗格 2"
+    IDS_STATUS_PANE1        "Pane 1"
+    IDS_STATUS_PANE2        "Pane 2"
 END
 
 STRINGTABLE 
 BEGIN
-    IDS_MYCALENDARS         "我的日历"
-    IDS_CALENDAR            "日历"
-    IDS_SHORTCUTS           "快捷方式"
-    IDS_FOLDERS             "文件夹"
+    IDS_MYCALENDARS         "My Calendars"
+    IDS_CALENDAR            "Calendar"
+    IDS_SHORTCUTS           "Shortcuts"
+    IDS_FOLDERS             "Folders"
 END
 
 STRINGTABLE 
 BEGIN
-    IDS_OUTLOOKBAR          "Outlook "
-    IDS_RIBBON_FILE         "文件"
-    IDS_RIBBON_NEW          "新建(&N)"
-    IDS_RIBBON_OPEN         "打开(&O)..."
-    IDS_RIBBON_SAVE         "保存(&S)"
-    IDS_RIBBON_SAVEAS       "另存为(&A)..."
-    IDS_RIBBON_PRINT        "打印"
-    IDS_RIBBON_PRINT_LABEL  "预览并打印文档"
-    IDS_RIBBON_PRINT_QUICK  "快速打印(&Q)"
-    IDS_RIBBON_PRINT_PREVIEW "打印预览(&V)"
-    IDS_RIBBON_PRINT_SETUP  "打印设置(&U)"
-    IDS_RIBBON_CLOSE        "关闭(&C)"
+    IDS_OUTLOOKBAR          "Outlook Bar"
+    IDS_RIBBON_FILE         "File"
+    IDS_RIBBON_NEW          "&New"
+    IDS_RIBBON_OPEN         "&Open..."
+    IDS_RIBBON_SAVE         "&Save"
+    IDS_RIBBON_SAVEAS       "Save &As..."
+    IDS_RIBBON_PRINT        "Print"
+    IDS_RIBBON_PRINT_LABEL  "Preview and print the document"
+    IDS_RIBBON_PRINT_QUICK  "&Quick Print"
+    IDS_RIBBON_PRINT_PREVIEW "Print Pre&view"
+    IDS_RIBBON_PRINT_SETUP  "Print Set&up"
+    IDS_RIBBON_CLOSE        "&Close"
 END
 
 STRINGTABLE 
 BEGIN
-    IDS_RIBBON_RECENT_DOCS  "最近使用的文档"
-    IDS_RIBBON_EXIT         "退出(&X)"
-    IDS_RIBBON_HOME         "主页(&H)"
-    IDS_RIBBON_CLIPBOARD    "剪贴板\nD"
-    IDS_RIBBON_PASTE        "粘贴\nV"
-    IDS_RIBBON_CUT          "剪切\nX"
-    IDS_RIBBON_COPY         "复制\nC"
-    IDS_RIBBON_SELECTALL    "全选\nA"
-    IDS_RIBBON_WINDOW       "窗口\nW"
-    IDS_RIBBON_WINDOWS      "窗口\nI"
-    IDS_RIBBON_STYLE        "样式"
-    IDS_RIBBON_STYLE_TIP    "修改视觉样式"
+    IDS_RIBBON_RECENT_DOCS  "Recent Documents"
+    IDS_RIBBON_EXIT         "E&xit"
+    IDS_RIBBON_HOME         "&Home"
+    IDS_RIBBON_CLIPBOARD    "Clipboard\nd"
+    IDS_RIBBON_PASTE        "Paste\nv"
+    IDS_RIBBON_CUT          "Cut\nx"
+    IDS_RIBBON_COPY         "Copy\nc"
+    IDS_RIBBON_SELECTALL    "Select All\na"
+    IDS_RIBBON_WINDOW       "Window\nw"
+    IDS_RIBBON_WINDOWS      "Windows\ni"
+    IDS_RIBBON_STYLE        "Style"
+    IDS_RIBBON_STYLE_TIP    "Modify Visual Style"
 END
 
 STRINGTABLE 
 BEGIN
-    IDS_RIBBON_STYLE_DESC   "选择一个 Office 2007 主题"
-    IDS_RIBBON_STATUSBAR    "状态栏"
-    IDS_RIBBON_VIEW         "视图"
-    IDS_RIBBON_CAPTIONBAR   "标题栏"
+    IDS_RIBBON_STYLE_DESC   "Choose one of the Office 2007 themes"
+    IDS_RIBBON_STATUSBAR    "Status Bar"
+    IDS_RIBBON_VIEW         "View"
+    IDS_RIBBON_CAPTIONBAR   "Caption Bar"
 END
 
 STRINGTABLE 
 BEGIN
-    IDS_CAPTION_BUTTON      "选项..."
-    IDS_CAPTION_BUTTON_TIP  "单击此处查看其他选项"
-    IDS_CAPTION_TEXT        "这是标题栏,可在其中向用户显示消息。"
-    IDS_CAPTION_IMAGE_TIP   "重要事项"
-    IDS_CAPTION_IMAGE_TEXT  "这是向用户显示的信息性消息。"
+    IDS_CAPTION_BUTTON      "Options..."
+    IDS_CAPTION_BUTTON_TIP  "Click here to see more options"
+    IDS_CAPTION_TEXT        "This is a caption bar where a message can be presented to the user."
+    IDS_CAPTION_IMAGE_TIP   "Important"
+    IDS_CAPTION_IMAGE_TEXT  "Here is an informational message for the user."
 END
 
 STRINGTABLE 
 BEGIN
-    IDS_EDIT_MENU           "编辑"
+    IDS_EDIT_MENU           "Edit"
 END
 
-#endif    // 中文(中华人民共和国) resources
+#endif    // 英语(美国) resources
 /////////////////////////////////////////////////////////////////////////////
 
 
@@ -575,14 +598,14 @@ END
 #define _AFX_NO_TRACKER_RESOURCES
 #define _AFX_NO_PROPERTY_RESOURCES
 
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
-LANGUAGE 4, 2
-#pragma code_page(936)
-#include "res\FieldTestTool.rc2"  // 非 Microsoft Visual C++ 编辑的资源
-#include "l.CHS\afxres.rc"          // 标准组件
-#include "l.CHS\afxprint.rc"        // 打印/打印预览资源
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+LANGUAGE 9, 1
+#pragma code_page(1252)
+#include "res\FieldTestTool.rc2"  // non-Microsoft Visual C++ edited resources
+#include "afxres.rc"         // Standard components
+#include "afxprint.rc"       // printing/print preview resources
 #if !defined(_AFXDLL)
-#include "l.CHS\afxribbon.rc"               // MFC 功能区和控件条资源
+#include "afxribbon.rc"              // MFC ribbon and control bar resources
 #endif
 #endif
 

+ 16 - 0
FieldTestTool/FieldTestTool/FieldTestTool.vcproj

@@ -209,6 +209,10 @@
 				RelativePath=".\MainFrm.cpp"
 				>
 			</File>
+			<File
+				RelativePath=".\PropertiesWnd.cpp"
+				>
+			</File>
 			<File
 				RelativePath=".\stdafx.cpp"
 				>
@@ -259,6 +263,10 @@
 				RelativePath=".\MainFrm.h"
 				>
 			</File>
+			<File
+				RelativePath=".\PropertiesWnd.h"
+				>
+			</File>
 			<File
 				RelativePath=".\Resource.h"
 				>
@@ -337,6 +345,14 @@
 				RelativePath=".\res\pages_small_hc.bmp"
 				>
 			</File>
+			<File
+				RelativePath=".\res\properties_wnd.ico"
+				>
+			</File>
+			<File
+				RelativePath=".\res\properties_wnd_hc.ico"
+				>
+			</File>
 			<File
 				RelativePath=".\res\Toolbar.bmp"
 				>

+ 49 - 0
FieldTestTool/FieldTestTool/MainFrm.cpp

@@ -95,12 +95,14 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
 	// 导航窗格将创建在左侧,因此将暂时禁用左侧的停靠:
 	EnableDocking(CBRS_ALIGN_TOP | CBRS_ALIGN_BOTTOM | CBRS_ALIGN_RIGHT);
 
+#ifndef DISABLE_OUTLOOKBAR
 	// 创建并设置“Outlook”导航栏:
 	if (!CreateOutlookBar(m_wndNavigationBar, ID_VIEW_NAVIGATION, m_wndTree, m_wndCalendar, 250))
 	{
 		TRACE0("未能创建导航窗格\n");
 		return -1;      // 未能创建
 	}
+#endif
 
 #ifndef DISABLE_CAPTIONBAR
 	// 创建标题栏:
@@ -115,6 +117,19 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
 	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");
+        return -1;
+    }
+
+    m_wndProperties.EnableDocking(CBRS_ALIGN_ANY);
+    DockPane(&m_wndProperties);
+
 	// 启用增强的窗口管理对话框
 	EnableWindowsDialog(ID_WINDOW_MANAGER, IDS_WINDOWS_MANAGER, TRUE);
 
@@ -151,6 +166,7 @@ void CMainFrame::InitializeRibbon()
 	m_wndRibbonBar.SetApplicationButton(&m_MainButton, CSize (45, 45));
 	CMFCRibbonMainPanel* pMainPanel = m_wndRibbonBar.AddMainCategory(strTemp, IDB_FILESMALL, IDB_FILELARGE);
 
+#if 0 // 禁用文档相关菜单;
 	bNameValid = strTemp.LoadString(IDS_RIBBON_NEW);
 	ASSERT(bNameValid);
 	pMainPanel->Add(new CMFCRibbonButton(ID_FILE_NEW, strTemp, 0, 0));
@@ -163,7 +179,9 @@ void CMainFrame::InitializeRibbon()
 	bNameValid = strTemp.LoadString(IDS_RIBBON_SAVEAS);
 	ASSERT(bNameValid);
 	pMainPanel->Add(new CMFCRibbonButton(ID_FILE_SAVE_AS, strTemp, 3, 3));
+#endif
 
+#if 0 // 禁用打印相关的菜单;
 	bNameValid = strTemp.LoadString(IDS_RIBBON_PRINT);
 	ASSERT(bNameValid);
 	CMFCRibbonButton* pBtnPrint = new CMFCRibbonButton(ID_FILE_PRINT, strTemp, 6, 6);
@@ -182,14 +200,17 @@ void CMainFrame::InitializeRibbon()
 	pBtnPrint->AddSubItem(new CMFCRibbonButton(ID_FILE_PRINT_SETUP, strTemp, 11, 11, TRUE));
 	pMainPanel->Add(pBtnPrint);
 	pMainPanel->Add(new CMFCRibbonSeparator(TRUE));
+#endif
 
 	bNameValid = strTemp.LoadString(IDS_RIBBON_CLOSE);
 	ASSERT(bNameValid);
 	pMainPanel->Add(new CMFCRibbonButton(ID_FILE_CLOSE, strTemp, 9, 9));
 
+#if 0 // 去掉最近打开的文档;
 	bNameValid = strTemp.LoadString(IDS_RIBBON_RECENT_DOCS);
 	ASSERT(bNameValid);
 	pMainPanel->AddRecentFilesList(strTemp);
+#endif
 
 	bNameValid = strTemp.LoadString(IDS_RIBBON_EXIT);
 	ASSERT(bNameValid);
@@ -275,6 +296,33 @@ void CMainFrame::InitializeRibbon()
 
 }
 
+BOOL CMainFrame::CreateDockingWindows()
+{
+    BOOL bNameValid;
+
+    // 创建属性窗口
+    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; // 未能创建
+    }
+
+    SetDockingWindowIcons(theApp.m_bHiColorIcons);
+    return TRUE;
+}
+
+void CMainFrame::SetDockingWindowIcons(BOOL bHiColorIcons)
+{
+    HICON hPropertiesBarIcon = (HICON) ::LoadImage(::AfxGetResourceHandle(), MAKEINTRESOURCE(bHiColorIcons ? IDI_PROPERTIES_WND_HC : IDI_PROPERTIES_WND), IMAGE_ICON, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON), 0);
+    m_wndProperties.SetIcon(hPropertiesBarIcon, FALSE);
+
+    UpdateMDITabbedBarsIcons();
+}
+
+#ifndef DISABLE_OUTLOOKBAR
 BOOL CMainFrame::CreateOutlookBar(CMFCOutlookBar& bar, UINT uiID, CMFCShellTreeCtrl& tree, CCalendarBar& calendar, int nInitialWidth)
 {
 	CWindowDC dc(NULL);
@@ -333,6 +381,7 @@ BOOL CMainFrame::CreateOutlookBar(CMFCOutlookBar& bar, UINT uiID, CMFCShellTreeC
 
 	return TRUE;
 }
+#endif
 
 #ifndef DISABLE_CAPTIONBAR
 BOOL CMainFrame::CreateCaptionBar()

+ 6 - 0
FieldTestTool/FieldTestTool/MainFrm.h

@@ -15,6 +15,7 @@
 #pragma once
 #include "CalendarBar.h"
 #include "Resource.h"
+#include "PropertiesWnd.h"
 
 class COutlookBar : public CMFCOutlookBar
 {
@@ -51,12 +52,15 @@ protected:  // 
 	CMFCRibbonApplicationButton m_MainButton;
 	CMFCToolBarImages m_PanelImages;
 	CMFCRibbonStatusBar  m_wndStatusBar;
+#ifndef DISABLE_OUTLOOKBAR
 	COutlookBar       m_wndNavigationBar;
 	CMFCShellTreeCtrl m_wndTree;
 	CCalendarBar      m_wndCalendar;
+#endif
 #ifndef DISABLE_CAPTIONBAR
 	CMFCCaptionBar    m_wndCaptionBar;
 #endif
+    CPropertiesWnd    m_wndProperties;
 
 // Éú³ÉµÄÏûÏ¢Ó³É亯Êý
 protected:
@@ -71,6 +75,8 @@ protected:
 	DECLARE_MESSAGE_MAP()
 
 	void InitializeRibbon();
+    BOOL CreateDockingWindows();
+    void SetDockingWindowIcons(BOOL bHiColorIcons);
 	BOOL CreateOutlookBar(CMFCOutlookBar& bar, UINT uiID, CMFCShellTreeCtrl& tree, CCalendarBar& calendar, int nInitialWidth);
 	BOOL CreateCaptionBar();
 

+ 140 - 0
FieldTestTool/FieldTestTool/PropertiesWnd.cpp

@@ -0,0 +1,140 @@
+// 这段 MFC 示例源代码演示如何使用 MFC Microsoft Office Fluent 用户界面 
+// ("Fluent UI"),该示例仅作为参考资料提供, 
+// 用以补充《Microsoft 基础类参考》和 
+// MFC C++ 库软件随附的相关电子文档。
+// 复制、使用或分发 Fluent UI 的许可条款是单独提供的。
+// 若要了解有关 Fluent UI 许可计划的详细信息,请访问  
+// http://msdn.microsoft.com/officeui。
+//
+// 版权所有 (C) Microsoft Corporation
+// 保留所有权利。
+
+#include "stdafx.h"
+
+#include "PropertiesWnd.h"
+#include "Resource.h"
+#include "MainFrm.h"
+#include "FieldTestTool.h"
+
+#ifdef _DEBUG
+#undef THIS_FILE
+static char THIS_FILE[]=__FILE__;
+#define new DEBUG_NEW
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+// CResourceViewBar
+
+CPropertiesWnd::CPropertiesWnd()
+{
+}
+
+CPropertiesWnd::~CPropertiesWnd()
+{
+}
+
+BEGIN_MESSAGE_MAP(CPropertiesWnd, CDockablePane)
+	ON_WM_CREATE()
+	ON_WM_SIZE()
+	ON_WM_SETFOCUS()
+	ON_WM_SETTINGCHANGE()
+    ON_WM_PAINT()
+END_MESSAGE_MAP()
+
+/////////////////////////////////////////////////////////////////////////////
+// CResourceViewBar 消息处理程序
+
+void CPropertiesWnd::AdjustLayout()
+{
+	if (GetSafeHwnd() == NULL)
+	{
+		return;
+	}
+
+	CRect rectClient,rectCombo;
+	GetClientRect(rectClient);
+
+	
+}
+
+int CPropertiesWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
+{
+	if (CDockablePane::OnCreate(lpCreateStruct) == -1)
+		return -1;
+
+	CRect rectDummy;
+	rectDummy.SetRectEmpty();
+
+	// 创建组合:
+	const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST | WS_BORDER | CBS_SORT | WS_CLIPSIBLINGS | WS_CLIPCHILDREN;
+
+
+
+	InitPropList();
+
+
+
+	AdjustLayout();
+	return 0;
+}
+
+void CPropertiesWnd::OnSize(UINT nType, int cx, int cy)
+{
+	CDockablePane::OnSize(nType, cx, cy);
+	AdjustLayout();
+}
+
+void CPropertiesWnd::InitPropList()
+{
+	SetPropListFont();
+
+
+}
+
+void CPropertiesWnd::OnSetFocus(CWnd* pOldWnd)
+{
+	CDockablePane::OnSetFocus(pOldWnd);
+	
+}
+
+void CPropertiesWnd::OnSettingChange(UINT uFlags, LPCTSTR lpszSection)
+{
+	CDockablePane::OnSettingChange(uFlags, lpszSection);
+	SetPropListFont();
+}
+
+void CPropertiesWnd::SetPropListFont()
+{
+	::DeleteObject(m_fntPropList.Detach());
+
+	LOGFONT lf;
+	afxGlobalData.fontRegular.GetLogFont(&lf);
+
+	NONCLIENTMETRICS info;
+	info.cbSize = sizeof(info);
+
+	afxGlobalData.GetNonClientMetrics(info);
+
+	lf.lfHeight = info.lfMenuFont.lfHeight;
+	lf.lfWeight = info.lfMenuFont.lfWeight;
+	lf.lfItalic = info.lfMenuFont.lfItalic;
+
+	m_fntPropList.CreateFontIndirect(&lf);
+
+}
+
+// 如果CDockablePane无控件,改变大小时背景会刷新失败;
+// 所以要重载onpaint;
+void CPropertiesWnd::OnPaint()
+{
+    CPaintDC dc(this); // device context for painting
+    // TODO: 在此处添加消息处理程序代码
+    // 不为绘图消息调用 CDockablePane::OnPaint()
+    CRect rc;
+    GetClientRect(rc);
+    CBrush   brush;
+    // 获取office风格主题颜色;
+    // CMFCVisualManagerOffice2007继承于CMFCVisualManager,使用CMFCVisualManager的GetInstance获取父对象指针后转换为CMFCVisualManagerOffice2007对象指针;
+    brush.CreateSolidBrush(((CMFCVisualManagerOffice2007*)CMFCVisualManagerOffice2007::GetInstance())->GetRibbonEditBackgroundColor(FALSE,FALSE));
+    dc.FillRect(&rc, &brush);
+}

+ 69 - 0
FieldTestTool/FieldTestTool/PropertiesWnd.h

@@ -0,0 +1,69 @@
+// 这段 MFC 示例源代码演示如何使用 MFC Microsoft Office Fluent 用户界面 
+// ("Fluent UI"),该示例仅作为参考资料提供, 
+// 用以补充《Microsoft 基础类参考》和 
+// MFC C++ 库软件随附的相关电子文档。
+// 复制、使用或分发 Fluent UI 的许可条款是单独提供的。
+// 若要了解有关 Fluent UI 许可计划的详细信息,请访问  
+// http://msdn.microsoft.com/officeui。
+//
+// 版权所有 (C) Microsoft Corporation
+// 保留所有权利。
+
+#pragma once
+
+class CPropertiesToolBar : public CMFCToolBar
+{
+public:
+	virtual void OnUpdateCmdUI(CFrameWnd* /*pTarget*/, BOOL bDisableIfNoHndler)
+	{
+		CMFCToolBar::OnUpdateCmdUI((CFrameWnd*) GetOwner(), bDisableIfNoHndler);
+	}
+
+	virtual BOOL AllowShowOnList() const { return FALSE; }
+};
+
+class CPropertiesWnd : public CDockablePane
+{
+// 构造
+public:
+	CPropertiesWnd();
+
+	void AdjustLayout();
+
+// 属性
+public:
+	void SetVSDotNetLook(BOOL bSet)
+	{
+		//m_wndPropList.SetVSDotNetLook(bSet);
+		//m_wndPropList.SetGroupNameFullWidth(bSet);
+	}
+
+    // 去掉关闭按钮;但组合多个pane时无效;
+    virtual BOOL CanBeClosed() const { return FALSE; };
+    // 禁止拖动Pane;
+    virtual BOOL FloatPane(CRect rectFloat, AFX_DOCK_METHOD dockMethod = DM_UNKNOWN, bool bShow = true) { return FALSE; }
+    // 禁用停靠,双击底部无效(不会停靠)
+    virtual BOOL CanFloat() const { return FALSE; };
+
+protected:
+	CFont m_fntPropList;
+
+// 实现
+public:
+	virtual ~CPropertiesWnd();
+
+protected:
+	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
+	afx_msg void OnSize(UINT nType, int cx, int cy);
+	
+	afx_msg void OnSetFocus(CWnd* pOldWnd);
+	afx_msg void OnSettingChange(UINT uFlags, LPCTSTR lpszSection);
+
+	DECLARE_MESSAGE_MAP()
+
+	void InitPropList();
+	void SetPropListFont();
+public:
+    afx_msg void OnPaint();
+};
+

+ 90 - 86
FieldTestTool/FieldTestTool/Resource.h

@@ -2,94 +2,98 @@
 // Microsoft Visual C++ generated include file.
 // Used by FieldTestTool.rc
 //
-#define IDR_PASTE_MENU				151
-#define IDR_WINDOWS_MENU			152
-#define IDD_ABOUTBOX				100
-#define IDP_OLE_INIT_FAILED			100
-#define ID_WRITE_PASTEASHYPERLINK	32770
-#define IDB_WRITESMALL				110
-#define IDB_WRITELARGE				111
-#define IDB_MAIN					112
-#define IDB_BUTTONS					113
-#define IDB_FILELARGE				114
-#define IDB_FILESMALL				115
-#define IDR_POPUP_EDIT				119
-#define ID_STATUSBAR_PANE1			120
-#define ID_STATUSBAR_PANE2			121
-#define IDS_STATUS_PANE1			122
-#define IDS_STATUS_PANE2			123
-#define IDR_MAINFRAME				128
-#define IDR_MAINFRAME_256			129
-#define IDR_FieldTestToolTYPE				130
-#define ID_WINDOW_MANAGER			131
-#define IDS_WINDOWS_MANAGER			132
-#define ID_VIEW_NAVIGATION			185
-#define IDB_NAVIGATION_LARGE		186
-#define IDB_NAVIGATION_LARGE_HC		187
-#define IDB_PAGES					188
-#define IDB_PAGES_HC				189
-#define IDB_PAGES_SMALL				190
-#define IDB_PAGES_SMALL_HC			191
-#define IDR_THEME_MENU				200
-#define ID_SET_STYLE				201
-#define ID_VIEW_APPLOOK_WIN_2000	210
-#define ID_VIEW_APPLOOK_OFF_XP		211
-#define ID_VIEW_APPLOOK_WIN_XP		212
-#define ID_VIEW_APPLOOK_OFF_2003	213
-#define ID_VIEW_APPLOOK_VS_2005		214
-#define ID_VIEW_APPLOOK_OFF_2007_BLUE	215
-#define ID_VIEW_APPLOOK_OFF_2007_BLACK	216
-#define ID_VIEW_APPLOOK_OFF_2007_SILVER	217
-#define ID_VIEW_APPLOOK_OFF_2007_AQUA	218
-#define ID_TOOLS_OPTIONS			220
-#define ID_VIEW_CAPTION_BAR			221
-#define IDB_INFO					230
-#define IDS_CAPTION_BUTTON			231
-#define IDS_CAPTION_BUTTON_TIP		232
-#define IDS_CAPTION_TEXT			233
-#define IDS_CAPTION_IMAGE_TIP		234
-#define IDS_CAPTION_IMAGE_TEXT		235
-#define IDS_MYCALENDARS				250
-#define IDS_CALENDAR				251
-#define IDS_SHORTCUTS				252
-#define IDS_FOLDERS					253
-#define IDS_OUTLOOKBAR				258
-#define IDS_RIBBON_FILE				260
-#define IDS_RIBBON_NEW				262
-#define IDS_RIBBON_OPEN				263
-#define IDS_RIBBON_SAVE				264
-#define IDS_RIBBON_SAVEAS			265
-#define IDS_RIBBON_PRINT			266
-#define IDS_RIBBON_PRINT_LABEL		267
-#define IDS_RIBBON_PRINT_QUICK		268
-#define IDS_RIBBON_PRINT_PREVIEW	269
-#define IDS_RIBBON_PRINT_SETUP		270
-#define IDS_RIBBON_CLOSE			271
-#define IDS_RIBBON_RECENT_DOCS		272
-#define IDS_RIBBON_EXIT				273
-#define IDS_RIBBON_HOME				274
-#define IDS_RIBBON_CLIPBOARD		275
-#define IDS_RIBBON_PASTE			276
-#define IDS_RIBBON_CUT				277
-#define IDS_RIBBON_COPY				278
-#define IDS_RIBBON_SELECTALL		279
-#define IDS_RIBBON_WINDOW			284
-#define IDS_RIBBON_WINDOWS			285
-#define IDS_RIBBON_STYLE			286
-#define IDS_RIBBON_STYLE_TIP		287
-#define IDS_RIBBON_STYLE_DESC		288
-#define IDS_RIBBON_STATUSBAR		289
-#define IDS_RIBBON_VIEW				290
-#define IDS_RIBBON_CAPTIONBAR		295
-#define IDS_EDIT_MENU				306
+#define IDD_ABOUTBOX                    100
+#define IDP_OLE_INIT_FAILED             100
+#define IDS_PROPERTIES_WND              101
+#define IDB_WRITESMALL                  110
+#define IDB_WRITELARGE                  111
+#define IDB_MAIN                        112
+#define IDB_BUTTONS                     113
+#define IDB_FILELARGE                   114
+#define IDB_FILESMALL                   115
+#define IDR_POPUP_EDIT                  119
+#define ID_STATUSBAR_PANE1              120
+#define ID_STATUSBAR_PANE2              121
+#define IDS_STATUS_PANE1                122
+#define IDS_STATUS_PANE2                123
+#define IDR_MAINFRAME                   128
+#define IDR_MAINFRAME_256               129
+#define IDR_FieldTestToolTYPE           130
+#define ID_WINDOW_MANAGER               131
+#define IDS_WINDOWS_MANAGER             132
+#define IDR_PASTE_MENU                  151
+#define IDR_WINDOWS_MENU                152
+#define ID_VIEW_NAVIGATION              185
+#define IDB_NAVIGATION_LARGE            186
+#define IDB_NAVIGATION_LARGE_HC         187
+#define IDB_PAGES                       188
+#define IDB_PAGES_HC                    189
+#define IDB_PAGES_SMALL                 190
+#define IDB_PAGES_SMALL_HC              191
+#define IDR_THEME_MENU                  200
+#define ID_SET_STYLE                    201
+#define ID_VIEW_APPLOOK_WIN_2000        210
+#define ID_VIEW_APPLOOK_OFF_XP          211
+#define ID_VIEW_APPLOOK_WIN_XP          212
+#define ID_VIEW_APPLOOK_OFF_2003        213
+#define ID_VIEW_APPLOOK_VS_2005         214
+#define ID_VIEW_APPLOOK_OFF_2007_BLUE   215
+#define ID_VIEW_APPLOOK_OFF_2007_BLACK  216
+#define ID_VIEW_APPLOOK_OFF_2007_SILVER 217
+#define ID_VIEW_APPLOOK_OFF_2007_AQUA   218
+#define ID_TOOLS_OPTIONS                220
+#define ID_VIEW_CAPTION_BAR             221
+#define IDB_INFO                        230
+#define IDS_CAPTION_BUTTON              231
+#define IDS_CAPTION_BUTTON_TIP          232
+#define IDS_CAPTION_TEXT                233
+#define IDS_CAPTION_IMAGE_TIP           234
+#define IDS_CAPTION_IMAGE_TEXT          235
+#define IDS_MYCALENDARS                 250
+#define IDS_CALENDAR                    251
+#define IDS_SHORTCUTS                   252
+#define IDS_FOLDERS                     253
+#define IDS_OUTLOOKBAR                  258
+#define IDS_RIBBON_FILE                 260
+#define IDS_RIBBON_NEW                  262
+#define IDS_RIBBON_OPEN                 263
+#define IDS_RIBBON_SAVE                 264
+#define IDS_RIBBON_SAVEAS               265
+#define IDS_RIBBON_PRINT                266
+#define IDS_RIBBON_PRINT_LABEL          267
+#define IDS_RIBBON_PRINT_QUICK          268
+#define IDS_RIBBON_PRINT_PREVIEW        269
+#define IDS_RIBBON_PRINT_SETUP          270
+#define IDS_RIBBON_CLOSE                271
+#define IDS_RIBBON_RECENT_DOCS          272
+#define IDS_RIBBON_EXIT                 273
+#define IDS_RIBBON_HOME                 274
+#define IDS_RIBBON_CLIPBOARD            275
+#define IDS_RIBBON_PASTE                276
+#define IDS_RIBBON_CUT                  277
+#define IDS_RIBBON_COPY                 278
+#define IDS_RIBBON_SELECTALL            279
+#define IDS_RIBBON_WINDOW               284
+#define IDS_RIBBON_WINDOWS              285
+#define IDS_RIBBON_STYLE                286
+#define IDS_RIBBON_STYLE_TIP            287
+#define IDS_RIBBON_STYLE_DESC           288
+#define IDS_RIBBON_STATUSBAR            289
+#define IDS_RIBBON_VIEW                 290
+#define IDS_RIBBON_CAPTIONBAR           295
+#define IDS_EDIT_MENU                   306
+#define ID_VIEW_PROPERTIESWND           307
+#define IDI_PROPERTIES_WND              310
+#define IDI_PROPERTIES_WND_HC           311
+#define ID_WRITE_PASTEASHYPERLINK       32770
 
-// жÔÏóµÄÏÂÒ»×éĬÈÏÖµ
-//
+// Next default values for new objects
+// 
 #ifdef APSTUDIO_INVOKED
 #ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE	310
-#define _APS_NEXT_CONTROL_VALUE		1000
-#define _APS_NEXT_SYMED_VALUE		310
-#define _APS_NEXT_COMMAND_VALUE		32771
+#define _APS_NEXT_RESOURCE_VALUE        312
+#define _APS_NEXT_COMMAND_VALUE         32771
+#define _APS_NEXT_CONTROL_VALUE         1000
+#define _APS_NEXT_SYMED_VALUE           310
 #endif
 #endif

+ 3 - 3
FieldTestTool/FieldTestTool/res/FieldTestTool.rc2

@@ -1,13 +1,13 @@
 //
-// FieldTestTool.RC2 - Microsoft Visual C++ 不会直接编辑的资源
+// FieldTestTool.RC2 - resources Microsoft Visual C++ does not edit directly
 //
 
 #ifdef APSTUDIO_INVOKED
-#error 此文件不能用 Microsoft Visual C++ 编辑
+#error this file is not editable by Microsoft Visual C++
 #endif //APSTUDIO_INVOKED
 
 
 /////////////////////////////////////////////////////////////////////////////
-// 在此处添加手动编辑的资源...
+// Add manually edited resources here...
 
 /////////////////////////////////////////////////////////////////////////////

BIN=BIN
FieldTestTool/FieldTestTool/res/properties_wnd.ico


BIN=BIN
FieldTestTool/FieldTestTool/res/properties_wnd_hc.ico


+ 2 - 0
FieldTestTool/FieldTestTool/stdafx.h

@@ -55,6 +55,8 @@
 #define DISABLE_QUICKACCESS
 // ½ûÖ¹Æô¶¯´´½¨Îĵµ;
 #define DISABLE_NEWFILE
+// ½ûÓÃOutLookBar
+#define DISABLE_OUTLOOKBAR