Browse Source

修复断点不能命中的问题,最主要是没使用预编译头引起的

张洋 1 month ago
parent
commit
e81f57f6e0
100 changed files with 929 additions and 913 deletions
  1. 5 0
      .editorconfig
  2. 8 0
      .github/copilot-instructions.md
  3. 3 3
      DuiLib/Control/UIActiveX.cpp
  4. 2 2
      DuiLib/Control/UIButton.cpp
  5. 4 4
      DuiLib/Control/UIColorPalette.cpp
  6. 6 6
      DuiLib/Control/UIColorPalette.h
  7. 8 8
      DuiLib/Control/UICombo.cpp
  8. 3 3
      DuiLib/Control/UIComboBox.h
  9. 3 3
      DuiLib/Control/UIDateTime.cpp
  10. 2 2
      DuiLib/Control/UIDateTime.h
  11. 2 2
      DuiLib/Control/UIFlash.cpp
  12. 4 4
      DuiLib/Control/UIFlash.h
  13. 7 7
      DuiLib/Control/UIGifAnim.h
  14. 11 11
      DuiLib/Control/UIGifAnimEx.cpp
  15. 3 3
      DuiLib/Control/UIGifAnimEx.h
  16. 3 3
      DuiLib/Control/UIGroupBox.cpp
  17. 2 2
      DuiLib/Control/UIHotKey.cpp
  18. 2 2
      DuiLib/Control/UIIPAddress.cpp
  19. 3 3
      DuiLib/Control/UIIPAddress.h
  20. BIN
      DuiLib/Control/UIIPAddressEx.cpp
  21. 3 3
      DuiLib/Control/UIIPAddressEx.h
  22. 5 5
      DuiLib/Control/UILabel.cpp
  23. 6 6
      DuiLib/Control/UIList.h
  24. 21 21
      DuiLib/Control/UIListEx.cpp
  25. 12 12
      DuiLib/Control/UIListEx.h
  26. 3 3
      DuiLib/Control/UILoading.cpp
  27. 6 6
      DuiLib/Control/UILoading.h
  28. 4 4
      DuiLib/Control/UIMenu.cpp
  29. 25 25
      DuiLib/Control/UIMenu.h
  30. 20 20
      DuiLib/Control/UIPageControl.cpp
  31. 13 13
      DuiLib/Control/UIPageControl.h
  32. 16 16
      DuiLib/Control/UIRichEdit.cpp
  33. 3 3
      DuiLib/Control/UIRichEdit.h
  34. 9 9
      DuiLib/Control/UIRollText.cpp
  35. 261 261
      DuiLib/Control/UITreeView.cpp
  36. 3 3
      DuiLib/Control/UIWebBrowser.cpp
  37. 8 8
      DuiLib/Control/UIWebBrowser.h
  38. 6 6
      DuiLib/Core/UIBase.cpp
  39. 2 2
      DuiLib/Core/UIBase.h
  40. 7 7
      DuiLib/Core/UIContainer.cpp
  41. 2 2
      DuiLib/Core/UIContainer.h
  42. 31 31
      DuiLib/Core/UIControl.h
  43. 28 28
      DuiLib/Core/UIDefine.h
  44. 11 11
      DuiLib/Core/UIDlgBuilder.cpp
  45. 36 36
      DuiLib/Core/UIManager.cpp
  46. 18 18
      DuiLib/Core/UIManager.h
  47. 4 4
      DuiLib/Core/UIMarkup.cpp
  48. 35 35
      DuiLib/Core/UIRender.cpp
  49. 7 7
      DuiLib/Core/UIRender.h
  50. 7 7
      DuiLib/Core/UIResourceManager.cpp
  51. 2 2
      DuiLib/Core/UIResourceManager.h
  52. 5 3
      DuiLib/DuiLib.vcxproj
  53. 3 3
      DuiLib/Layout/UIHorizontalLayout.cpp
  54. 2 2
      DuiLib/Layout/UIVerticalLayout.cpp
  55. 3 3
      DuiLib/StdAfx.h
  56. 4 4
      DuiLib/Utils/FlashEventHandler.h
  57. 20 20
      DuiLib/Utils/UIShadow.h
  58. 2 2
      DuiLib/Utils/Utils.cpp
  59. 3 3
      DuiLib/Utils/WebBrowserEventHandler.h
  60. 8 8
      DuiLib/Utils/WinImplBase.cpp
  61. 3 3
      DuiLib/Utils/WinImplBase.h
  62. BIN
      bin/Win32/Debug/zhipuzi_pos_windows/DuiLib_d.dll
  63. BIN
      bin/Win32/Release/zhipuzi_pos_windows/DuiLib.dll
  64. BIN
      dll/debug/DuiLib_d.dll
  65. BIN
      dll/release/DuiLib.dll
  66. 1 1
      zhipuzi_pos_windows/ai/ImageProcessor.cpp
  67. 1 1
      zhipuzi_pos_windows/ai/SQLiteVecManager.cpp
  68. 1 1
      zhipuzi_pos_windows/ai/YoloFeatureManager.cpp
  69. 2 3
      zhipuzi_pos_windows/control/CDiandanFoodItemUI.cpp
  70. 1 1
      zhipuzi_pos_windows/control/CDiandanFoodItemUI.h
  71. 21 21
      zhipuzi_pos_windows/control/CDiandanNatureItemUI.cpp
  72. 30 30
      zhipuzi_pos_windows/control/CDiandanNatureItemUI.h
  73. 11 11
      zhipuzi_pos_windows/control/CDianneiOrderItemUI.cpp
  74. 2 2
      zhipuzi_pos_windows/control/CDianneiOrderItemUI.h
  75. 3 2
      zhipuzi_pos_windows/control/CFoodXuexiImageItemUI.cpp
  76. 1 1
      zhipuzi_pos_windows/control/CFoodXuexiImageItemUI.h
  77. 2 1
      zhipuzi_pos_windows/control/CFoodtypeOptionUI.cpp
  78. 1 1
      zhipuzi_pos_windows/control/CFoodtypeOptionUI.h
  79. 10 10
      zhipuzi_pos_windows/control/CShoukuanOrderItemUI.cpp
  80. 3 3
      zhipuzi_pos_windows/control/CShoukuanOrderItemUI.h
  81. 1 0
      zhipuzi_pos_windows/control/CTabletypeOptionUI.cpp
  82. 2 2
      zhipuzi_pos_windows/control/CTabletypeOptionUI.h
  83. 1 1
      zhipuzi_pos_windows/control/CWaimaiOrderItemUI.cpp
  84. 1 1
      zhipuzi_pos_windows/control/CWaimaiOrderItemUI.h
  85. 16 16
      zhipuzi_pos_windows/control/CZhengcanOrderItemUI.cpp
  86. 3 3
      zhipuzi_pos_windows/control/CZhengcanOrderItemUI.h
  87. 21 22
      zhipuzi_pos_windows/control/CZhengcanTableItemUI.cpp
  88. 1 1
      zhipuzi_pos_windows/control/CZhengcanTableItemUI.h
  89. 1 1
      zhipuzi_pos_windows/control/ControlEx.h
  90. 1 1
      zhipuzi_pos_windows/helper/CBitmapHelper.cpp
  91. 1 1
      zhipuzi_pos_windows/helper/CBitmapHelper.h
  92. 6 6
      zhipuzi_pos_windows/helper/CComHelper.cpp
  93. 17 17
      zhipuzi_pos_windows/helper/CExceptionDmp.cpp
  94. 6 6
      zhipuzi_pos_windows/helper/CLewaimaiJson.cpp
  95. 8 8
      zhipuzi_pos_windows/helper/CLewaimaiJson.h
  96. 1 1
      zhipuzi_pos_windows/helper/CLewaimaiLog.cpp
  97. 1 1
      zhipuzi_pos_windows/helper/CLewaimaiString.cpp
  98. 1 1
      zhipuzi_pos_windows/helper/CLewaimaiString.h
  99. 1 1
      zhipuzi_pos_windows/helper/CLewaimaiTime.cpp
  100. 1 1
      zhipuzi_pos_windows/helper/CRandomHelper.cpp

+ 5 - 0
.editorconfig

@@ -1,6 +1,11 @@
 # Visual Studio 生成了具有 C++ 设置的 .editorconfig 文件。
 root = true
 
+[*.{cpp,h,hpp,c}]
+charset = utf-8-bom
+end_of_line = crlf
+insert_final_newline = true
+
 [*.{c++,cc,cpp,cppm,cxx,h,h++,hh,hpp,hxx,inl,ipp,ixx,tlh,tli}]
 
 # Visual C++ 代码样式设置

+ 8 - 0
.github/copilot-instructions.md

@@ -0,0 +1,8 @@
+# Copilot Instructions
+
+## 项目指南
+- 排查当前断点问题时,不要处理或撤销 DuiLib 的符号部署改动;只检查主程序调试问题。
+- 主程序 Debug|Win32 已关闭增量链接;重新生成后断点仍无法命中,不能再将问题归因于增量链接。
+- 断点失效模式:完整重新生成后全部可用;仅修改并重新生成部分 .cpp 后,未修改的 CPosPrinter.cpp 断点失效。这表明问题与未重编译 OBJ 的调试信息保留有关。
+- 对照实验表明 /Z7 未解决:完整重新生成后断点正常,但任意部分 .cpp 修改并普通生成后,连被修改的主入口文件断点也失效;不应再将根因归为 /Zi 共享编译器 PDB。
+- 不要切换到 v143;当前断点问题与 v142 本身无关,后续应继续排查当前工具链和调试缓存。

+ 3 - 3
DuiLib/Control/UIActiveX.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+#include "StdAfx.h"
 
 namespace DuiLib {
 
@@ -1124,7 +1124,7 @@ namespace DuiLib {
 
 	void CActiveXUI::ReleaseControl()
 	{
-		// ÒÆ³ýÏûÏ¢Á´
+		// 移除消�链
 		if(m_pManager != NULL) m_pManager->RemoveMessageFilter(this);
 
 		if( m_pUnk != NULL ) {
@@ -1141,7 +1141,7 @@ namespace DuiLib {
 			m_pUnk->Release(); 
 			m_pUnk = NULL;
 		}		
-		// Ïú»ÙCActiveXCtrl
+		// 销�CActiveXCtrl
 		if( m_pControl != NULL ) {
 			m_pControl->m_pOwner = NULL;
 			m_pControl->Release();

+ 2 - 2
DuiLib/Control/UIButton.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+#include "StdAfx.h"
 #include "UIButton.h"
 
 namespace DuiLib
@@ -704,7 +704,7 @@ namespace DuiLib
 	void CButtonUI::DrawBorder(HDC hDC, const RECT& rcItem, const DWORD& dwBorderColor, const int& nBorderSize, const RECT& rcBorderSize, const SIZE& cxyBorderRound, const int& nBorderStyle)
 	{
 		if (dwBorderColor != 0) {
-			//»­Ô²½Ç±ß¿ò
+			//画圆角边框
 			if (nBorderSize > 0 && (cxyBorderRound.cx > 0 || cxyBorderRound.cy > 0)) {
 					CRenderEngine::DrawRoundRect(hDC, rcItem, nBorderSize, cxyBorderRound.cx, cxyBorderRound.cy, GetAdjustColor(dwBorderColor), nBorderStyle);
 			}

+ 4 - 4
DuiLib/Control/UIColorPalette.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 #include <math.h>
 
 namespace DuiLib {
@@ -179,7 +179,7 @@ namespace DuiLib {
 	void CColorPaletteUI::SetBarHeight(int nHeight)
 	{
 		if (nHeight>150) {
-			nHeight = 150; //限制最大高度,由于当前设计,nheight超出190,程序会因越界访问崩溃
+			nHeight = 150; //闄愬埗鏈€澶ч珮搴︼紝鐢变簬褰撳墠璁捐�锛宯height瓒呭嚭190锛岀▼搴忎細鍥犺秺鐣岃�闂�穿婧�
 		}
 		m_nBarHeight = nHeight;
 	}
@@ -347,7 +347,7 @@ namespace DuiLib {
 		int nSaveDC = ::SaveDC(hDC);
 
 		::SetStretchBltMode(hDC, HALFTONE);
-		//拉伸模式将内存图画到控件上
+		//鎷変几妯″紡灏嗗唴瀛樺浘鐢诲埌鎺т欢涓�
 		StretchBlt(hDC, m_rcItem.left, m_rcItem.top, m_rcItem.right - m_rcItem.left, m_nPalletHeight, m_MemDc, 0, 1, 360, 200, SRCCOPY);
 		StretchBlt(hDC, m_rcItem.left, m_rcItem.bottom - m_nBarHeight, m_rcItem.right - m_rcItem.left, m_nBarHeight, m_MemDc, 0, 210, 200, m_nBarHeight, SRCCOPY);
 
@@ -387,7 +387,7 @@ namespace DuiLib {
 		int x, y;
 		BYTE *pPiexl;
 		DWORD dwColor;
-		//这里画出Bar
+		//杩欓噷鐢诲嚭Bar
 		for (y = 0; y < m_nBarHeight; ++y) {
 			for (x = 0; x < 200; ++x) {
 				pPiexl = LPBYTE(m_pBits) + ((210 + y)*m_bmInfo.bmWidthBytes) + ((x*m_bmInfo.bmBitsPixel) / 8);

+ 6 - 6
DuiLib/Control/UIColorPalette.h

@@ -1,4 +1,4 @@
-#ifndef UI_PALLET_H
+锘�#ifndef UI_PALLET_H
 #define UI_PALLET_H
 #pragma once
 
@@ -12,7 +12,7 @@ namespace DuiLib {
 		CColorPaletteUI();
 		virtual ~CColorPaletteUI();
 
-		//获取最终被选择的颜色,可以直接用于设置duilib背景色
+		//鑾峰彇鏈€缁堣�閫夋嫨鐨勯�鑹诧紝鍙�互鐩存帴鐢ㄤ簬璁剧疆duilib鑳屾櫙鑹�
 		DWORD GetSelectColor();
 		void SetSelectColor(DWORD dwColor);
 
@@ -20,14 +20,14 @@ namespace DuiLib {
 		virtual LPVOID GetInterface(LPCTSTR pstrName);
 		virtual void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue);
 
-		//设置/获取 Pallet(调色板主界面)的高度
+		//璁剧疆/鑾峰彇 Pallet锛堣皟鑹叉澘涓荤晫闈�級鐨勯珮搴�
 		void SetPalletHeight(int nHeight);
 		int	GetPalletHeight() const;
 
-		//设置/获取 下方Bar(亮度选择栏)的高度
+		//璁剧疆/鑾峰彇 涓嬫柟Bar锛堜寒搴﹂€夋嫨鏍忥級鐨勯珮搴�
 		void SetBarHeight(int nHeight);
 		int GetBarHeight() const;
-		//设置/获取 选择图标的路径
+		//璁剧疆/鑾峰彇 閫夋嫨鍥炬爣鐨勮矾寰�
 		void SetThumbImage(LPCTSTR pszImage);
 		LPCTSTR GetThumbImage() const;
 
@@ -38,7 +38,7 @@ namespace DuiLib {
 		virtual void PaintPallet(HDC hDC);
 
 	protected:
-		//更新数据
+		//鏇存柊鏁版嵁
 		void UpdatePalletData();
 		void UpdateBarData();
 

+ 8 - 8
DuiLib/Control/UICombo.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 
 namespace DuiLib {
 
@@ -38,7 +38,7 @@ namespace DuiLib {
 			EnsureVisible(m_iOldSel);
 		}
 		else if(msg.sType == _T("click")) {
-			// 测试代码
+			// 娴嬭瘯浠g爜
 			CDuiString sName = msg.pSender->GetName();
 			CControlUI* pCtrl = msg.pSender;
 			while(pCtrl != NULL) {
@@ -64,9 +64,9 @@ namespace DuiLib {
 		RECT rcInset = m_pOwner->GetDropBoxInset();
 		RECT rcOwner = pOwner->GetPos();
 		RECT rc = rcOwner;
-		rc.top = rc.bottom;		// 父窗口left、bottom位置作为弹出窗口起点
-		rc.bottom = rc.top + szDrop.cy;	// 计算弹出窗口高度
-		if( szDrop.cx > 0 ) rc.right = rc.left + szDrop.cx;	// 计算弹出窗口宽度
+		rc.top = rc.bottom;		// 鐖剁獥鍙�eft銆乥ottom浣嶇疆浣滀负寮瑰嚭绐楀彛璧风偣
+		rc.bottom = rc.top + szDrop.cy;	// 璁$畻寮瑰嚭绐楀彛楂樺害
+		if( szDrop.cx > 0 ) rc.right = rc.left + szDrop.cx;	// 璁$畻寮瑰嚭绐楀彛瀹藉害
 
 		SIZE szAvailable = { rc.right - rc.left, rc.bottom - rc.top };
 		int cyFixed = rcInset.top;
@@ -971,12 +971,12 @@ namespace DuiLib {
 	void CComboUI::SetPos(RECT rc, bool bNeedInvalidate)
 	{
 		if(!::EqualRect(&rc, &m_rcItem)) {
-			// 隐藏下拉窗口
+			// 闅愯棌涓嬫媺绐楀彛
 			if(m_pWindow && ::IsWindow(m_pWindow->GetHWND())) m_pWindow->Close();
-			// 所有元素大小置为0
+			// 鎵€鏈夊厓绱犲ぇ灏忕疆涓�0
 			RECT rcNull = { 0 };
 			for( int i = 0; i < m_items.GetSize(); i++ ) static_cast<CControlUI*>(m_items[i])->SetPos(rcNull);
-			// 调整位置
+			// 璋冩暣浣嶇疆
 			CControlUI::SetPos(rc, bNeedInvalidate);
 		}
 	}

+ 3 - 3
DuiLib/Control/UIComboBox.h

@@ -1,12 +1,12 @@
-#ifndef __UICOMBOBOX_H__
+#ifndef __UICOMBOBOX_H__
 #define __UICOMBOBOX_H__
 
 #pragma once
 
 namespace DuiLib
 {
-	/// À©Õ¹ÏÂÀ­Áбí¿ò
-	/// Ôö¼ÓarrowimageÊôÐÔ,Ò»ÕÅͼƬƽ¾ù·Ö³É5·Ý,Normal/Hot/Pushed/Focused/Disabled(±ØÐëÓÐsourceÊôÐÔ)
+	/// 扩展下拉列表框
+	/// 增加arrowimage属性,一张图片平�分�5份,Normal/Hot/Pushed/Focused/Disabled(必须有source属性)
 	/// <Default name="ComboBox" value="arrowimage=&quot;file='sys_combo_btn.png' source='0,0,16,16'&quot; "/>
 	class UILIB_API CComboBoxUI : public CComboUI
 	{

+ 3 - 3
DuiLib/Control/UIDateTime.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 #include "UIDateTime.h"
 
 namespace DuiLib
@@ -46,11 +46,11 @@ namespace DuiLib
 			Create(m_pOwner->GetManager()->GetPaintWindow(), NULL, uStyle, 0, rcPos);
 			SetWindowFont(m_hWnd, m_pOwner->GetManager()->GetFontInfo(m_pOwner->GetFont())->hFont, TRUE);
 		}
-		// 使用系统当前时间
+		// 浣跨敤绯荤粺褰撳墠鏃堕棿
 		if (m_pOwner->GetText().IsEmpty()) {
 			::GetLocalTime(&m_pOwner->m_sysTime);
 		}
-		// 显示格式
+		// 鏄剧ず鏍煎紡
 		CDuiString sTimeFormat = m_pOwner->GetTimeFormat();
 		::SendMessage(m_hWnd, DTM_SETFORMAT, 0, LPARAM(sTimeFormat.GetData()));
 		memcpy(&m_oldSysTime, &m_pOwner->m_sysTime, sizeof(SYSTEMTIME));

+ 2 - 2
DuiLib/Control/UIDateTime.h

@@ -1,4 +1,4 @@
-#ifndef __UIDATETIME_H__
+#ifndef __UIDATETIME_H__
 #define __UIDATETIME_H__
 
 #pragma once
@@ -7,7 +7,7 @@ namespace DuiLib
 {
 	class CDateTimeWnd;
 
-	/// ʱĽäѡÔńżŘĽţ
+	/// 时间选择控件
 	class UILIB_API CDateTimeUI : public CLabelUI
 	{
 		DECLARE_DUICONTROL(CDateTimeUI)

+ 2 - 2
DuiLib/Control/UIFlash.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 #include "UIFlash.h"
 #include <atlcomcli.h>
 
@@ -214,7 +214,7 @@ namespace DuiLib
 		if( m_pFlash == NULL )
 			return E_NOTIMPL;
 
-		// 当前Web窗口不是焦点,不处理加速键
+		// 褰撳墠Web绐楀彛涓嶆槸鐒︾偣,涓嶅�鐞嗗姞閫熼敭
 		BOOL bIsChild = FALSE;
 		HWND hTempWnd = NULL;
 		HWND hWndFocus = ::GetFocus();

+ 4 - 4
DuiLib/Control/UIFlash.h

@@ -1,8 +1,8 @@
-#ifndef __UIFLASH_H__
+锘�#ifndef __UIFLASH_H__
 #define __UIFLASH_H__
 #pragma once
 
-// \Utils\Flash11.tlb 为Flash11接口文件,部分方法在低版本不存在,使用需注意
+// \Utils\Flash11.tlb 涓篎lash11鎺ュ彛鏂囦欢锛岄儴鍒嗘柟娉曞湪浣庣増鏈�笉瀛樺湪锛屼娇鐢ㄩ渶娉ㄦ剰
 // #import "PROGID:ShockwaveFlash.ShockwaveFlash"  \
 //      raw_interfaces_only,       /* Don't add raw_ to method names */ \
 //  	named_guids,           /* Named guids and declspecs */    \
@@ -17,7 +17,7 @@ namespace DuiLib
 {
 	class UILIB_API CFlashUI
 		: public CActiveXUI
-	//	, public IOleInPlaceSiteWindowless // 透明模式绘图,需要实现这个接口
+	//	, public IOleInPlaceSiteWindowless // 閫忔槑妯″紡缁樺浘锛岄渶瑕佸疄鐜拌繖涓�帴鍙�
 		, public _IShockwaveFlashEvents
 		, public ITranslateAccelerator
 	{
@@ -52,7 +52,7 @@ namespace DuiLib
 		HRESULT RegisterEventHandler(BOOL inAdvise);
 
 		// ITranslateAccelerator
-		// Duilib消息分发给WebBrowser
+		// Duilib娑堟伅鍒嗗彂缁橶ebBrowser
 		virtual LRESULT TranslateAccelerator( MSG *pMsg );
 
 	private:

+ 7 - 7
DuiLib/Control/UIGifAnim.h

@@ -1,4 +1,4 @@
-#ifndef GifAnimUI_h__
+锘�#ifndef GifAnimUI_h__
 #define GifAnimUI_h__
 
 #pragma once
@@ -38,17 +38,17 @@ namespace DuiLib
 		void	InitGifImage();
 		void	DeleteGif();
 		void    OnTimer( UINT_PTR idEvent );
-		void	DrawFrame( HDC hDC );		// 绘制GIF每帧
+		void	DrawFrame( HDC hDC );		// 缁樺埗GIF姣忓抚
 
 	private:
 		Gdiplus::Image	*m_pGifImage;
-		UINT			m_nFrameCount;				// gif图片总帧数
-		UINT			m_nFramePosition;			// 当前放到第几帧
-		Gdiplus::PropertyItem*	m_pPropertyItem;	// 帧与帧之间间隔时间
+		UINT			m_nFrameCount;				// gif鍥剧墖鎬诲抚鏁�
+		UINT			m_nFramePosition;			// 褰撳墠鏀惧埌绗�嚑甯�
+		Gdiplus::PropertyItem*	m_pPropertyItem;	// 甯т笌甯т箣闂撮棿闅旀椂闂�
 
 		CDuiString		m_sBkImage;
-		bool			m_bIsAutoPlay;				// 是否自动播放gif
-		bool			m_bIsAutoSize;				// 是否自动根据图片设置大小
+		bool			m_bIsAutoPlay;				// 鏄�惁鑷�姩鎾�斁gif
+		bool			m_bIsAutoSize;				// 鏄�惁鑷�姩鏍规嵁鍥剧墖璁剧疆澶у皬
 		bool			m_bIsPlaying;
 	};
 }

+ 11 - 11
DuiLib/Control/UIGifAnimEx.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+#include "StdAfx.h"
 #ifdef USE_XIMAGE_EFFECT
 #include "UIGifAnimEx.h"
 #include "../../3rd/CxImage/ximage.h"
@@ -9,16 +9,16 @@ namespace DuiLib
 	IMPLEMENT_DUICONTROL(CGifAnimExUI)
 	struct CGifAnimExUI::Imp
 	{
-		bool				m_bRealStop			;//ÍⲿֹͣÁË
-		bool				m_bLoadImg			;//ÊÇ·ñ¼ÓÔØ¹ýͼƬ
-		bool				m_bTimer			;//ÊÇ·ñÆô¶¯¶¨Ê±Æ÷
-		bool				m_bAutoStart		;//ÊÇ·ñ×Ô¶¯¿ªÊ¼
-		int					m_nDelay			;//Ñ­»·ºÁÃëÊý
-		UINT				m_nFrameCount		;//gifͼƬ×ÜÖ¡Êý
-		UINT				m_nFramePosition	;//µ±Ç°·Åµ½µÚ¼¸Ö¡
-		CxImage*			m_pGifImage			;//gif¶ÔÏó
+		bool				m_bRealStop			;//外部�止了
+		bool				m_bLoadImg			;//是�加载过图片
+		bool				m_bTimer			;//是��动定时器
+		bool				m_bAutoStart		;//是�自动开始
+		int					m_nDelay			;//循环毫秒数
+		UINT				m_nFrameCount		;//gif图片总帧数
+		UINT				m_nFramePosition	;//当�放到第几帧
+		CxImage*			m_pGifImage			;//gif对象
 		CPaintManagerUI*&	m_pManager			;
-		CGifAnimExUI*			m_pOwer				;//ÓµÓÐÕß
+		CGifAnimExUI*			m_pOwer				;//拥有者
 		Imp(CPaintManagerUI* & pManager):m_pManager(pManager),
 			m_bLoadImg(false),m_bTimer(false),
 			m_nDelay(100),m_pGifImage(NULL),m_nFrameCount(0U),
@@ -78,7 +78,7 @@ namespace DuiLib
 				m_bTimer = true;
 			}
 		}
-		void StopAnim(bool bGoFirstFrame)//bGoFirstFrame ÊÇ·ñÅܵ½µÚÒ»Ö¡
+		void StopAnim(bool bGoFirstFrame)//bGoFirstFrame 是�跑到第一帧
 		{
 			if(m_bTimer)
 			{

+ 3 - 3
DuiLib/Control/UIGifAnimEx.h

@@ -1,9 +1,9 @@
-#ifndef GifAnimUIEX_h__
+锘�#ifndef GifAnimUIEX_h__
 #define GifAnimUIEX_h__
 #pragma once
 /* write by wangji 2016.03.16
-** 解决多个gif控件在gdi+环境下占用CPU过高的问题,本类采用ximage替代
-** 注意:使用的时候在预编译头文件中包含UIlib.h前先定义宏USE_XIMAGE_EFFECT
+** 瑙e喅澶氫釜gif鎺т欢鍦╣di+鐜��涓嬪崰鐢–PU杩囬珮鐨勯棶棰橈紝鏈�被閲囩敤ximage鏇夸唬
+** 娉ㄦ剰锛氫娇鐢ㄧ殑鏃跺€欏湪棰勭紪璇戝ご鏂囦欢涓�寘鍚玌Ilib.h鍓嶅厛瀹氫箟瀹廢SE_XIMAGE_EFFECT
 ** #define USE_XIMAGE_EFFECT
 ** #include "UIlib.h"
 */

+ 3 - 3
DuiLib/Control/UIGroupBox.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+#include "StdAfx.h"
 #include "UIGroupBox.h"
 
 namespace DuiLib
@@ -73,7 +73,7 @@ namespace DuiLib
 		SIZE szAvailable = { rcText.right - rcText.left, rcText.bottom - rcText.top };
 		SIZE sz = CalcrectSize(szAvailable);
 
-		//¼ÆËãÎÄ×ÖÇøÓò
+		//计算文字区域
 		rcText.left = rcText.left + 15;
 		rcText.top = rcText.top - 5;
 		rcText.right = rcText.left + sz.cx;
@@ -104,7 +104,7 @@ namespace DuiLib
 			CDuiRect rcItem = m_rcItem;
 			rcItem.Deflate(5, 5);
 			
-			if( cxyBorderRound.cx > 0 || cxyBorderRound.cy > 0 )//»­Ô²½Ç±ß¿ò
+			if( cxyBorderRound.cx > 0 || cxyBorderRound.cy > 0 )//画圆角边框
 			{
 				if (IsFocused() && m_dwFocusBorderColor != 0)
 					CRenderEngine::DrawRoundRect(hDC, rcItem, nBorderSize, cxyBorderRound.cx, cxyBorderRound.cy, GetAdjustColor(m_dwFocusBorderColor));

+ 2 - 2
DuiLib/Control/UIHotKey.cpp

@@ -1,4 +1,4 @@
-#include "stdafx.h"
+#include "stdafx.h"
 #include "UIHotKey.h"
 namespace DuiLib{
 	CHotKeyWnd::CHotKeyWnd(void) : m_pOwner(NULL), m_hBkBrush(NULL), m_bInit(false)
@@ -127,7 +127,7 @@ namespace DuiLib{
 		if( m_pOwner == NULL ) return 0;
 		GetHotKey(m_pOwner->m_wVirtualKeyCode, m_pOwner->m_wModifiers);
 		if (m_pOwner->m_wVirtualKeyCode == 0) {
-			m_pOwner->m_sText = _T("ÎÞ");
+			m_pOwner->m_sText = _T("æ— ");
 			m_pOwner->m_wModifiers = 0;
 		}
 		else {

+ 2 - 2
DuiLib/Control/UIIPAddress.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+#include "StdAfx.h"
 #pragma comment( lib, "ws2_32.lib" )
 
 DWORD GetLocalIpAddress()   
@@ -60,7 +60,7 @@ namespace DuiLib
 		{
 			INITCOMMONCONTROLSEX   CommCtrl;
 			CommCtrl.dwSize=sizeof(CommCtrl);
-			CommCtrl.dwICC=ICC_INTERNET_CLASSES;//Ö¸¶¨Class
+			CommCtrl.dwICC=ICC_INTERNET_CLASSES;//指定Class
 			if(InitCommonControlsEx(&CommCtrl))
 			{
 				RECT rcPos = CalPos();

+ 3 - 3
DuiLib/Control/UIIPAddress.h

@@ -1,15 +1,15 @@
-#ifndef __UIIPADDRESS_H__
+锘�#ifndef __UIIPADDRESS_H__
 #define __UIIPADDRESS_H__
 
 #pragma once
 
-//给该控件添加一个属性dtstyle
+//缁欒�鎺т欢娣诲姞涓€涓�睘鎬�tstyle
 
 namespace DuiLib
 {
 	class CIPAddressWnd;
 
-	/// 时间选择控件
+	/// 鏃堕棿閫夋嫨鎺т欢
 	class UILIB_API CIPAddressUI : public CLabelUI
 	{
 		DECLARE_DUICONTROL(CIPAddressUI)

BIN
DuiLib/Control/UIIPAddressEx.cpp


+ 3 - 3
DuiLib/Control/UIIPAddressEx.h

@@ -1,14 +1,14 @@
-#ifndef __UIIPADDRESSEX_H__
+锘�#ifndef __UIIPADDRESSEX_H__
 #define __UIIPADDRESSEX_H__
 
 #pragma once
 
-//给该控件添加一个属性dtstyle
+//缁欒�鎺т欢娣诲姞涓€涓�睘鎬�tstyle
 
 namespace DuiLib
 {
 	
-    /// IP输入控件
+    /// IP杈撳叆鎺т欢
     class UILIB_API CIPAddressExUI : public CEditUI
     {
 		DECLARE_DUICONTROL(CIPAddressExUI)

+ 5 - 5
DuiLib/Control/UILabel.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 #include "UILabel.h"
 
 #include <atlconv.h>
@@ -127,14 +127,14 @@ namespace DuiLib
 			m_bNeedEstimateSize = false;
 			m_szAvailableLast = szAvailable;
 			m_cxyFixedLast = GetFixedSize();
-			// 自动计算宽度
+			// 鑷�姩璁$畻瀹藉害
 			if ((m_uTextStyle & DT_SINGLELINE) != 0) {
-				// 高度
+				// 楂樺害
 				if (m_cxyFixedLast.cy == 0) {
 					m_cxyFixedLast.cy = m_pManager->GetFontInfo(m_iFont)->tm.tmHeight + 8;
 					m_cxyFixedLast.cy += rcTextPadding.top + rcTextPadding.bottom;
 				}
-				// 宽度
+				// 瀹藉害
 				if (m_cxyFixedLast.cx == 0) {
 					if(m_bAutoCalcWidth) {
 						RECT rcText = { 0, 0, 9999, m_cxyFixedLast.cy };
@@ -149,7 +149,7 @@ namespace DuiLib
 					}
 				}
 			}
-			// 自动计算高度
+			// 鑷�姩璁$畻楂樺害
 			else if(m_cxyFixedLast.cy == 0) {
 				if(m_bAutoCalcHeight) {
 					RECT rcText = { 0, 0, m_cxyFixedLast.cx, 9999 };

+ 6 - 6
DuiLib/Control/UIList.h

@@ -1,4 +1,4 @@
-#ifndef __UILIST_H__
+#ifndef __UILIST_H__
 #define __UILIST_H__
 
 namespace DuiLib {
@@ -51,7 +51,7 @@ namespace DuiLib {
 	{
 	public:
 		virtual LPCTSTR GetItemText(CControlUI* pList, int iItem, int iSubItem) = 0;
-		virtual DWORD GetItemTextColor(CControlUI* pList, int iItem, int iSubItem, int iState) = 0;// iState£º0-Õý³£¡¢1-¼¤»î¡¢2-Ñ¡Ôñ¡¢3-½ûÓÃ
+		virtual DWORD GetItemTextColor(CControlUI* pList, int iItem, int iSubItem, int iState) = 0;// iState:0-正常�1-激活�2-选择�3-�用
 	};
 
 	class IListOwnerUI
@@ -123,7 +123,7 @@ namespace DuiLib {
 		int GetCurSel() const;
 		int GetCurSelActivate() const;
 		bool SelectItem(int iIndex, bool bTakeFocus = false);
-		bool SelectItemActivate(int iIndex);    // Ë«»÷Ñ¡ÖÐ
+		bool SelectItemActivate(int iIndex);    // �击选中
 
 		bool SelectMultiItem(int iIndex, bool bTakeFocus = false);
 		void SetMultiSelect(bool bMultiSel);
@@ -243,7 +243,7 @@ namespace DuiLib {
 		int m_iCurSel;
 		int m_iFirstSel;
 		CStdPtrArray m_aSelItems;
-		int m_iCurSelActivate;  // Ë«»÷µÄÁÐ
+		int m_iCurSelActivate;  // �击的列
 		int m_iExpandedItem;
 		IListCallbackUI* m_pCallback;
 		CListBodyUI* m_pList;
@@ -398,7 +398,7 @@ namespace DuiLib {
 		bool IsExpanded() const;
 		bool Expand(bool bExpand = true);
 
-		void Invalidate(); // Ö±½ÓCControl::Invalidate»áµ¼Ö¹ö¶¯ÌõˢУ¬ÖØÐ´¼õÉÙË¢ÐÂÇøÓò
+		void Invalidate(); // 直接CControl::Invalidate会导致滚动�刷新,�写�少刷新区域
 		bool Activate();
 
 		void DoEvent(TEventUI& event);
@@ -500,7 +500,7 @@ namespace DuiLib {
 		bool IsExpanded() const;
 		bool Expand(bool bExpand = true);
 
-		void Invalidate(); // Ö±½ÓCControl::Invalidate»áµ¼Ö¹ö¶¯ÌõˢУ¬ÖØÐ´¼õÉÙË¢ÐÂÇøÓò
+		void Invalidate(); // 直接CControl::Invalidate会导致滚动�刷新,�写�少刷新区域
 		bool Activate();
 
 		void DoEvent(TEventUI& event);

+ 21 - 21
DuiLib/Control/UIListEx.cpp

@@ -1,4 +1,4 @@
-#include "stdafx.h"
+锘�#include "stdafx.h"
 #include "UIListEx.h"
 
 namespace DuiLib {
@@ -106,11 +106,11 @@ namespace DuiLib {
 	{	
 		CDuiString strName = msg.pSender->GetName();
 
-		//复选框
+		//澶嶉€夋�
 		if(_tcsicmp(msg.sType, _T("listheaditemchecked")) == 0)
 		{
 			BOOL bCheck = (BOOL)msg.lParam;
-			//判断是否是本LIST发送的notify
+			//鍒ゆ柇鏄�惁鏄�湰LIST鍙戦€佺殑notify
 			CListHeaderUI* pHeader = GetHeader();
 			for (int i = 0; i < pHeader->GetCount(); i++)
 			{
@@ -140,7 +140,7 @@ namespace DuiLib {
 			}
 		}
 
-		//编辑框、组合框
+		//缂栬緫妗嗐€佺粍鍚堟�
 		if (_tcsicmp(strName, _T("ListEx_Edit")) == 0 && m_pEditUI && m_nRow >= 0 && m_nColum >= 0)
 		{
 			if(_tcsicmp(msg.sType, DUI_MSGTYPE_SETFOCUS) == 0)
@@ -156,10 +156,10 @@ namespace DuiLib {
 					pRowCtrl->SetText(m_nColum, sText);
 				}
 
-				//重置当前行列
+				//閲嶇疆褰撳墠琛屽垪
 				SetEditRowAndColum(-1, -1);
 
-				//隐藏编辑框
+				//闅愯棌缂栬緫妗�
 				RECT rc = {0,0,0,0};
 				m_pEditUI->SetPos(rc);
 				m_pEditUI->SetVisible(false);
@@ -186,7 +186,7 @@ namespace DuiLib {
 					pRowCtrl->SetText(m_nColum, m_pComboBoxUI->GetText());
 				}
 
-				//隐藏组合框
+				//闅愯棌缁勫悎妗�
 				RECT rc = {0,0,0,0};
 				m_pComboBoxUI->SetPos(rc);
 			}
@@ -198,7 +198,7 @@ namespace DuiLib {
 	}
 	void CListExUI::HideEditAndComboCtrl()
 	{
-		//隐藏编辑框
+		//闅愯棌缂栬緫妗�
 		RECT rc = {0,0,0,0};
 		if(m_pEditUI)
 		{	
@@ -241,39 +241,39 @@ namespace DuiLib {
 		{
 			if (CheckColumEditable(nColum) && GetEditUI())
 			{
-				//保存当前行列
+				//淇濆瓨褰撳墠琛屽垪
 				SetEditRowAndColum(nIndex, nColum);
 				
 				m_pEditUI->SetVisible(true);
-				//移动位置
+				//绉诲姩浣嶇疆
 				m_pEditUI->SetFixedWidth(lpRCColum->right - lpRCColum->left);
 				m_pEditUI->SetFixedHeight(lpRCColum->bottom - lpRCColum->top);
 				m_pEditUI->SetFixedXY(CDuiSize(lpRCColum->left,lpRCColum->top));
 				SIZE szTextSize = CRenderEngine::GetTextSize(m_pManager->GetPaintDC(), m_pManager, _T("TTT"), m_ListInfo.nFont, DT_CALCRECT | DT_SINGLELINE);
 				m_pEditUI->SetTextPadding(CDuiRect(2, (lpRCColum->bottom - lpRCColum->top - szTextSize.cy) / 2, 2, 0));
-				//设置文字
+				//璁剧疆鏂囧瓧
 				m_pEditUI->SetText(lpstrText);
 
 				m_pEditUI->SetFocus();
 			}
 			else if(CheckColumComboBoxable(nColum) && GetComboBoxUI())
 			{
-				//重置组合框
+				//閲嶇疆缁勫悎妗�
 				m_pComboBoxUI->RemoveAll();
 
-				//保存当前行列
+				//淇濆瓨褰撳墠琛屽垪
 				SetEditRowAndColum(nIndex, nColum);
 
-				//设置文字
+				//璁剧疆鏂囧瓧
 				m_pComboBoxUI->SetText(lpstrText);
 
-				//获取
+				//鑾峰彇
 				if (m_pXCallback)
 				{
 					m_pXCallback->GetItemComboTextArray(m_pComboBoxUI, nIndex, nColum);
 				}
 
-				//移动位置
+				//绉诲姩浣嶇疆
 				m_pComboBoxUI->SetPos(*lpRCColum);
 				m_pComboBoxUI->SetVisible(TRUE);
 			}
@@ -301,7 +301,7 @@ namespace DuiLib {
 			return;
 		}
 
-		//如果选中,那么检查是否全部都处于选中状态
+		//濡傛灉閫変腑锛岄偅涔堟�鏌ユ槸鍚﹀叏閮ㄩ兘澶勪簬閫変腑鐘舵€�
 		if (bChecked)
 		{
 			BOOL bCheckAll = TRUE;
@@ -1173,7 +1173,7 @@ Label_ForeImage:
 			}
 		}
 
-		//检查是否需要显示编辑框或者组合框	
+		//妫€鏌ユ槸鍚﹂渶瑕佹樉绀虹紪杈戞�鎴栬€呯粍鍚堟�	
 		CListExUI * pListCtrl = (CListExUI *)m_pOwner;
 		int nColum = HitTestColum(event.ptMouse);
 		if(event.Type == UIEVENT_BUTTONUP && m_pOwner->IsFocused())
@@ -1187,7 +1187,7 @@ Label_ForeImage:
 			pListCtrl->OnListItemClicked(GetIndex(), nColum, &rc, GetText(nColum));
 		}
 
-		//检查是否需要显示CheckBox
+		//妫€鏌ユ槸鍚﹂渶瑕佹樉绀篊heckBox
 		TListInfoUI* pInfo = m_pOwner->GetListInfo();
 		for( int i = 0; i < pInfo->nColumns; i++ )
 		{
@@ -1301,7 +1301,7 @@ Label_ForeImage:
 			rcItem.top += pInfo->rcTextPadding.top;
 			rcItem.bottom -= pInfo->rcTextPadding.bottom;
 
-			//检查是否需要显示CheckBox
+			//妫€鏌ユ槸鍚﹂渶瑕佹樉绀篊heckBox
 			if (pListCtrl->CheckColumCheckBoxable(i))
 			{
 				RECT rcCheckBox;
@@ -1309,7 +1309,7 @@ Label_ForeImage:
 				rcItem.left += (rcCheckBox.right - rcCheckBox.left);
 			}
 
-			CDuiString strText;//不使用LPCTSTR,否则限制太多 by cddjr 2011/10/20
+			CDuiString strText;//涓嶄娇鐢↙PCTSTR锛屽惁鍒欓檺鍒跺お澶� by cddjr 2011/10/20
 			if( pCallback ) strText = pCallback->GetItemText(this, m_iIndex, i);
 			else strText.Assign(GetText(i));
 			if( pInfo->bShowHtml )

+ 12 - 12
DuiLib/Control/UIListEx.h

@@ -1,4 +1,4 @@
-#ifndef __UILISTEX_H__
+锘�#ifndef __UILISTEX_H__
 #define __UILISTEX_H__
 
 #pragma once
@@ -134,13 +134,13 @@ namespace DuiLib {
 		CDuiString m_sSepImage;
 		CDuiString m_sSepImageModify;
 
-		//支持编辑
+		//鏀�寔缂栬緫
 		BOOL m_bEditable;
 
-		//支持组合框
+		//鏀�寔缁勫悎妗�
 		BOOL m_bComboable;
 
-		//支持复选框
+		//鏀�寔澶嶉€夋�
 		BOOL m_bCheckBoxable;
 
 	public:
@@ -192,10 +192,10 @@ namespace DuiLib {
 
 		void GetCheckBoxRect(RECT &rc);	
 
-		int GetCheckBoxWidth() const;       // 实际大小位置使用GetPos获取,这里得到的是预设的参考值
-		void SetCheckBoxWidth(int cx);      // 预设的参考值
-		int GetCheckBoxHeight() const;      // 实际大小位置使用GetPos获取,这里得到的是预设的参考值
-		void SetCheckBoxHeight(int cy);     // 预设的参考值
+		int GetCheckBoxWidth() const;       // 瀹為檯澶у皬浣嶇疆浣跨敤GetPos鑾峰彇锛岃繖閲屽緱鍒扮殑鏄��璁剧殑鍙傝€冨€�
+		void SetCheckBoxWidth(int cx);      // 棰勮�鐨勫弬鑰冨€�
+		int GetCheckBoxHeight() const;      // 瀹為檯澶у皬浣嶇疆浣跨敤GetPos鑾峰彇锛岃繖閲屽緱鍒扮殑鏄��璁剧殑鍙傝€冨€�
+		void SetCheckBoxHeight(int cy);     // 棰勮�鐨勫弬鑰冨€�
 
 
 	public:
@@ -278,10 +278,10 @@ namespace DuiLib {
 		void GetCheckBoxRect(int nIndex, RECT &rc);	
 		void GetColumRect(int nColum, RECT &rc);
 
-		int GetCheckBoxWidth() const;       // 实际大小位置使用GetPos获取,这里得到的是预设的参考值
-		void SetCheckBoxWidth(int cx);      // 预设的参考值
-		int GetCheckBoxHeight() const;      // 实际大小位置使用GetPos获取,这里得到的是预设的参考值
-		void SetCheckBoxHeight(int cy);     // 预设的参考值
+		int GetCheckBoxWidth() const;       // 瀹為檯澶у皬浣嶇疆浣跨敤GetPos鑾峰彇锛岃繖閲屽緱鍒扮殑鏄��璁剧殑鍙傝€冨€�
+		void SetCheckBoxWidth(int cx);      // 棰勮�鐨勫弬鑰冨€�
+		int GetCheckBoxHeight() const;      // 瀹為檯澶у皬浣嶇疆浣跨敤GetPos鑾峰彇锛岃繖閲屽緱鍒扮殑鏄��璁剧殑鍙傝€冨€�
+		void SetCheckBoxHeight(int cy);     // 棰勮�鐨勫弬鑰冨€�
 
 		void SetCheck(BOOL bCheck);
 		BOOL GetCheck() const;

+ 3 - 3
DuiLib/Control/UILoading.cpp

@@ -1,4 +1,4 @@
-#include "stdafx.h"
+锘�#include "stdafx.h"
 #include "UILoading.h"
 #include <Gdiplus.h>
 
@@ -148,9 +148,9 @@ void CLoadingUI::PaintBkImage(HDC hDC)
 				m_Colors[intCounter], m_SpokeThickness);
 			intPosition++;
 		}
-		// 获得窗口的Graphics对象
+		// 鑾峰緱绐楀彛鐨凣raphics瀵硅薄
 		Graphics gh(hDC);
-		// 将描画好的CacheImage画到窗口上
+		// 灏嗘弿鐢诲ソ鐨凜acheImage鐢诲埌绐楀彛涓�
 		gh.DrawImage(img, m_rcItem.left, m_rcItem.top);
 		delete img;
 	}

+ 6 - 6
DuiLib/Control/UILoading.h

@@ -1,4 +1,4 @@
-#ifndef __UILoadingCircle_H
+锘�#ifndef __UILoadingCircle_H
 #define __UILoadingCircle_H
 
 namespace DuiLib
@@ -41,12 +41,12 @@ protected:
 	int                 m_nTime;
 	bool				m_bStop;
 
-	int m_NumberOfSpoke;//辐条数量
-	int m_SpokeThickness;//辐条粗细
+	int m_NumberOfSpoke;//杈愭潯鏁伴噺
+	int m_SpokeThickness;//杈愭潯绮楃粏
 	int m_ProgressValue;//------------------------
-	int m_OuterCircleRadius;//外圈
-	int m_InnerCircleRadius;//内圈
-	Gdiplus::PointF m_CenterPoint;//二维平面的点
+	int m_OuterCircleRadius;//澶栧湀
+	int m_InnerCircleRadius;//鍐呭湀
+	Gdiplus::PointF m_CenterPoint;//浜岀淮骞抽潰鐨勭偣
 	Gdiplus::Color m_Color;
 	Gdiplus::Color* m_Colors;
 	double* m_Angles;

+ 4 - 4
DuiLib/Control/UIMenu.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 
 #include "UIMenu.h"
 
@@ -240,7 +240,7 @@ namespace DuiLib {
 		m_xml = xml;
 		m_dwAlignment = dwAlignment;
 
-		// 如果是一级菜单的创建
+		// 濡傛灉鏄�竴绾ц彍鍗曠殑鍒涘缓
 		if (pOwner == NULL)
 		{
 			ASSERT(pMainPaintManager != NULL);
@@ -308,7 +308,7 @@ namespace DuiLib {
 			m_pOwner->m_uButtonState &= ~ UISTATE_PUSHED;
 			m_pOwner->Invalidate();
 
-			// 内部创建的内部删除
+			// 鍐呴儴鍒涘缓鐨勫唴閮ㄥ垹闄�
 			delete this;
 		}
 	}
@@ -397,7 +397,7 @@ namespace DuiLib {
 		szAvailable = pRoot->EstimateSize(szAvailable);
 		m_pm.SetInitSize(szAvailable.cx, szAvailable.cy);
 
-		//必须是Menu标签作为xml的根节点
+		//蹇呴』鏄疢enu鏍囩�浣滀负xml鐨勬牴鑺傜偣
 		CMenuUI *pMenuRoot = static_cast<CMenuUI*>(pRoot);
 		ASSERT(pMenuRoot);
 

+ 25 - 25
DuiLib/Control/UIMenu.h

@@ -1,4 +1,4 @@
-#ifndef __UIMENU_H__
+锘�#ifndef __UIMENU_H__
 #define __UIMENU_H__
 
 #pragma once
@@ -39,19 +39,19 @@ enum MenuAlignment
 
 enum MenuItemDefaultInfo
 {
-	ITEM_DEFAULT_HEIGHT = 30,		//每一个item的默认高度(只在竖状排列时自定义)
-	ITEM_DEFAULT_WIDTH = 150,		//窗口的默认宽度
+	ITEM_DEFAULT_HEIGHT = 30,		//姣忎竴涓猧tem鐨勯粯璁ら珮搴︼紙鍙�湪绔栫姸鎺掑垪鏃惰嚜瀹氫箟锛�
+	ITEM_DEFAULT_WIDTH = 150,		//绐楀彛鐨勯粯璁ゅ�搴�
 
-	ITEM_DEFAULT_ICON_WIDTH = 26,	//默认图标所占宽度
-	ITEM_DEFAULT_ICON_SIZE = 16,	//默认图标的大小
+	ITEM_DEFAULT_ICON_WIDTH = 26,	//榛樿�鍥炬爣鎵€鍗犲�搴�
+	ITEM_DEFAULT_ICON_SIZE = 16,	//榛樿�鍥炬爣鐨勫ぇ灏�
 
-	ITEM_DEFAULT_EXPLAND_ICON_WIDTH = 20,	//默认下级菜单扩展图标所占宽度
-	ITEM_DEFAULT_EXPLAND_ICON_SIZE = 9,		//默认下级菜单扩展图标的大小
+	ITEM_DEFAULT_EXPLAND_ICON_WIDTH = 20,	//榛樿�涓嬬骇鑿滃崟鎵╁睍鍥炬爣鎵€鍗犲�搴�
+	ITEM_DEFAULT_EXPLAND_ICON_SIZE = 9,		//榛樿�涓嬬骇鑿滃崟鎵╁睍鍥炬爣鐨勫ぇ灏�
 
-	DEFAULT_LINE_LEFT_INSET = ITEM_DEFAULT_ICON_WIDTH + 3,	//默认分隔线的左边距
-	DEFAULT_LINE_RIGHT_INSET = 7,	//默认分隔线的右边距
-	DEFAULT_LINE_HEIGHT = 6,		//默认分隔线所占高度
-	DEFAULT_LINE_COLOR = 0xFFBCBFC4	//默认分隔线颜色
+	DEFAULT_LINE_LEFT_INSET = ITEM_DEFAULT_ICON_WIDTH + 3,	//榛樿�鍒嗛殧绾跨殑宸﹁竟璺�
+	DEFAULT_LINE_RIGHT_INSET = 7,	//榛樿�鍒嗛殧绾跨殑鍙宠竟璺�
+	DEFAULT_LINE_HEIGHT = 6,		//榛樿�鍒嗛殧绾挎墍鍗犻珮搴�
+	DEFAULT_LINE_COLOR = 0xFFBCBFC4	//榛樿�鍒嗛殧绾块�鑹�
 
 };
 
@@ -291,12 +291,12 @@ public:
 	void Close(UINT nRet = IDOK);
 	bool isClosing;
 	/*
-	 *	@pOwner 一级菜单不要指定这个参数,这是菜单内部使用的
-	 *	@xml	菜单的布局文件
-	 *	@point	菜单的左上角坐标
-	 *	@pMainPaintManager	菜单的父窗体管理器指针
-	 *	@pMenuCheckInfo	保存菜单的单选和复选信息结构指针
-	 *	@dwAlignment		菜单的出现位置,默认出现在鼠标的右下侧。
+	 *	@pOwner 涓€绾ц彍鍗曚笉瑕佹寚瀹氳繖涓�弬鏁帮紝杩欐槸鑿滃崟鍐呴儴浣跨敤鐨�
+	 *	@xml	鑿滃崟鐨勫竷灞€鏂囦欢
+	 *	@point	鑿滃崟鐨勫乏涓婅�鍧愭爣
+	 *	@pMainPaintManager	鑿滃崟鐨勭埗绐椾綋绠$悊鍣ㄦ寚閽�
+	 *	@pMenuCheckInfo	淇濆瓨鑿滃崟鐨勫崟閫夊拰澶嶉€変俊鎭�粨鏋勬寚閽�
+	 *	@dwAlignment		鑿滃崟鐨勫嚭鐜颁綅缃�紝榛樿�鍑虹幇鍦ㄩ紶鏍囩殑鍙充笅渚с€�
 	 */
 
     void Init(CMenuElementUI* pOwner, STRINGorID xml, POINT point,
@@ -314,13 +314,13 @@ public:
 
 	BOOL Receive(ContextMenuParam param);
 
-	// 获取根菜单控件,用于动态添加子菜单
+	// 鑾峰彇鏍硅彍鍗曟帶浠讹紝鐢ㄤ簬鍔ㄦ€佹坊鍔犲瓙鑿滃崟
 	CMenuUI* GetMenuUI();
 
-	// 重新调整菜单的大小
+	// 閲嶆柊璋冩暣鑿滃崟鐨勫ぇ灏�
 	void ResizeMenu();
 
-	// 重新调整子菜单的大小
+	// 閲嶆柊璋冩暣瀛愯彍鍗曠殑澶у皬
 	void ResizeSubMenu();
 	void setDPI(int DPI);
 
@@ -331,7 +331,7 @@ public:
     CPaintManagerUI m_pm;
     CMenuElementUI* m_pOwner;
     CMenuUI*	m_pLayout;
-	DWORD		m_dwAlignment;	//菜单对齐方式
+	DWORD		m_dwAlignment;	//鑿滃崟瀵归綈鏂瑰紡
 };
 
 class CListContainerElementUI;
@@ -378,11 +378,11 @@ public:
 protected:
 	CMenuWnd*	m_pWindow;
 
-	bool		m_bDrawLine;	//画分隔线
-	DWORD		m_dwLineColor;  //分隔线颜色
-	RECT		m_rcLinePadding;	//分割线的左右边距
+	bool		m_bDrawLine;	//鐢诲垎闅旂嚎
+	DWORD		m_dwLineColor;  //鍒嗛殧绾块�鑹�
+	RECT		m_rcLinePadding;	//鍒嗗壊绾跨殑宸﹀彸杈硅窛
 
-	SIZE		m_szIconSize; 	//画图标
+	SIZE		m_szIconSize; 	//鐢诲浘鏍�
 	CDuiString	m_strIcon;
 	bool		m_bCheckItem;
 

+ 20 - 20
DuiLib/Control/UIPageControl.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 #include "UIPageControl.h"
 
 #pragma warning(disable:4996)
@@ -322,13 +322,13 @@ namespace DuiLib
             }
         }
 
-        //更新索引
+        //鏇存柊绱㈠紩
         UpdateItemIndex();
 
-        //更新页码
+        //鏇存柊椤电爜
         UpdatePageNo(0, true);
 
-        //选中
+        //閫変腑
         if (m_nSelPageNo == -1 || m_nSelPageNo > m_nShowPage)
         {
             SelectPage(0);
@@ -440,7 +440,7 @@ namespace DuiLib
         if (nGotoPageNo > 0 && nGotoPageNo <= m_nMaxPage)
         {
             int nExistsPageNoIdx = GetIndexByPageNo(nGotoPageNo);
-            //页面存在但是不是最后一个页码
+            //椤甸潰瀛樺湪浣嗘槸涓嶆槸鏈€鍚庝竴涓�〉鐮�
             if (nExistsPageNoIdx != -1 && nExistsPageNoIdx != m_OptPageNoArr.GetSize() - 1)
             {
                 SelectPage(nExistsPageNoIdx);
@@ -473,7 +473,7 @@ namespace DuiLib
         }
         else if (bAutoGotoOneWhenError)
         {
-            DUITRACE(_T("索引越界,选中第一个页"));
+            DUITRACE(_T("绱㈠紩瓒婄晫锛岄€変腑绗�竴涓�〉"));
             SelectPage(0);
         }
     }
@@ -568,10 +568,10 @@ namespace DuiLib
                 if (iPageIndex == m_OptPageNoArr.GetSize() - 1)
                 {
                     int nPrePageNo = GetPageNoByControl((CControlUI*)m_OptPageNoArr[m_OptPageNoArr.GetSize() - 2]);
-                    //前N-1个更新到最后一页
+                    //鍓峃-1涓�洿鏂板埌鏈€鍚庝竴椤�
                     int nDelta = m_nMaxPage - nPrePageNo - 1;
                     UpdatePageNo(nDelta);
-                    //更新more按钮是否显示
+                    //鏇存柊more鎸夐挳鏄�惁鏄剧ず
                     UpdateMoreBtnVisiable();
                 }
 
@@ -593,10 +593,10 @@ namespace DuiLib
                 int nFirstPageNo = GetPageNoByControl((COptionUI*)m_OptPageNoArr[0]);
                 int iPageIndex = ((COptionUI*)m_OptPageNoArr[0])->GetTag();
 
-                //第一个页码是1
+                //绗�竴涓�〉鐮佹槸1
                 if (nFirstPageNo == 1)
                 {
-                    //左移选中,当前选中不是第一页
+                    //宸︾Щ閫変腑,褰撳墠閫変腑涓嶆槸绗�竴椤�
                     if (iCurSelIndex != 0) SelectPage(--iCurSelIndex);
                 }
                 else
@@ -605,17 +605,17 @@ namespace DuiLib
                     {
                         //if (iCurSelIndex >= 0)
                         {
-                            //前N-1个页码-1
+                            //鍓峃-1涓�〉鐮�-1
                             UpdatePageNo(-1);
-                            //不移动更新选中
+                            //涓嶇Щ鍔ㄦ洿鏂伴€変腑
                             SelectPage(iCurSelIndex);
                         }
 
                     }
-                    //(选中最后一个)
+                    //(閫変腑鏈€鍚庝竴涓�)
                     else
                     {
-                        //左移选中
+                        //宸︾Щ閫変腑
                         SelectPage(--iCurSelIndex);
                     }
                 }
@@ -628,20 +628,20 @@ namespace DuiLib
                 int nCurSelPage = GetCurSel();
                 int nCurSelIdx = m_ConCurSel->GetTag();
 
-                //当前选中是倒数第二个之前的页
+                //褰撳墠閫変腑鏄�€掓暟绗�簩涓�箣鍓嶇殑椤�
                 if (nCurSelIdx < GetShowPageNum() - 1)
                 {
-                    //不存在下一个更多按钮或者不是倒数第二个按钮
+                    //涓嶅瓨鍦ㄤ笅涓€涓�洿澶氭寜閽�垨鑰呬笉鏄�€掓暟绗�簩涓�寜閽�
                     if (!IsExistNextMore() || nCurSelIdx != GetShowPageNum() - 2)
                     {
-                        //右移选中
+                        //鍙崇Щ閫変腑
                         SelectPage(++nCurSelIdx);
                     }
-                    else//存在更多按钮
+                    else//瀛樺湪鏇村�鎸夐挳
                     {
-                        //页码+1
+                        //椤电爜+1
                         UpdatePageNo(1);
-                        //通知选中
+                        //閫氱煡閫変腑
                         SelectPage(nCurSelIdx);
                     }
                 }

+ 13 - 13
DuiLib/Control/UIPageControl.h

@@ -1,4 +1,4 @@
-#ifndef __UIPageControl_H
+锘�#ifndef __UIPageControl_H
 #define __UIPageControl_H
 
 #pragma once
@@ -13,32 +13,32 @@ namespace DuiLib
         //maxpage="20,6"
         void SetMaxPages(int nPages, int nShowNum = 6);
         void SetMaxChar(int nNum = 2);
-        //设置字体[font="1"]
+        //璁剧疆瀛椾綋[font="1"]
         void SetFont(int nFont);
 
-        //设置页码选中的颜色[pageselectedtextcolor]
+        //璁剧疆椤电爜閫変腑鐨勯�鑹瞇pageselectedtextcolor]
         void SetPageSelectedTextColor(DWORD cr = 0xFF4EB857);
-        //设置选中的页按钮背景色[pageselectedbkcolor]
+        //璁剧疆閫変腑鐨勯〉鎸夐挳鑳屾櫙鑹瞇pageselectedbkcolor]
         void SetPageSelectedBkColor(DWORD cr = 0x00000000);
 
-        //设置页码文字颜色[pagetextcolor]
+        //璁剧疆椤电爜鏂囧瓧棰滆壊[pagetextcolor]
         void SetPageNormalTextColor(DWORD cr = 0xff000000);
-        //设置按钮背景颜色[pagebkcolor]
+        //璁剧疆鎸夐挳鑳屾櫙棰滆壊[pagebkcolor]
         void SetPageBkColor(DWORD cr = 0x00000000);
 
-        //设置hot按钮背景色[pagehotbkcolor]
+        //璁剧疆hot鎸夐挳鑳屾櫙鑹瞇pagehotbkcolor]
         void SetPageHotBkColor(DWORD cr = 0x00000000);
-        //设置hot字体颜色[pagehottextcolor]
+        //璁剧疆hot瀛椾綋棰滆壊[pagehottextcolor]
         void SetPageHotTextColor(DWORD cr = 0x00000000);
 
 
-        //设置页码按钮的大小[pagesize="30,30"]
+        //璁剧疆椤电爜鎸夐挳鐨勫ぇ灏廩pagesize="30,30"]
         void SetPageNoSize(int w = 30, int h = 30);
-        //设置goto按钮的大小[gotoeditsize="1,1"]
+        //璁剧疆goto鎸夐挳鐨勫ぇ灏廩gotoeditsize="1,1"]
         void SetGotoEditSize(int w = 30, int h = 26);
-        //设置GotoEdit边框颜色[gotoeditbordercolor="0x00000000"]
+        //璁剧疆GotoEdit杈规�棰滆壊[gotoeditbordercolor="0x00000000"]
         void SetGotoEditBorderColor(DWORD cr = 0x00000000);
-        //设置GotoEdit边框的大小[gotoeditbordersize="1"]
+        //璁剧疆GotoEdit杈规�鐨勫ぇ灏廩gotoeditbordersize="1"]
         void SetGotoEditBorderSize(int size = 1);
 
     public:
@@ -87,7 +87,7 @@ namespace DuiLib
         CButtonUI* m_BtnGoto;
         CEditUI* m_EdtPageNo;
 
-        COptionUI* m_ConCurSel;    //当前是第几页
+        COptionUI* m_ConCurSel;    //褰撳墠鏄��鍑犻〉
     };
 }
 #endif //__UIPageControl_H

+ 16 - 16
DuiLib/Control/UIRichEdit.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 #include "UIRichEdit.h"
 
 #ifdef _USEIMM
@@ -162,7 +162,7 @@ namespace DuiLib {
 		unsigned	fTimer				:1;	// A timer is set
 		unsigned    fCaptured           :1;
 		unsigned    fShowCaret          :1;
-		unsigned    fNeedFreshCaret     :1; // 修正改变大小后点击其他位置原来光标不能消除的问题
+		unsigned    fNeedFreshCaret     :1; // 淇��鏀瑰彉澶у皬鍚庣偣鍑诲叾浠栦綅缃�師鏉ュ厜鏍囦笉鑳芥秷闄ょ殑闂��
 
 		INT         iCaretWidth;
 		INT         iCaretHeight;
@@ -1907,8 +1907,8 @@ err:
         sz.cy = (int)lHeight;
         return sz;
     }
-	// 多行非rich格式的richedit有一个滚动条bug,在最后一行是空行时,LineDown和SetScrollPos无法滚动到最后
-	// 引入iPos就是为了修正这个bug
+	// 澶氳�闈瀝ich鏍煎紡鐨剅ichedit鏈変竴涓�粴鍔ㄦ潯bug锛屽湪鏈€鍚庝竴琛屾槸绌鸿�鏃讹紝LineDown鍜孲etScrollPos鏃犳硶婊氬姩鍒版渶鍚�
+	// 寮曞叆iPos灏辨槸涓轰簡淇��杩欎釜bug
 	void CRichEditUI::SetScrollPos(SIZE szPos, bool bMsg)
 	{
 		int cx = 0;
@@ -2344,7 +2344,7 @@ err:
 				}
 			}
 		}
-		// 绘制提示文字
+		// 缁樺埗鎻愮ず鏂囧瓧
 		CDuiString sDrawText = GetText();
 		if(sDrawText.IsEmpty() && !m_bFocused) {
 			DWORD dwTextColor = GetTipValueColor();
@@ -2593,7 +2593,7 @@ err:
 		if( uMsg == WM_MOUSEWHEEL && (LOWORD(wParam) & MK_CONTROL) == 0 ) return 0;
 
 		if (uMsg == WM_IME_COMPOSITION) {
-			// 解决微软输入法位置异常的问题
+			// 瑙e喅寰�蒋杈撳叆娉曚綅缃�紓甯哥殑闂��
 			HIMC hIMC = ImmGetContext(GetManager()->GetPaintWindow());
 			if (hIMC)  {
 				POINT point;
@@ -2687,7 +2687,7 @@ err:
 		}
 #endif
 		else if( uMsg == WM_CONTEXTMENU ) {
-			// RichEdit是否支持右键菜单,使用menu属性来控制
+			// RichEdit鏄�惁鏀�寔鍙抽敭鑿滃崟锛屼娇鐢╩enu灞炴€ф潵鎺у埗
 			if(!IsContextMenuUsed()) {
 				bWasHandled = false;
 				return 0;
@@ -2699,19 +2699,19 @@ err:
 				bWasHandled = false;
 				return 0;
 			}
-			//创建一个弹出式菜单
+			//鍒涘缓涓€涓�脊鍑哄紡鑿滃崟
 			HMENU hPopMenu = CreatePopupMenu();
-			AppendMenu(hPopMenu, 0, ID_RICH_UNDO, _T("撤销(&U)"));
-			AppendMenu(hPopMenu, 0, ID_RICH_REDO, _T("重做(&R)"));
+			AppendMenu(hPopMenu, 0, ID_RICH_UNDO, _T("鎾ら攢(&U)"));
+			AppendMenu(hPopMenu, 0, ID_RICH_REDO, _T("閲嶅仛(&R)"));
 			AppendMenu(hPopMenu, MF_SEPARATOR, 0, _T(""));
-			AppendMenu(hPopMenu, 0, ID_RICH_CUT, _T("剪切(&X)"));
-			AppendMenu(hPopMenu, 0, ID_RICH_COPY, _T("复制(&C)"));
-			AppendMenu(hPopMenu, 0, ID_RICH_PASTE, _T("粘帖(&V)"));
-			AppendMenu(hPopMenu, 0, ID_RICH_CLEAR, _T("清空(&L)"));
+			AppendMenu(hPopMenu, 0, ID_RICH_CUT, _T("鍓�垏(&X)"));
+			AppendMenu(hPopMenu, 0, ID_RICH_COPY, _T("澶嶅埗(&C)"));
+			AppendMenu(hPopMenu, 0, ID_RICH_PASTE, _T("绮樺笘(&V)"));
+			AppendMenu(hPopMenu, 0, ID_RICH_CLEAR, _T("娓呯┖(&L)"));
 			AppendMenu(hPopMenu, MF_SEPARATOR, 0, _T(""));
-			AppendMenu(hPopMenu, 0, ID_RICH_SELECTALL, _T("全选(&A)"));
+			AppendMenu(hPopMenu, 0, ID_RICH_SELECTALL, _T("鍏ㄩ€�(&A)"));
 
-			//初始化菜单项
+			//鍒濆�鍖栬彍鍗曢」
 			UINT uUndo = (CanUndo() ? 0 : MF_GRAYED);
 			EnableMenuItem(hPopMenu, ID_RICH_UNDO, MF_BYCOMMAND | uUndo);
 			UINT uRedo = (CanRedo() ? 0 : MF_GRAYED);

+ 3 - 3
DuiLib/Control/UIRichEdit.h

@@ -1,4 +1,4 @@
-#ifndef __UIRICHEDIT_H__
+锘�#ifndef __UIRICHEDIT_H__
 #define __UIRICHEDIT_H__
 
 #pragma once
@@ -124,8 +124,8 @@ namespace DuiLib {
 
 		void DoInit();
 		bool SetDropAcceptFile(bool bAccept);
-		// 注意:TxSendMessage和SendMessage是有区别的,TxSendMessage没有multibyte和unicode自动转换的功能,
-		// 而richedit2.0内部是以unicode实现的,在multibyte程序中,必须自己处理unicode到multibyte的转换
+		// 娉ㄦ剰锛歍xSendMessage鍜孲endMessage鏄�湁鍖哄埆鐨勶紝TxSendMessage娌℃湁multibyte鍜寀nicode鑷�姩杞�崲鐨勫姛鑳斤紝
+		// 鑰宺ichedit2.0鍐呴儴鏄�互unicode瀹炵幇鐨勶紝鍦╩ultibyte绋嬪簭涓�紝蹇呴』鑷�繁澶勭悊unicode鍒癿ultibyte鐨勮浆鎹�
 		virtual HRESULT TxSendMessage(UINT msg, WPARAM wparam, LPARAM lparam, LRESULT *plresult) const; 
 		IDropTarget* GetTxDropTarget();
 		virtual bool OnTxViewChanged();

+ 9 - 9
DuiLib/Control/UIRollText.cpp

@@ -1,4 +1,4 @@
-#include "stdafx.h"
+锘�#include "stdafx.h"
 #include "UIRollText.h"
 
 namespace DuiLib
@@ -62,13 +62,13 @@ namespace DuiLib
 	void CRollTextUI::SetPos(RECT rc)
 	{
 		CLabelUI::SetPos(rc);
-		m_nText_W_H = 0;			//布局变化重新计算
+		m_nText_W_H = 0;			//甯冨眬鍙樺寲閲嶆柊璁$畻
 	}
 
 	void CRollTextUI::SetText( LPCTSTR pstrText )
 	{
 		CLabelUI::SetText(pstrText);
-		m_nText_W_H = 0;			//文本变化重新计算
+		m_nText_W_H = 0;			//鏂囨湰鍙樺寲閲嶆柊璁$畻
 	}
 
 	void CRollTextUI::DoEvent(TEventUI& event)
@@ -106,14 +106,14 @@ namespace DuiLib
 		{
 			int nScrollRange = 0;
 
-			if (m_nRollDirection == ROLLTEXT_LEFT || m_nRollDirection == ROLLTEXT_RIGHT) {	//左面移动
+			if (m_nRollDirection == ROLLTEXT_LEFT || m_nRollDirection == ROLLTEXT_RIGHT) {	//宸﹂潰绉诲姩
 				nScrollRange = m_nText_W_H + rcClient.GetWidth();
 
 				rcClient.Offset((m_nRollDirection == ROLLTEXT_LEFT?rcClient.GetWidth():-rcClient.GetWidth()), 0);
 				rcClient.Offset((m_nRollDirection == ROLLTEXT_LEFT?-m_nScrollPos:m_nScrollPos), 0);
 				rcClient.right += (m_nText_W_H - rcClient.GetWidth());
 			}
-			else {																		//上下移动
+			else {																		//涓婁笅绉诲姩
 				nScrollRange = m_nText_W_H + rcClient.GetHeight();
 				rcClient.Offset(0, (m_nRollDirection == ROLLTEXT_UP?rcClient.GetHeight():-rcClient.GetHeight()));
 				rcClient.Offset(0, (m_nRollDirection == ROLLTEXT_UP?-m_nScrollPos:m_nScrollPos));
@@ -129,11 +129,11 @@ namespace DuiLib
 		RECT rc = rcClient;
 		UINT uTextStyle = DT_WORDBREAK | DT_EDITCONTROL;
 		if(m_nText_W_H == 0) {
-			uTextStyle |= DT_CALCRECT;				//第一次计算文本宽度或高度
-			if (m_nRollDirection == ROLLTEXT_LEFT || m_nRollDirection == ROLLTEXT_RIGHT) {	//左面移动
+			uTextStyle |= DT_CALCRECT;				//绗�竴娆¤�绠楁枃鏈��搴︽垨楂樺害
+			if (m_nRollDirection == ROLLTEXT_LEFT || m_nRollDirection == ROLLTEXT_RIGHT) {	//宸﹂潰绉诲姩
 				rc.right += 10000;
 			}
-			else {																		//上下移动
+			else {																		//涓婁笅绉诲姩
 				rc.bottom += 10000;
 			}
 		}
@@ -147,7 +147,7 @@ namespace DuiLib
 		}
 
 		if(m_nText_W_H == 0) {
-			m_nText_W_H = (m_nRollDirection == ROLLTEXT_LEFT || m_nRollDirection == ROLLTEXT_RIGHT)?(rc.right - rc.left):(rc.bottom - rc.top);		//计算文本宽度或高度
+			m_nText_W_H = (m_nRollDirection == ROLLTEXT_LEFT || m_nRollDirection == ROLLTEXT_RIGHT)?(rc.right - rc.left):(rc.bottom - rc.top);		//璁$畻鏂囨湰瀹藉害鎴栭珮搴�
 		}
 	}
 }

+ 261 - 261
DuiLib/Control/UITreeView.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 #include "UITreeView.h"
 
 #pragma warning( disable: 4251 )
@@ -7,10 +7,10 @@ namespace DuiLib
 	IMPLEMENT_DUICONTROL(CTreeNodeUI)
 
 	//************************************
-	// 函数名称: CTreeNodeUI
-	// 返回类型: 
-	// 参数信息: CTreeNodeUI * _ParentNode
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: CTreeNodeUI
+	// 杩斿洖绫诲瀷: 
+	// 鍙傛暟淇℃伅: CTreeNodeUI * _ParentNode
+	// 鍑芥暟璇存槑: 
 	//************************************
 	CTreeNodeUI::CTreeNodeUI( CTreeNodeUI* _ParentNode /*= NULL*/ )
 	{
@@ -56,10 +56,10 @@ namespace DuiLib
 	}
 	
 	//************************************
-	// 函数名称: ~CTreeNodeUI
-	// 返回类型: 
-	// 参数信息: void
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: ~CTreeNodeUI
+	// 杩斿洖绫诲瀷: 
+	// 鍙傛暟淇℃伅: void
+	// 鍑芥暟璇存槑: 
 	//************************************
 	CTreeNodeUI::~CTreeNodeUI( void )
 	{
@@ -67,9 +67,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetClass
-	// 返回类型: LPCTSTR
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetClass
+	// 杩斿洖绫诲瀷: LPCTSTR
+	// 鍑芥暟璇存槑: 
 	//************************************
 	LPCTSTR CTreeNodeUI::GetClass() const
 	{
@@ -77,10 +77,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetInterface
-	// 返回类型: LPVOID
-	// 参数信息: LPCTSTR pstrName
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetInterface
+	// 杩斿洖绫诲瀷: LPVOID
+	// 鍙傛暟淇℃伅: LPCTSTR pstrName
+	// 鍑芥暟璇存槑: 
 	//************************************
 	LPVOID CTreeNodeUI::GetInterface( LPCTSTR pstrName )
 	{
@@ -90,10 +90,10 @@ namespace DuiLib
 	}
 	
 	//************************************
-	// 函数名称: DoEvent
-	// 返回类型: void
-	// 参数信息: TEventUI & event
-	// 函数说明:
+	// 鍑芥暟鍚嶇О: DoEvent
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: TEventUI & event
+	// 鍑芥暟璇存槑:
 	//************************************
 	void CTreeNodeUI::DoEvent( TEventUI& event )
 	{
@@ -137,9 +137,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: Invalidate
-	// 返回类型: void
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: Invalidate
+	// 杩斿洖绫诲瀷: void
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeNodeUI::Invalidate()
 	{
@@ -186,10 +186,10 @@ namespace DuiLib
 	}
 	
 	//************************************
-	// 函数名称: Select
-	// 返回类型: bool
-	// 参数信息: bool bSelect
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: Select
+	// 杩斿洖绫诲瀷: bool
+	// 鍙傛暟淇℃伅: bool bSelect
+	// 鍑芥暟璇存槑: 
 	//************************************
 	bool CTreeNodeUI::Select( bool bSelect /*= true*/ )
 	{
@@ -213,10 +213,10 @@ namespace DuiLib
 		return nRet;
 	}
 	//************************************
-	// 函数名称: Add
-	// 返回类型: bool
-	// 参数信息: CControlUI * _pTreeNodeUI
-	// 函数说明: 通过节点对象添加节点
+	// 鍑芥暟鍚嶇О: Add
+	// 杩斿洖绫诲瀷: bool
+	// 鍙傛暟淇℃伅: CControlUI * _pTreeNodeUI
+	// 鍑芥暟璇存槑: 閫氳繃鑺傜偣瀵硅薄娣诲姞鑺傜偣
 	//************************************
 	bool CTreeNodeUI::Add( CControlUI* _pTreeNodeUI )
 	{
@@ -227,11 +227,11 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: AddAt
-	// 返回类型: bool
-	// 参数信息: CControlUI * pControl
-	// 参数信息: int iIndex				该参数仅针对当前节点下的兄弟索引,并非列表视图索引
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: AddAt
+	// 杩斿洖绫诲瀷: bool
+	// 鍙傛暟淇℃伅: CControlUI * pControl
+	// 鍙傛暟淇℃伅: int iIndex				璇ュ弬鏁颁粎閽堝�褰撳墠鑺傜偣涓嬬殑鍏勫紵绱㈠紩锛屽苟闈炲垪琛ㄨ�鍥剧储寮�
+	// 鍑芥暟璇存槑: 
 	//************************************
 	bool CTreeNodeUI::AddAt( CControlUI* pControl, int iIndex )
 	{
@@ -260,10 +260,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: Remove
-	// 返回类型: bool
-	// 参数信息: CControlUI * pControl
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: Remove
+	// 杩斿洖绫诲瀷: bool
+	// 鍙傛暟淇℃伅: CControlUI * pControl
+	// 鍑芥暟璇存槑: 
 	//************************************
 	bool CTreeNodeUI::Remove( CControlUI* pControl )
 	{
@@ -271,10 +271,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetVisibleTag
-	// 返回类型: void
-	// 参数信息: bool _IsVisible
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetVisibleTag
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: bool _IsVisible
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeNodeUI::SetVisibleTag( bool _IsVisible )
 	{
@@ -282,9 +282,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetVisibleTag
-	// 返回类型: bool
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetVisibleTag
+	// 杩斿洖绫诲瀷: bool
+	// 鍑芥暟璇存槑: 
 	//************************************
 	bool CTreeNodeUI::GetVisibleTag()
 	{
@@ -292,10 +292,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetItemText
-	// 返回类型: void
-	// 参数信息: LPCTSTR pstrValue
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetItemText
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: LPCTSTR pstrValue
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeNodeUI::SetItemText( LPCTSTR pstrValue )
 	{
@@ -303,9 +303,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetItemText
-	// 返回类型: DuiLib::CDuiString
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetItemText
+	// 杩斿洖绫诲瀷: DuiLib::CDuiString
+	// 鍑芥暟璇存槑: 
 	//************************************
 	CDuiString CTreeNodeUI::GetItemText()
 	{
@@ -313,10 +313,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: CheckBoxSelected
-	// 返回类型: void
-	// 参数信息: bool _Selected
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: CheckBoxSelected
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: bool _Selected
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeNodeUI::CheckBoxSelected( bool _Selected )
 	{
@@ -324,9 +324,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: IsCheckBoxSelected
-	// 返回类型: bool
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: IsCheckBoxSelected
+	// 杩斿洖绫诲瀷: bool
+	// 鍑芥暟璇存槑: 
 	//************************************
 	bool CTreeNodeUI::IsCheckBoxSelected() const
 	{
@@ -334,9 +334,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: IsHasChild
-	// 返回类型: bool
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: IsHasChild
+	// 杩斿洖绫诲瀷: bool
+	// 鍑芥暟璇存槑: 
 	//************************************
 	bool CTreeNodeUI::IsHasChild() const
 	{
@@ -355,10 +355,10 @@ namespace DuiLib
 		return level;
 	}
 	//************************************
-	// 函数名称: AddChildNode
-	// 返回类型: bool
-	// 参数信息: CTreeNodeUI * _pTreeNodeUI
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: AddChildNode
+	// 杩斿洖绫诲瀷: bool
+	// 鍙傛暟淇℃伅: CTreeNodeUI * _pTreeNodeUI
+	// 鍑芥暟璇存槑: 
 	//************************************
 	bool CTreeNodeUI::AddChildNode( CTreeNodeUI* _pTreeNodeUI )
 	{
@@ -386,10 +386,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: RemoveAt
-	// 返回类型: bool
-	// 参数信息: CTreeNodeUI * _pTreeNodeUI
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: RemoveAt
+	// 杩斿洖绫诲瀷: bool
+	// 鍙傛暟淇℃伅: CTreeNodeUI * _pTreeNodeUI
+	// 鍑芥暟璇存槑: 
 	//************************************
 	bool CTreeNodeUI::RemoveAt( CTreeNodeUI* _pTreeNodeUI )
 	{
@@ -411,10 +411,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetParentNode
-	// 返回类型: void
-	// 参数信息: CTreeNodeUI * _pParentTreeNode
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetParentNode
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: CTreeNodeUI * _pParentTreeNode
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeNodeUI::SetParentNode( CTreeNodeUI* _pParentTreeNode )
 	{
@@ -422,9 +422,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetParentNode
-	// 返回类型: CTreeNodeUI*
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetParentNode
+	// 杩斿洖绫诲瀷: CTreeNodeUI*
+	// 鍑芥暟璇存槑: 
 	//************************************
 	CTreeNodeUI* CTreeNodeUI::GetParentNode()
 	{
@@ -432,9 +432,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetCountChild
-	// 返回类型: long
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetCountChild
+	// 杩斿洖绫诲瀷: long
+	// 鍑芥暟璇存槑: 
 	//************************************
 	long CTreeNodeUI::GetCountChild()
 	{
@@ -442,10 +442,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetTreeView
-	// 返回类型: void
-	// 参数信息: CTreeViewUI * _CTreeViewUI
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetTreeView
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: CTreeViewUI * _CTreeViewUI
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeNodeUI::SetTreeView( CTreeViewUI* _CTreeViewUI )
 	{
@@ -453,9 +453,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetTreeView
-	// 返回类型: CTreeViewUI*
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetTreeView
+	// 杩斿洖绫诲瀷: CTreeViewUI*
+	// 鍑芥暟璇存槑: 
 	//************************************
 	CTreeViewUI* CTreeNodeUI::GetTreeView()
 	{
@@ -463,11 +463,11 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetAttribute
-	// 返回类型: void
-	// 参数信息: LPCTSTR pstrName
-	// 参数信息: LPCTSTR pstrValue
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetAttribute
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: LPCTSTR pstrName
+	// 鍙傛暟淇℃伅: LPCTSTR pstrValue
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeNodeUI::SetAttribute( LPCTSTR pstrName, LPCTSTR pstrValue )
 	{
@@ -511,9 +511,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetTreeNodes
-	// 返回类型: DuiLib::CStdPtrArray
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetTreeNodes
+	// 杩斿洖绫诲瀷: DuiLib::CStdPtrArray
+	// 鍑芥暟璇存槑: 
 	//************************************
 	CStdPtrArray CTreeNodeUI::GetTreeNodes()
 	{
@@ -521,10 +521,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetChildNode
-	// 返回类型: CTreeNodeUI*
-	// 参数信息: int _nIndex
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetChildNode
+	// 杩斿洖绫诲瀷: CTreeNodeUI*
+	// 鍙傛暟淇℃伅: int _nIndex
+	// 鍑芥暟璇存槑: 
 	//************************************
 	CTreeNodeUI* CTreeNodeUI::GetChildNode( int _nIndex )
 	{
@@ -532,10 +532,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetVisibleFolderBtn
-	// 返回类型: void
-	// 参数信息: bool _IsVisibled
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetVisibleFolderBtn
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: bool _IsVisibled
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeNodeUI::SetVisibleFolderBtn( bool _IsVisibled )
 	{
@@ -543,9 +543,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetVisibleFolderBtn
-	// 返回类型: bool
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetVisibleFolderBtn
+	// 杩斿洖绫诲瀷: bool
+	// 鍑芥暟璇存槑: 
 	//************************************
 	bool CTreeNodeUI::GetVisibleFolderBtn()
 	{
@@ -553,10 +553,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetVisibleCheckBtn
-	// 返回类型: void
-	// 参数信息: bool _IsVisibled
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetVisibleCheckBtn
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: bool _IsVisibled
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeNodeUI::SetVisibleCheckBtn( bool _IsVisibled )
 	{
@@ -564,9 +564,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetVisibleCheckBtn
-	// 返回类型: bool
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetVisibleCheckBtn
+	// 杩斿洖绫诲瀷: bool
+	// 鍑芥暟璇存槑: 
 	//************************************
 	bool CTreeNodeUI::GetVisibleCheckBtn()
 	{
@@ -574,9 +574,9 @@ namespace DuiLib
 	}
 	
 	//************************************
-	// 函数名称: GetNodeIndex
-	// 返回类型: int
-	// 函数说明: 取得全局树视图的索引
+	// 鍑芥暟鍚嶇О: GetNodeIndex
+	// 杩斿洖绫诲瀷: int
+	// 鍑芥暟璇存槑: 鍙栧緱鍏ㄥ眬鏍戣�鍥剧殑绱㈠紩
 	//************************************
 	int CTreeNodeUI::GetTreeIndex()
 	{
@@ -592,9 +592,9 @@ namespace DuiLib
 	}
 	
 	//************************************
-	// 函数名称: GetNodeIndex
-	// 返回类型: int
-	// 函数说明: 取得相对于兄弟节点的当前索引
+	// 鍑芥暟鍚嶇О: GetNodeIndex
+	// 杩斿洖绫诲瀷: int
+	// 鍑芥暟璇存槑: 鍙栧緱鐩稿�浜庡厔寮熻妭鐐圭殑褰撳墠绱㈠紩
 	//************************************
 	int CTreeNodeUI::GetNodeIndex()
 	{
@@ -608,9 +608,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetLastNode
-	// 返回类型: CTreeNodeUI*
-	// 函数说明:
+	// 鍑芥暟鍚嶇О: GetLastNode
+	// 杩斿洖绫诲瀷: CTreeNodeUI*
+	// 鍑芥暟璇存槑:
 	//************************************
 	CTreeNodeUI* CTreeNodeUI::GetLastNode( )
 	{
@@ -630,10 +630,10 @@ namespace DuiLib
 	}
 	
 	//************************************
-	// 函数名称: CalLocation
-	// 返回类型: CTreeNodeUI*
-	// 参数信息: CTreeNodeUI * _pTreeNodeUI
-	// 函数说明: 缩进计算
+	// 鍑芥暟鍚嶇О: CalLocation
+	// 杩斿洖绫诲瀷: CTreeNodeUI*
+	// 鍙傛暟淇℃伅: CTreeNodeUI * _pTreeNodeUI
+	// 鍑芥暟璇存槑: 缂╄繘璁$畻
 	//************************************
 	CTreeNodeUI* CTreeNodeUI::CalLocation( CTreeNodeUI* _pTreeNodeUI )
 	{
@@ -647,10 +647,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetTextColor
-	// 返回类型: void
-	// 参数信息: DWORD _dwTextColor
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetTextColor
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: DWORD _dwTextColor
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeNodeUI::SetItemTextColor( DWORD _dwItemTextColor )
 	{
@@ -659,9 +659,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetTextColor
-	// 返回类型: DWORD
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetTextColor
+	// 杩斿洖绫诲瀷: DWORD
+	// 鍑芥暟璇存槑: 
 	//************************************
 	DWORD CTreeNodeUI::GetItemTextColor() const
 	{
@@ -669,10 +669,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetTextHotColor
-	// 返回类型: void
-	// 参数信息: DWORD _dwTextHotColor
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetTextHotColor
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: DWORD _dwTextHotColor
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeNodeUI::SetItemHotTextColor( DWORD _dwItemHotTextColor )
 	{
@@ -681,9 +681,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetTextHotColor
-	// 返回类型: DWORD
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetTextHotColor
+	// 杩斿洖绫诲瀷: DWORD
+	// 鍑芥暟璇存槑: 
 	//************************************
 	DWORD CTreeNodeUI::GetItemHotTextColor() const
 	{
@@ -691,10 +691,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetSelItemTextColor
-	// 返回类型: void
-	// 参数信息: DWORD _dwSelItemTextColor
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetSelItemTextColor
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: DWORD _dwSelItemTextColor
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeNodeUI::SetSelItemTextColor( DWORD _dwSelItemTextColor )
 	{
@@ -703,9 +703,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetSelItemTextColor
-	// 返回类型: DWORD
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetSelItemTextColor
+	// 杩斿洖绫诲瀷: DWORD
+	// 鍑芥暟璇存槑: 
 	//************************************
 	DWORD CTreeNodeUI::GetSelItemTextColor() const
 	{
@@ -713,10 +713,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetSelHotItemTextColor
-	// 返回类型: void
-	// 参数信息: DWORD _dwSelHotItemTextColor
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetSelHotItemTextColor
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: DWORD _dwSelHotItemTextColor
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeNodeUI::SetSelItemHotTextColor( DWORD _dwSelHotItemTextColor )
 	{
@@ -725,9 +725,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetSelHotItemTextColor
-	// 返回类型: DWORD
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetSelHotItemTextColor
+	// 杩斿洖绫诲瀷: DWORD
+	// 鍑芥暟璇存槑: 
 	//************************************
 	DWORD CTreeNodeUI::GetSelItemHotTextColor() const
 	{
@@ -740,10 +740,10 @@ namespace DuiLib
 	IMPLEMENT_DUICONTROL(CTreeViewUI)
 	
 	//************************************
-	// 函数名称: CTreeViewUI
-	// 返回类型: 
-	// 参数信息: void
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: CTreeViewUI
+	// 杩斿洖绫诲瀷: 
+	// 鍙傛暟淇℃伅: void
+	// 鍑芥暟璇存槑: 
 	//************************************
 	CTreeViewUI::CTreeViewUI( void ) : m_bVisibleFolderBtn(TRUE),m_bVisibleCheckBtn(FALSE),m_uItemMinWidth(0)
 	{
@@ -751,10 +751,10 @@ namespace DuiLib
 	}
 	
 	//************************************
-	// 函数名称: ~CTreeViewUI
-	// 返回类型: 
-	// 参数信息: void
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: ~CTreeViewUI
+	// 杩斿洖绫诲瀷: 
+	// 鍙傛暟淇℃伅: void
+	// 鍑芥暟璇存槑: 
 	//************************************
 	CTreeViewUI::~CTreeViewUI( void )
 	{
@@ -762,9 +762,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetClass
-	// 返回类型: LPCTSTR
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetClass
+	// 杩斿洖绫诲瀷: LPCTSTR
+	// 鍑芥暟璇存槑: 
 	//************************************
 	LPCTSTR CTreeViewUI::GetClass() const
 	{
@@ -778,10 +778,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetInterface
-	// 返回类型: LPVOID
-	// 参数信息: LPCTSTR pstrName
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetInterface
+	// 杩斿洖绫诲瀷: LPVOID
+	// 鍙傛暟淇℃伅: LPCTSTR pstrName
+	// 鍑芥暟璇存槑: 
 	//************************************
 	LPVOID CTreeViewUI::GetInterface( LPCTSTR pstrName )
 	{
@@ -790,10 +790,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: Add
-	// 返回类型: bool
-	// 参数信息: CTreeNodeUI * pControl
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: Add
+	// 杩斿洖绫诲瀷: bool
+	// 鍙傛暟淇℃伅: CTreeNodeUI * pControl
+	// 鍑芥暟璇存槑: 
 	//************************************
 	bool CTreeViewUI::Add( CTreeNodeUI* pControl )
 	{
@@ -830,11 +830,11 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: AddAt
-	// 返回类型: long
-	// 参数信息: CTreeNodeUI * pControl
-	// 参数信息: int iIndex
-	// 函数说明: 该方法不会将待插入的节点进行缩位处理,若打算插入的节点为非根节点,请使用AddAt(CTreeNodeUI* pControl,CTreeNodeUI* _IndexNode) 方法
+	// 鍑芥暟鍚嶇О: AddAt
+	// 杩斿洖绫诲瀷: long
+	// 鍙傛暟淇℃伅: CTreeNodeUI * pControl
+	// 鍙傛暟淇℃伅: int iIndex
+	// 鍑芥暟璇存槑: 璇ユ柟娉曚笉浼氬皢寰呮彃鍏ョ殑鑺傜偣杩涜�缂╀綅澶勭悊锛岃嫢鎵撶畻鎻掑叆鐨勮妭鐐逛负闈炴牴鑺傜偣锛岃�浣跨敤AddAt(CTreeNodeUI* pControl,CTreeNodeUI* _IndexNode) 鏂规硶
 	//************************************
 	long CTreeViewUI::AddAt( CTreeNodeUI* pControl, int iIndex )
 	{
@@ -873,11 +873,11 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: AddAt
-	// 返回类型: bool
-	// 参数信息: CTreeNodeUI * pControl
-	// 参数信息: CTreeNodeUI * _IndexNode
-	// 函数说明:
+	// 鍑芥暟鍚嶇О: AddAt
+	// 杩斿洖绫诲瀷: bool
+	// 鍙傛暟淇℃伅: CTreeNodeUI * pControl
+	// 鍙傛暟淇℃伅: CTreeNodeUI * _IndexNode
+	// 鍑芥暟璇存槑:
 	//************************************
 	bool CTreeViewUI::AddAt( CTreeNodeUI* pControl, CTreeNodeUI* _IndexNode )
 	{
@@ -908,10 +908,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: Remove
-	// 返回类型: bool
-	// 参数信息: CTreeNodeUI * pControl
-	// 函数说明: pControl 对象以及下的所有节点将被一并移除
+	// 鍑芥暟鍚嶇О: Remove
+	// 杩斿洖绫诲瀷: bool
+	// 鍙傛暟淇℃伅: CTreeNodeUI * pControl
+	// 鍑芥暟璇存槑: pControl 瀵硅薄浠ュ強涓嬬殑鎵€鏈夎妭鐐瑰皢琚�竴骞剁Щ闄�
 	//************************************
 	bool CTreeViewUI::Remove( CTreeNodeUI* pControl )
 	{
@@ -929,10 +929,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: RemoveAt
-	// 返回类型: bool
-	// 参数信息: int iIndex
-	// 函数说明: iIndex 索引以及下的所有节点将被一并移除
+	// 鍑芥暟鍚嶇О: RemoveAt
+	// 杩斿洖绫诲瀷: bool
+	// 鍙傛暟淇℃伅: int iIndex
+	// 鍑芥暟璇存槑: iIndex 绱㈠紩浠ュ強涓嬬殑鎵€鏈夎妭鐐瑰皢琚�竴骞剁Щ闄�
 	//************************************
 	bool CTreeViewUI::RemoveAt( int iIndex )
 	{
@@ -947,10 +947,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: Notify
-	// 返回类型: void
-	// 参数信息: TNotifyUI & msg
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: Notify
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: TNotifyUI & msg
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeViewUI::Notify( TNotifyUI& msg )
 	{
@@ -958,10 +958,10 @@ namespace DuiLib
 	}
 	
 	//************************************
-	// 函数名称: OnCheckBoxChanged
-	// 返回类型: bool
-	// 参数信息: void * param
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: OnCheckBoxChanged
+	// 杩斿洖绫诲瀷: bool
+	// 鍙傛暟淇℃伅: void * param
+	// 鍑芥暟璇存槑: 
 	//************************************
 	bool CTreeViewUI::OnCheckBoxChanged( void* param )
 	{
@@ -977,10 +977,10 @@ namespace DuiLib
 	}
 	
 	//************************************
-	// 函数名称: OnFolderChanged
-	// 返回类型: bool
-	// 参数信息: void * param
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: OnFolderChanged
+	// 杩斿洖绫诲瀷: bool
+	// 鍙傛暟淇℃伅: void * param
+	// 鍑芥暟璇存槑: 
 	//************************************
 	bool CTreeViewUI::OnFolderChanged( void* param )
 	{
@@ -996,10 +996,10 @@ namespace DuiLib
 	}
 	
 	//************************************
-	// 函数名称: OnDBClickItem
-	// 返回类型: bool
-	// 参数信息: void * param
-	// 函数说明:
+	// 鍑芥暟鍚嶇О: OnDBClickItem
+	// 杩斿洖绫诲瀷: bool
+	// 鍙傛暟淇℃伅: void * param
+	// 鍑芥暟璇存槑:
 	//************************************
 	bool CTreeViewUI::OnDBClickItem( void* param )
 	{
@@ -1016,11 +1016,11 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetItemCheckBox
-	// 返回类型: bool
-	// 参数信息: bool _Selected
-	// 参数信息: CTreeNodeUI * _TreeNode
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetItemCheckBox
+	// 杩斿洖绫诲瀷: bool
+	// 鍙傛暟淇℃伅: bool _Selected
+	// 鍙傛暟淇℃伅: CTreeNodeUI * _TreeNode
+	// 鍑芥暟璇存槑: 
 	//************************************
 	bool CTreeViewUI::SetItemCheckBox( bool _Selected,CTreeNodeUI* _TreeNode /*= NULL*/ )
 	{
@@ -1053,11 +1053,11 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetItemExpand
-	// 返回类型: void
-	// 参数信息: bool _Expanded
-	// 参数信息: CTreeNodeUI * _TreeNode
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetItemExpand
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: bool _Expanded
+	// 鍙傛暟淇℃伅: CTreeNodeUI * _TreeNode
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeViewUI::SetItemExpand( bool _Expanded,CTreeNodeUI* _TreeNode /*= NULL*/ )
 	{
@@ -1088,10 +1088,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetVisibleFolderBtn
-	// 返回类型: void
-	// 参数信息: bool _IsVisibled
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetVisibleFolderBtn
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: bool _IsVisibled
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeViewUI::SetVisibleFolderBtn( bool _IsVisibled )
 	{
@@ -1104,9 +1104,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetVisibleFolderBtn
-	// 返回类型: bool
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetVisibleFolderBtn
+	// 杩斿洖绫诲瀷: bool
+	// 鍑芥暟璇存槑: 
 	//************************************
 	bool CTreeViewUI::GetVisibleFolderBtn()
 	{
@@ -1114,10 +1114,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetVisibleCheckBtn
-	// 返回类型: void
-	// 参数信息: bool _IsVisibled
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetVisibleCheckBtn
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: bool _IsVisibled
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeViewUI::SetVisibleCheckBtn( bool _IsVisibled )
 	{
@@ -1130,9 +1130,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetVisibleCheckBtn
-	// 返回类型: bool
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetVisibleCheckBtn
+	// 杩斿洖绫诲瀷: bool
+	// 鍑芥暟璇存槑: 
 	//************************************
 	bool CTreeViewUI::GetVisibleCheckBtn()
 	{
@@ -1140,10 +1140,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetItemMinWidth
-	// 返回类型: void
-	// 参数信息: UINT _ItemMinWidth
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetItemMinWidth
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: UINT _ItemMinWidth
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeViewUI::SetItemMinWidth( UINT _ItemMinWidth )
 	{
@@ -1159,9 +1159,9 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: GetItemMinWidth
-	// 返回类型: UINT
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: GetItemMinWidth
+	// 杩斿洖绫诲瀷: UINT
+	// 鍑芥暟璇存槑: 
 	//************************************
 	UINT CTreeViewUI::GetItemMinWidth()
 	{
@@ -1169,10 +1169,10 @@ namespace DuiLib
 	}
 	
 	//************************************
-	// 函数名称: SetItemTextColor
-	// 返回类型: void
-	// 参数信息: DWORD _dwItemTextColor
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetItemTextColor
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: DWORD _dwItemTextColor
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeViewUI::SetItemTextColor( DWORD _dwItemTextColor )
 	{
@@ -1185,10 +1185,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetItemHotTextColor
-	// 返回类型: void
-	// 参数信息: DWORD _dwItemHotTextColor
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetItemHotTextColor
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: DWORD _dwItemHotTextColor
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeViewUI::SetItemHotTextColor( DWORD _dwItemHotTextColor )
 	{
@@ -1201,10 +1201,10 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetSelItemTextColor
-	// 返回类型: void
-	// 参数信息: DWORD _dwSelItemTextColor
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetSelItemTextColor
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: DWORD _dwSelItemTextColor
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeViewUI::SetSelItemTextColor( DWORD _dwSelItemTextColor )
 	{
@@ -1217,10 +1217,10 @@ namespace DuiLib
 	}
 		
 	//************************************
-	// 函数名称: SetSelItemHotTextColor
-	// 返回类型: void
-	// 参数信息: DWORD _dwSelHotItemTextColor
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetSelItemHotTextColor
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: DWORD _dwSelHotItemTextColor
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeViewUI::SetSelItemHotTextColor( DWORD _dwSelHotItemTextColor )
 	{
@@ -1233,11 +1233,11 @@ namespace DuiLib
 	}
 
 	//************************************
-	// 函数名称: SetAttribute
-	// 返回类型: void
-	// 参数信息: LPCTSTR pstrName
-	// 参数信息: LPCTSTR pstrValue
-	// 函数说明: 
+	// 鍑芥暟鍚嶇О: SetAttribute
+	// 杩斿洖绫诲瀷: void
+	// 鍙傛暟淇℃伅: LPCTSTR pstrName
+	// 鍙傛暟淇℃伅: LPCTSTR pstrValue
+	// 鍑芥暟璇存槑: 
 	//************************************
 	void CTreeViewUI::SetAttribute( LPCTSTR pstrName, LPCTSTR pstrValue )
 	{

+ 3 - 3
DuiLib/Control/UIWebBrowser.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 #include "UIWebBrowser.h"
 #include <atlconv.h>
 #include <atlcomcli.h>
@@ -384,7 +384,7 @@ namespace DuiLib
 		if( m_pWebBrowser2 == NULL )
 			return E_NOTIMPL;
 
-		// 当前Web窗口不是焦点,不处理加速键
+		// 褰撳墠Web绐楀彛涓嶆槸鐒︾偣,涓嶅�鐞嗗姞閫熼敭
 		BOOL bIsChild = FALSE;
 		HWND hTempWnd = NULL;
 		HWND hWndFocus = ::GetFocus();
@@ -426,7 +426,7 @@ namespace DuiLib
 		{
 			return m_pWebBrowserEventHandler->GetDropTarget(this, pDropTarget,ppDropTarget);
 		}
-		return S_FALSE;	// 使用系统拖拽
+		return S_FALSE;	// 浣跨敤绯荤粺鎷栨嫿
 	}
 
 	STDMETHODIMP CWebBrowserUI::GetExternal( IDispatch** ppDispatch )

+ 8 - 8
DuiLib/Control/UIWebBrowser.h

@@ -1,4 +1,4 @@
-#ifndef __UIWEBBROWSER_H__
+嚜�#ifndef __UIWEBBROWSER_H__
 #define __UIWEBBROWSER_H__
 
 #pragma once
@@ -20,7 +20,7 @@ namespace DuiLib
 	{
 		DECLARE_DUICONTROL(CWebBrowserUI)
 	public:
-		/// 凳婖滲杅
+		/// ���惩遆��
 		CWebBrowserUI();
 		virtual ~CWebBrowserUI();
 
@@ -47,16 +47,16 @@ namespace DuiLib
 		static HRESULT SetProperty(IDispatch *pObj, LPOLESTR pName, VARIANT *pValue);
 
 	protected:
-		IWebBrowser2*			m_pWebBrowser2; //銡擬け硌渀
+		IWebBrowser2*			m_pWebBrowser2; //瘚讛��冽���
 		IHTMLWindow2*		_pHtmlWnd2;
 		LONG m_dwRef;
 		DWORD m_dwCookie;
 		virtual void ReleaseControl();
 		HRESULT RegisterEventHandler(BOOL inAdvise);
 		virtual void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue);
-		CDuiString m_sHomePage;	// 蘇'珜醱
-		bool m_bAutoNavi;	// 岆瘁ぎ雄奀湖羲蘇'珜醱
-		CWebBrowserEventHandler* m_pWebBrowserEventHandler;	//銡擬け岈璃揭燴
+		CDuiString m_sHomePage;	// 暺䁅恕憿菟𢒰
+		bool m_bAutoNavi;	// �臬炏�臬𢆡�嗆�撘�暺䁅恕憿菟𢒰
+		CWebBrowserEventHandler* m_pWebBrowserEventHandler;	//瘚讛��其�隞嗅���
 
 		// DWebBrowserEvents2
 		void BeforeNavigate2( IDispatch *pDisp,VARIANT *&url,VARIANT *&Flags,VARIANT *&TargetFrameName,VARIANT *&PostData,VARIANT *&Headers,VARIANT_BOOL *&Cancel );
@@ -93,7 +93,7 @@ namespace DuiLib
 		STDMETHOD(OnDocWindowActivate)(BOOL fActivate);
 		STDMETHOD(OnFrameWindowActivate)(BOOL fActivate);
 		STDMETHOD(ResizeBorder)(LPCRECT prcBorder, IOleInPlaceUIWindow* pUIWindow, BOOL fFrameWindow);
-		STDMETHOD(TranslateAccelerator)(LPMSG lpMsg, const GUID* pguidCmdGroup, DWORD nCmdID);	//銡擬け秏洘徹薦
+		STDMETHOD(TranslateAccelerator)(LPMSG lpMsg, const GUID* pguidCmdGroup, DWORD nCmdID);	//瘚讛��冽��航�皛�
 		STDMETHOD(GetOptionKeyPath)(LPOLESTR* pchKey, DWORD dwReserved);
 		STDMETHOD(GetDropTarget)(IDropTarget* pDropTarget, IDropTarget** ppDropTarget);
 		STDMETHOD(GetExternal)(IDispatch** ppDispatch);
@@ -167,7 +167,7 @@ namespace DuiLib
             /* [out] */ __RPC__deref_out_opt IEnumString **ppenumString,
             /* [in] */ DWORD dwFlags) {return S_OK;}
 		// ITranslateAccelerator
-		// Duilib秏洘煦楷跤WebBrowser
+		// Duilib瘨�����蝏类ebBrowser
 		virtual LRESULT TranslateAccelerator( MSG *pMsg );
 	};
 } // namespace DuiLib

+ 6 - 6
DuiLib/Core/UIBase.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 
 #ifdef _DEBUG
 #include <shlwapi.h>
@@ -193,7 +193,7 @@ LDispatch:
 
 void CNotifyPump::NotifyPump(TNotifyUI& msg)
 {
-	///遍历虚拟窗口
+	///閬嶅巻铏氭嫙绐楀彛
 	if( !msg.sVirtualWnd.IsEmpty() ){
 		for( int i = 0; i< m_VirtualWndMap.GetSize(); i++ ) {
 			if( LPCTSTR key = m_VirtualWndMap.GetAt(i) ) {
@@ -207,7 +207,7 @@ void CNotifyPump::NotifyPump(TNotifyUI& msg)
 	}
 
 	///
-	//遍历主窗口
+	//閬嶅巻涓荤獥鍙�
 	LoopDispatch( msg );
 }
 
@@ -371,7 +371,7 @@ void CWindowWnd::CenterWindow()
 	if (hWndCenter!=NULL)
 		hWnd=hWndCenter;
 
-	// 处理多显示器模式下屏幕居中
+	// 澶勭悊澶氭樉绀哄櫒妯″紡涓嬪睆骞曞眳涓�
 	MONITORINFO oMonitor = {};
 	oMonitor.cbSize = sizeof(oMonitor);
 	::GetMonitorInfo(::MonitorFromWindow(hWnd, MONITOR_DEFAULTTONEAREST), &oMonitor);
@@ -400,13 +400,13 @@ void CWindowWnd::CenterWindow()
 void CWindowWnd::SetIcon(UINT nRes)
 {
 	HICON hIcon = (HICON)::LoadImage(CPaintManagerUI::GetInstance(), MAKEINTRESOURCE(nRes), IMAGE_ICON,
-		(::GetSystemMetrics(SM_CXICON) + 15) & ~15, (::GetSystemMetrics(SM_CYICON) + 15) & ~15,	// 防止高DPI下图标模糊
+		(::GetSystemMetrics(SM_CXICON) + 15) & ~15, (::GetSystemMetrics(SM_CYICON) + 15) & ~15,	// 闃叉�楂楧PI涓嬪浘鏍囨ā绯�
 		LR_DEFAULTCOLOR);
 	ASSERT(hIcon);
 	::SendMessage(m_hWnd, WM_SETICON, (WPARAM) TRUE, (LPARAM) hIcon);
 
 	hIcon = (HICON)::LoadImage(CPaintManagerUI::GetInstance(), MAKEINTRESOURCE(nRes), IMAGE_ICON,
-		(::GetSystemMetrics(SM_CXICON) + 15) & ~15, (::GetSystemMetrics(SM_CYICON) + 15) & ~15,	// 防止高DPI下图标模糊
+		(::GetSystemMetrics(SM_CXICON) + 15) & ~15, (::GetSystemMetrics(SM_CYICON) + 15) & ~15,	// 闃叉�楂楧PI涓嬪浘鏍囨ā绯�
 		LR_DEFAULTCOLOR);
 	ASSERT(hIcon);
 	::SendMessage(m_hWnd, WM_SETICON, (WPARAM) FALSE, (LPARAM) hIcon);

+ 2 - 2
DuiLib/Core/UIBase.h

@@ -1,4 +1,4 @@
-#ifndef __UIBASE_H__
+#ifndef __UIBASE_H__
 #define __UIBASE_H__
 
 
@@ -81,7 +81,7 @@ namespace DuiLib {
 		UINT ShowModal();
     	void ShowModalFake();
 		void Close(UINT nRet = IDOK);
-		void CenterWindow();	// ¾ÓÖУ¬Ö§³ÖÀ©Õ¹ÆÁÄ»
+		void CenterWindow();	// 居中,支�扩展�幕
 		void SetIcon(UINT nRes);
 
 		LRESULT SendMessage(UINT uMsg, WPARAM wParam = 0, LPARAM lParam = 0L);

+ 7 - 7
DuiLib/Core/UIContainer.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 
 namespace DuiLib
 {
@@ -258,15 +258,15 @@ namespace DuiLib
 		}
 	}
 
-	// 逻辑上,对于Container控件不公开此方法
-	// 调用此方法的结果是,内部子控件隐藏,控件本身依然显示,背景等效果存在
+	// 閫昏緫涓婏紝瀵逛簬Container鎺т欢涓嶅叕寮€姝ゆ柟娉�
+	// 璋冪敤姝ゆ柟娉曠殑缁撴灉鏄�紝鍐呴儴瀛愭帶浠堕殣钘忥紝鎺т欢鏈�韩渚濈劧鏄剧ず锛岃儗鏅�瓑鏁堟灉瀛樺湪
 	void CContainerUI::SetInternVisible(bool bVisible)
 	{
 		CControlUI::SetInternVisible(bVisible);
 		if( m_items.IsEmpty() ) return;
 		for( int it = 0; it < m_items.GetSize(); it++ ) {
-			// 控制子控件显示状态
-			// InternVisible状态应由子控件自己控制
+			// 鎺у埗瀛愭帶浠舵樉绀虹姸鎬�
+			// InternVisible鐘舵€佸簲鐢卞瓙鎺т欢鑷�繁鎺у埗
 			static_cast<CControlUI*>(m_items[it])->SetInternVisible(IsVisible());
 		}
 	}
@@ -437,7 +437,7 @@ namespace DuiLib
 
 		if(m_pVerticalScrollBar)
 		{
-			// 发送滚动消息
+			// 鍙戦€佹粴鍔ㄦ秷鎭�
 			if( m_pManager != NULL && bMsg ) {
 				int nPage = (m_pVerticalScrollBar->GetScrollPos() + m_pVerticalScrollBar->GetLineSize()) / m_pVerticalScrollBar->GetLineSize();
 				m_pManager->SendNotify(this, DUI_MSGTYPE_SCROLL, (WPARAM)nPage);
@@ -938,7 +938,7 @@ namespace DuiLib
 
 	void CContainerUI::SetFloatPos(int iIndex)
 	{
-		// 因为CControlUI::SetPos对float的操作影响,这里不能对float组件添加滚动条的影响
+		// 鍥犱负CControlUI::SetPos瀵筬loat鐨勬搷浣滃奖鍝嶏紝杩欓噷涓嶈兘瀵筬loat缁勪欢娣诲姞婊氬姩鏉$殑褰卞搷
 		if( iIndex < 0 || iIndex >= m_items.GetSize() ) return;
 
 		CControlUI* pControl = static_cast<CControlUI*>(m_items[iIndex]);

+ 2 - 2
DuiLib/Core/UIContainer.h

@@ -1,4 +1,4 @@
-#ifndef __UICONTAINER_H__
+锘�#ifndef __UICONTAINER_H__
 #define __UICONTAINER_H__
 
 #pragma once
@@ -55,7 +55,7 @@ namespace DuiLib {
 		void SetMouseEnabled(bool bEnable = true);
 
 		virtual RECT GetInset() const;
-		virtual void SetInset(RECT rcInset); // 设置内边距,相当于设置客户区
+		virtual void SetInset(RECT rcInset); // 璁剧疆鍐呰竟璺濓紝鐩稿綋浜庤�缃��鎴峰尯
 		virtual int GetChildPadding() const;
 		virtual void SetChildPadding(int iPadding);
 		virtual UINT GetChildAlign() const;

+ 31 - 31
DuiLib/Core/UIControl.h

@@ -1,4 +1,4 @@
-#ifndef __UICONTROL_H__
+�ソ#ifndef __UICONTROL_H__
 #define __UICONTROL_H__
 
 #pragma once
@@ -30,11 +30,11 @@ namespace DuiLib {
 		virtual CControlUI* GetParent() const;
 	    void setInstance(HINSTANCE instance = NULL) {m_instance = instance;};
 		
-		// カィハアニ�
+		// 螳壽慮蝎ィ
 		bool SetTimer(UINT nTimerID, UINT nElapse);
 		void KillTimer(UINT nTimerID);
 
-		// ホトアセマ犹リ
+		// 譁�悽逶ク蜈ウ
 		virtual CDuiString GetText() const;
 		virtual void SetText(LPCTSTR pstrText);
 
@@ -49,7 +49,7 @@ namespace DuiLib {
 
 		virtual bool IsRichEvent() const;
 		virtual void SetRichEvent(bool bEnable);
-		// ヘシミホマ犹リ
+		// 蝗セ蠖「逶ク蜈ウ
 		LPCTSTR GetGradient();
 		void SetGradient(LPCTSTR pStrImage);
 		DWORD GetBkColor() const;
@@ -73,7 +73,7 @@ namespace DuiLib {
 		void SetBorderRound(SIZE cxyRound);
 		bool DrawImage(HDC hDC, LPCTSTR pStrImage, LPCTSTR pStrModify = NULL);
 
-		//ア゚ソ�犹リ
+		//霎ケ譯�嶌蜈ウ
 		int GetBorderSize() const;
 		void SetBorderSize(int nSize);
 		DWORD GetBorderColor() const;
@@ -91,9 +91,9 @@ namespace DuiLib {
 		int GetBorderStyle() const;
 		void SetBorderStyle(int nStyle);
 
-		// ホサヨテマ犹リ
-		virtual RECT GetRelativePos() const; // マ犖ヤ(ククソリシ�)ホサヨテ
-		virtual RECT GetClientPos() const; // ソヘサァヌ��ィウ�ネ・scrollbarコヘinset」ゥ
+		// 菴咲スョ逶ク蜈ウ
+		virtual RECT GetRelativePos() const; // 逶ク蟇ケ(辷カ謗ァ莉カ)菴咲スョ
+		virtual RECT GetClientPos() const; // 螳「謌キ蛹コ蝓滂シ磯勁蜴サscrollbar蜥景nset��
 		virtual const RECT& GetPos() const;
 		virtual void SetPos(RECT rc, bool bNeedInvalidate = true);
 		virtual void Move(SIZE szOffset, bool bNeedInvalidate = true);
@@ -102,14 +102,14 @@ namespace DuiLib {
 		virtual int GetX() const;
 		virtual int GetY() const;
 		virtual RECT GetPadding() const;
-		virtual void SetPadding(RECT rcPadding); // ノ靹テヘ箜゚セ爛ャモノノマイ羔ーソレサ贍ニ
-		virtual SIZE GetFixedXY() const;         // ハオシハエ�。ホサヨテハケモテGetPosサ�。」ャユ簑�テオスオトハヌヤ、ノ襍トイホソシヨオ
-		virtual void SetFixedXY(SIZE szXY);      // ス�loatホェtrueハアモミミァ
+		virtual void SetPadding(RECT rcPadding); // 隶セ鄂ョ螟冶セケ霍晢シ檎罰荳雁アらェ怜哨扈伜宛
+		virtual SIZE GetFixedXY() const;         // 螳樣刔螟ァ蟆丈ス咲スョ菴ソ逕ィGetPos闔キ蜿厄シ瑚ソ咎㈹蠕怜芦逧�弍鬚�ョセ逧�盾閠�€シ
+		virtual void SetFixedXY(SIZE szXY);      // 莉�loat荳コtrue譌カ譛画譜
 		virtual SIZE GetFixedSize() const;
-		virtual int GetFixedWidth() const;       // ハオシハエ�。ホサヨテハケモテGetPosサ�。」ャユ簑�テオスオトハヌヤ、ノ襍トイホソシヨオ
-		virtual void SetFixedWidth(int cx);      // ヤ、ノ襍トイホソシヨオ
-		virtual int GetFixedHeight() const;      // ハオシハエ�。ホサヨテハケモテGetPosサ�。」ャユ簑�テオスオトハヌヤ、ノ襍トイホソシヨオ
-		virtual void SetFixedHeight(int cy);     // ヤ、ノ襍トイホソシヨオ
+		virtual int GetFixedWidth() const;       // 螳樣刔螟ァ蟆丈ス咲スョ菴ソ逕ィGetPos闔キ蜿厄シ瑚ソ咎㈹蠕怜芦逧�弍鬚�ョセ逧�盾閠�€シ
+		virtual void SetFixedWidth(int cx);      // 鬚�ョセ逧�盾閠�€シ
+		virtual int GetFixedHeight() const;      // 螳樣刔螟ァ蟆丈ス咲スョ菴ソ逕ィGetPos闔キ蜿厄シ瑚ソ咎㈹蠕怜芦逧�弍鬚�ョセ逧�盾閠�€シ
+		virtual void SetFixedHeight(int cy);     // 鬚�ョセ逧�盾閠�€シ
 		virtual int GetMinWidth() const;
 		virtual void SetMinWidth(int cx);
 		virtual int GetMaxWidth() const;
@@ -122,34 +122,34 @@ namespace DuiLib {
 		virtual void SetFloatPercent(TPercentInfo piFloatPercent);
 		virtual void SetFloatAlign(UINT uAlign);
 		virtual UINT GetFloatAlign() const;
-		// ハ��睫セ
+		// 鮠�譬�署遉コ
 		virtual CDuiString GetToolTip() const;
 		virtual void SetToolTip(LPCTSTR pstrText);
 		virtual void SetToolTipWidth(int nWidth);
-		virtual int	  GetToolTipWidth(void);	// カ獎ミToolTipオ・ミミラ鋧、ソ昮ネ
+		virtual int	  GetToolTipWidth(void);	// 螟夊。卦oolTip蜊戊。梧怙髟ソ螳ス蠎ヲ
 		
-		// ケ箜�
+		// 蜈画��
 		virtual WORD GetCursor();
 		virtual void SetCursor(WORD wCursor);
 
-		// ソ�ンシ�
+		// 蠢ォ謐キ髞ョ
 		virtual TCHAR GetShortcut() const;
 		virtual void SetShortcut(TCHAR ch);
 
-		// イヒオ・
+		// 闖懷黒
 		virtual bool IsContextMenuUsed() const;
 		virtual void SetContextMenuUsed(bool bMenuUsed);
 
-		// モテサァハ�ヤ
-		virtual const CDuiString& GetUserData(); // クィヨ德ッハ�」ャケゥモテサァハケモテ
-		virtual void SetUserData(LPCTSTR pstrText); // クィヨ德ッハ�」ャケゥモテサァハケモテ
-		virtual UINT_PTR GetTag() const; // クィヨ德ッハ�」ャケゥモテサァハケモテ
-		virtual void SetTag(UINT_PTR pTag); // クィヨ德ッハ�」ャケゥモテサァハケモテ
+		// 逕ィ謌キ螻樊€ァ
+		virtual const CDuiString& GetUserData(); // 霎�勧蜃ス謨ー�御セ帷畑謌キ菴ソ逕ィ
+		virtual void SetUserData(LPCTSTR pstrText); // 霎�勧蜃ス謨ー�御セ帷畑謌キ菴ソ逕ィ
+		virtual UINT_PTR GetTag() const; // 霎�勧蜃ス謨ー�御セ帷畑謌キ菴ソ逕ィ
+		virtual void SetTag(UINT_PTR pTag); // 霎�勧蜃ス謨ー�御セ帷畑謌キ菴ソ逕ィ
 
-		// メサミゥヨリメェオトハ�ヤ
+		// 荳€莠幃㍾隕∫噪螻樊€ァ
 		virtual bool IsVisible() const;
 		virtual void SetVisible(bool bVisible = true);
-		virtual void SetInternVisible(bool bVisible = true); // ス�ゥトレイソオ�テ」ャモミミゥUIモオモミエーソレセ莖奣ャミ靨ェヨリミエエヒコッハ�
+		virtual void SetInternVisible(bool bVisible = true); // 莉�セ帛�驛ィ隹�畑�梧怏莠婉I諡・譛臥ェ怜哨蜿・譟�シ碁怙隕�㍾蜀呎ュ、蜃ス謨ー
 		virtual bool IsEnabled() const;
 		virtual void SetEnabled(bool bEnable = true);
 		virtual bool IsMouseEnabled() const;
@@ -175,7 +175,7 @@ namespace DuiLib {
 		virtual void Event(TEventUI& event);
 		virtual void DoEvent(TEventUI& event);
 
-		// ラヤカィメ�(ホエエヲタ昉ト)ハ�ヤ
+		// 閾ェ螳壻ケ�(譛ェ螟�炊逧�)螻樊€ァ
 		void AddCustomAttribute(LPCTSTR pstrName, LPCTSTR pstrAttr);
 		LPCTSTR GetCustomAttribute(LPCTSTR pstrName) const;
 		bool RemoveCustomAttribute(LPCTSTR pstrName);
@@ -185,7 +185,7 @@ namespace DuiLib {
 		CControlUI* ApplyAttributeList(LPCTSTR pstrList);
 
 		virtual SIZE EstimateSize(SIZE szAvailable);
-		virtual bool Paint(HDC hDC, const RECT& rcPaint, CControlUI* pStopControl = NULL); // キオサリメェイサメェシフミ�贍ニ
+		virtual bool Paint(HDC hDC, const RECT& rcPaint, CControlUI* pStopControl = NULL); // 霑泌屓隕∽ク崎ヲ∫サァ扈ュ扈伜宛
 		virtual bool DoPaint(HDC hDC, const RECT& rcPaint, CControlUI* pStopControl);
 		virtual void PaintBkColor(HDC hDC);
 		virtual void PaintBkImage(HDC hDC);
@@ -197,7 +197,7 @@ namespace DuiLib {
 
 		virtual void DoPostPaint(HDC hDC, const RECT& rcPaint);
 
-		//ミ鯑箒ーソレイホハ�
+		//陌壽供遯怜哨蜿よ焚
 		void SetVirtualWnd(LPCTSTR pstrValue);
 		CDuiString GetVirtualWnd() const;
 
@@ -230,7 +230,7 @@ namespace DuiLib {
 		bool m_bFloat;
 		TPercentInfo m_piFloatPercent;
 		UINT m_uFloatAlign;
-		bool m_bSetPos; // キタヨケSetPosムュサキオ�テ
+		bool m_bSetPos; // 髦イ豁「SetPos蠕ェ邇ッ隹�畑
 
 		bool m_bRichEvent;
 		bool m_bDragEnabled;

+ 28 - 28
DuiLib/Core/UIDefine.h

@@ -1,11 +1,11 @@
-#pragma once
+锘�#pragma once
 
 namespace DuiLib
 {
 #define MAX_FONT_ID		30000
 #define CARET_TIMERID	0x1999
 
-	// 列表类型
+	// 鍒楄〃绫诲瀷
 	enum ListType
 	{
 		LT_LIST = 0,
@@ -14,7 +14,7 @@ namespace DuiLib
 		LT_MENU,
 	};
 
-	// 鼠标光标定义
+	// 榧犳爣鍏夋爣瀹氫箟
 #define DUI_ARROW           32512
 #define DUI_IBEAM           32513
 #define DUI_WAIT            32514
@@ -30,7 +30,7 @@ namespace DuiLib
 #define DUI_NO              32648
 #define DUI_HAND            32649
 
-	// 消息类型
+	// 娑堟伅绫诲瀷
 	enum DuiSig
 	{
 		DuiSig_end = 0, // [marks end of message map]
@@ -38,7 +38,7 @@ namespace DuiLib
 		DuiSig_vn,      // void (TNotifyUI)
 	};
 
-	// 核心控件
+	// 鏍稿績鎺т欢
 	class CControlUI;
 
 	// Structure for notifications to the outside world
@@ -54,7 +54,7 @@ namespace DuiLib
 	} TNotifyUI;
 
 	class CNotifyPump;
-	typedef void (CNotifyPump::*DUI_PMSG)(TNotifyUI& msg);  //指针类型
+	typedef void (CNotifyPump::*DUI_PMSG)(TNotifyUI& msg);  //鎸囬拡绫诲瀷
 
 	union DuiMessageMapFunctions
 	{
@@ -63,7 +63,7 @@ namespace DuiLib
 		void (CNotifyPump::*pfn_Notify_vn)(TNotifyUI&);
 	};
 
-	//定义所有消息类型
+	//瀹氫箟鎵€鏈夋秷鎭�被鍨�
 	//////////////////////////////////////////////////////////////////////////
 
 #define DUI_MSGTYPE_MENU                   (_T("menu"))
@@ -134,16 +134,16 @@ namespace DuiLib
 		const DUI_MSGMAP_ENTRY* lpEntries;
 	};
 
-	//结构定义
-	struct DUI_MSGMAP_ENTRY //定义一个结构体,来存放消息信息
+	//缁撴瀯瀹氫箟
+	struct DUI_MSGMAP_ENTRY //瀹氫箟涓€涓�粨鏋勪綋锛屾潵瀛樻斁娑堟伅淇℃伅
 	{
-		CDuiString sMsgType;          // DUI消息类型
-		CDuiString sCtrlName;         // 控件名称
-		UINT       nSig;              // 标记函数指针类型
-		DUI_PMSG   pfn;               // 指向函数的指针
+		CDuiString sMsgType;          // DUI娑堟伅绫诲瀷
+		CDuiString sCtrlName;         // 鎺т欢鍚嶇О
+		UINT       nSig;              // 鏍囪�鍑芥暟鎸囬拡绫诲瀷
+		DUI_PMSG   pfn;               // 鎸囧悜鍑芥暟鐨勬寚閽�
 	};
 
-	//定义
+	//瀹氫箟
 #ifndef UILIB_STATIC
 #define DUI_DECLARE_MESSAGE_MAP()                                         \
 private:                                                                  \
@@ -164,7 +164,7 @@ protected:                                                                \
 #endif
 
 
-	//基类声明开始
+	//鍩虹被澹版槑寮€濮�
 #ifndef UILIB_STATIC
 #define DUI_BASE_BEGIN_MESSAGE_MAP(theClass)                              \
 	const DUI_MSGMAP* PASCAL theClass::_GetBaseMessageMap()               \
@@ -188,7 +188,7 @@ protected:                                                                \
 #endif
 
 
-	//子类声明开始
+	//瀛愮被澹版槑寮€濮�
 #ifndef UILIB_STATIC
 #define DUI_BEGIN_MESSAGE_MAP(theClass, baseClass)                        \
 	const DUI_MSGMAP* PASCAL theClass::_GetBaseMessageMap()               \
@@ -212,54 +212,54 @@ protected:                                                                \
 #endif
 
 
-	//声明结束
+	//澹版槑缁撴潫
 #define DUI_END_MESSAGE_MAP()                                             \
 	{ _T(""), _T(""), DuiSig_end, (DUI_PMSG)0 }                           \
 	};                                                                        \
 
 
-	//定义消息类型--执行函数宏
+	//瀹氫箟娑堟伅绫诲瀷--鎵ц�鍑芥暟瀹�
 #define DUI_ON_MSGTYPE(msgtype, memberFxn)                                \
 	{ msgtype, _T(""), DuiSig_vn, (DUI_PMSG)&memberFxn},                  \
 
 
-	//定义消息类型--控件名称--执行函数宏
+	//瀹氫箟娑堟伅绫诲瀷--鎺т欢鍚嶇О--鎵ц�鍑芥暟瀹�
 #define DUI_ON_MSGTYPE_CTRNAME(msgtype,ctrname,memberFxn)                 \
 	{ msgtype, ctrname, DuiSig_vn, (DUI_PMSG)&memberFxn },                \
 
 
-	//定义click消息的控件名称--执行函数宏
+	//瀹氫箟click娑堟伅鐨勬帶浠跺悕绉�--鎵ц�鍑芥暟瀹�
 #define DUI_ON_CLICK_CTRNAME(ctrname,memberFxn)                           \
 	{ DUI_MSGTYPE_CLICK, ctrname, DuiSig_vn, (DUI_PMSG)&memberFxn },      \
 
 
-	//定义selectchanged消息的控件名称--执行函数宏
+	//瀹氫箟selectchanged娑堟伅鐨勬帶浠跺悕绉�--鎵ц�鍑芥暟瀹�
 #define DUI_ON_SELECTCHANGED_CTRNAME(ctrname,memberFxn)                   \
 	{ DUI_MSGTYPE_SELECTCHANGED,ctrname,DuiSig_vn,(DUI_PMSG)&memberFxn }, \
 
 
-	//定义killfocus消息的控件名称--执行函数宏
+	//瀹氫箟killfocus娑堟伅鐨勬帶浠跺悕绉�--鎵ц�鍑芥暟瀹�
 #define DUI_ON_KILLFOCUS_CTRNAME(ctrname,memberFxn)                       \
 	{ DUI_MSGTYPE_KILLFOCUS,ctrname,DuiSig_vn,(DUI_PMSG)&memberFxn },     \
 
 
-	//定义menu消息的控件名称--执行函数宏
+	//瀹氫箟menu娑堟伅鐨勬帶浠跺悕绉�--鎵ц�鍑芥暟瀹�
 #define DUI_ON_MENU_CTRNAME(ctrname,memberFxn)                            \
 	{ DUI_MSGTYPE_MENU,ctrname,DuiSig_vn,(DUI_PMSG)&memberFxn },          \
 
 
-	//定义与控件名称无关的消息宏
+	//瀹氫箟涓庢帶浠跺悕绉版棤鍏崇殑娑堟伅瀹�
 
-	//定义timer消息--执行函数宏
+	//瀹氫箟timer娑堟伅--鎵ц�鍑芥暟瀹�
 #define DUI_ON_TIMER()                                                    \
 	{ DUI_MSGTYPE_TIMER, _T(""), DuiSig_vn,(DUI_PMSG)&OnTimer },          \
 
 
 	///
-	//////////////END消息映射宏定义////////////////////////////////////////////////////
+	//////////////END娑堟伅鏄犲皠瀹忓畾涔�////////////////////////////////////////////////////
 
 
-//////////////BEGIN控件名称宏定义//////////////////////////////////////////////////
+//////////////BEGIN鎺т欢鍚嶇О瀹忓畾涔�//////////////////////////////////////////////////
 ///
 #define  DUI_CTR_BOX							 (_T("Box")) //
 
@@ -324,7 +324,7 @@ protected:                                                                \
 
 #define DUI_CTR_COLORPALETTE					  (_T("ColorPalette"))
 	///
-	//////////////END控件名称宏定义//////////////////////////////////////////////////
+	//////////////END鎺т欢鍚嶇О瀹忓畾涔�//////////////////////////////////////////////////
 
 	}// namespace DuiLib
 

+ 11 - 11
DuiLib/Core/UIDlgBuilder.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 
 namespace DuiLib {
 
@@ -10,8 +10,8 @@ namespace DuiLib {
 	CControlUI* CDialogBuilder::Create(STRINGorID xml, LPCTSTR type, IDialogBuilderCallback* pCallback, 
 		CPaintManagerUI* pManager, CControlUI* pParent)
 	{
-		//资源ID为0-65535,两个字节;字符串指针为4个字节
-		//字符串以<开头认为是XML字符串,否则认为是XML文件
+		//璧勬簮ID涓�0-65535锛屼袱涓�瓧鑺傦紱瀛楃�涓叉寚閽堜负4涓�瓧鑺�
+		//瀛楃�涓蹭互<寮€澶磋�涓烘槸XML瀛楃�涓诧紝鍚﹀垯璁や负鏄疿ML鏂囦欢
 		if(HIWORD(xml.m_lpstr) != NULL && *(xml.m_lpstr) != _T('<')) {
 			LPCTSTR xmlpath = CResourceManager::GetInstance()->GetXmlPath(xml.m_lpstr);
 			if (xmlpath != NULL) {
@@ -388,7 +388,7 @@ namespace DuiLib {
 				if ( !node.GetAttributeValue(_T("source"), szValue, cchLen) ) continue;
 				for ( int i = 0; i < count; i++ ) {
 					CDialogBuilder builder;
-					if( m_pstrtype != NULL ) { // 使用资源dll,从资源中读取
+					if( m_pstrtype != NULL ) { // 浣跨敤璧勬簮dll锛屼粠璧勬簮涓��鍙�
 						WORD id = (WORD)_tcstol(szValue, &pstr, 10); 
 						pControl = builder.Create((UINT)id, m_pstrtype, m_pCallback, pManager, pParent);
 					}
@@ -403,7 +403,7 @@ namespace DuiLib {
 				strClass.Format(_T("C%sUI"), pstrClass);
 				pControl = dynamic_cast<CControlUI*>(CControlFactory::GetInstance()->CreateControl(strClass));
 
-				// 检查插件
+				// 妫€鏌ユ彃浠�
 				if( pControl == NULL ) {
 					CStdPtrArray* pPlugins = CPaintManagerUI::GetPlugins();
 					LPCREATECONTROL lpCreateControl = NULL;
@@ -415,7 +415,7 @@ namespace DuiLib {
 						}
 					}
 				}
-				// 回掉创建
+				// 鍥炴帀鍒涘缓
 				if( pControl == NULL && m_pCallback != NULL ) {
 					pControl = m_pCallback->CreateControl(pstrClass);
 				}
@@ -423,7 +423,7 @@ namespace DuiLib {
 
 			if( pControl == NULL ) {
 #ifdef _DEBUG
-				DUITRACE(_T("未知控件:%s"), pstrClass);
+				DUITRACE(_T("鏈�煡鎺т欢:%s"), pstrClass);
 #else
 				continue;
 #endif
@@ -434,13 +434,13 @@ namespace DuiLib {
 				_Parse(&node, pControl, pManager);
 			}
 			// Attach to parent
-			// 因为某些属性和父窗口相关,比如selected,必须先Add到父窗口
+			// 鍥犱负鏌愪簺灞炴€у拰鐖剁獥鍙g浉鍏筹紝姣斿�selected锛屽繀椤诲厛Add鍒扮埗绐楀彛
 			CTreeViewUI* pTreeView = NULL;
 			if( pParent != NULL && pControl != NULL ) {
 				CTreeNodeUI* pParentTreeNode = static_cast<CTreeNodeUI*>(pParent->GetInterface(_T("TreeNode")));
 				CTreeNodeUI* pTreeNode = static_cast<CTreeNodeUI*>(pControl->GetInterface(_T("TreeNode")));
 				pTreeView = static_cast<CTreeViewUI*>(pParent->GetInterface(_T("TreeView")));
-				// TreeNode子节点
+				// TreeNode瀛愯妭鐐�
 				if(pTreeNode != NULL) {
 					if(pParentTreeNode) {
 						pTreeView = pParentTreeNode->GetTreeView();
@@ -460,11 +460,11 @@ namespace DuiLib {
 						}
 					}
 				}
-				// TreeNode子控件
+				// TreeNode瀛愭帶浠�
 				else if(pParentTreeNode != NULL) {
 					pParentTreeNode->GetTreeNodeHoriznotal()->Add(pControl);
 				}
-				// 普通控件
+				// 鏅�€氭帶浠�
 				else {
 					if( pContainer == NULL ) pContainer = static_cast<IContainerUI*>(pParent->GetInterface(_T("IContainer")));
 					ASSERT(pContainer);

+ 36 - 36
DuiLib/Core/UIManager.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 #include <zmouse.h>
 
 #pragma warning(push)
@@ -84,8 +84,8 @@ namespace DuiLib
 
 	void tagTDrawInfo::Parse(LPCTSTR pStrImage, LPCTSTR pStrModify, CPaintManagerUI* pManager)
 	{
-		// 1、aaa.jpg
-		// 2、file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0' corner='0,0,0,0' 
+		// 1銆乤aa.jpg
+		// 2銆乫ile='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0' corner='0,0,0,0' 
 		// mask='#FF0000' fade='255' hole='false' xtiled='false' ytiled='false'
 		sDrawString = pStrImage;
 		sDrawModify = pStrModify;
@@ -214,7 +214,7 @@ namespace DuiLib
 			}
 		}
 
-		// 调整DPI资源
+		// 璋冩暣DPI璧勬簮
 		if (pManager != NULL && pManager->GetDPIObj()->GetScale() != 100)
 		{
 			CDuiString sScale;
@@ -255,7 +255,7 @@ namespace DuiLib
 	HINSTANCE CPaintManagerUI::m_hResourceInstance = NULL;
 	CDuiString CPaintManagerUI::m_pStrResourcePath;
 	CDuiString CPaintManagerUI::m_pStrResourceZip;
-	CDuiString CPaintManagerUI::m_pStrResourceZipPwd;  //Garfield 20160325 带密码zip包解密
+	CDuiString CPaintManagerUI::m_pStrResourceZipPwd;  //Garfield 20160325 甯﹀瘑鐮亃ip鍖呰В瀵�
 	HANDLE CPaintManagerUI::m_hResourceZip = NULL;
 	bool CPaintManagerUI::m_bCachedResourceZip = true;
 	BYTE* CPaintManagerUI::m_cbZipBuf = nullptr;
@@ -356,7 +356,7 @@ namespace DuiLib
 		m_ptLastMousePos.x = m_ptLastMousePos.y = -1;
 
 		m_pGdiplusStartupInput = new Gdiplus::GdiplusStartupInput;
-		Gdiplus::GdiplusStartup(&m_gdiplusToken, m_pGdiplusStartupInput, NULL); // 加载GDI接口
+		Gdiplus::GdiplusStartup(&m_gdiplusToken, m_pGdiplusStartupInput, NULL); // 鍔犺浇GDI鎺ュ彛
 
 		CShadowUI::Initialize(m_hInstance);
 
@@ -403,12 +403,12 @@ namespace DuiLib
 		if (m_hbmpBackground != NULL) ::DeleteObject(m_hbmpBackground);
 		if (m_hDcPaint != NULL) ::ReleaseDC(m_hWndPaint, m_hDcPaint);
 		m_aPreMessages.Remove(m_aPreMessages.Find(this));
-		// 销毁拖拽图片
+		// 閿€姣佹嫋鎷藉浘鐗�
 		if (m_hDragBitmap != NULL) ::DeleteObject(m_hDragBitmap);
-		//卸载GDIPlus
+		//鍗歌浇GDIPlus
 		Gdiplus::GdiplusShutdown(m_gdiplusToken);
 		delete m_pGdiplusStartupInput;
-		// DPI管理对象
+		// DPI绠$悊瀵硅薄
 		if (m_pDPI != NULL)
 		{
 			delete m_pDPI;
@@ -547,7 +547,7 @@ namespace DuiLib
 		}
 
 		m_bCachedResourceZip = true;
-		m_pStrResourceZipPwd = password;  //Garfield 20160325 带密码zip包解密
+		m_pStrResourceZipPwd = password;  //Garfield 20160325 甯﹀瘑鐮亃ip鍖呰В瀵�
 		if (m_bCachedResourceZip)
 		{
 #ifdef UNICODE
@@ -1158,7 +1158,7 @@ namespace DuiLib
 				// Set focus to first control?
 				if (m_bFocusNeeded)
 				{
-					//修复新窗口自动切换焦点的问题
+					//淇��鏂扮獥鍙h嚜鍔ㄥ垏鎹㈢劍鐐圭殑闂��
 					//SetNextTabControl();
 					m_bFocusNeeded = false;
 				}
@@ -1221,7 +1221,7 @@ namespace DuiLib
 								SetPainting(false);
 								return true;
 							}
-							// 更新阴影窗口显示
+							// 鏇存柊闃村奖绐楀彛鏄剧ず
 							m_shadow.Update(m_hWndPaint);
 						}
 					}
@@ -1431,12 +1431,12 @@ namespace DuiLib
 				// All Done!
 				::EndPaint(m_hWndPaint, &ps);
 
-				// 绘制结束
+				// 缁樺埗缁撴潫
 				SetPainting(false);
 				m_bLayeredChanged = false;
 				if (m_bUpdateNeeded) Invalidate();
 
-				// 发送窗口大小改变消息
+				// 鍙戦€佺獥鍙eぇ灏忔敼鍙樻秷鎭�
 				if (bNeedSizeMsg)
 				{
 					this->SendNotify(m_pRoot, DUI_MSGTYPE_WINDOWSIZE, 0, 0, true);
@@ -1607,23 +1607,23 @@ namespace DuiLib
 
 				// Generate the appropriate mouse messages
 				POINT pt = { GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) };
-				// 是否移动
+				// 鏄�惁绉诲姩
 				bool bNeedDrag = true;
 				if (m_ptLastMousePos.x == pt.x && m_ptLastMousePos.y == pt.y)
 				{
 					bNeedDrag = false;
 				}
-				// 记录鼠标位置
+				// 璁板綍榧犳爣浣嶇疆
 				m_ptLastMousePos = pt;
 				CControlUI* pNewHover = FindControl(pt);
 				if (pNewHover != NULL && pNewHover->GetManager() != this) break;
 
-				// 拖拽事件
+				// 鎷栨嫿浜嬩欢
 				if (bNeedDrag && m_bDragMode && wParam == MK_LBUTTON)
 				{
-					// 释放Capture
+					// 閲婃斁Capture
 					::ReleaseCapture();
-					// 接口
+					// 鎺ュ彛
 					if (m_pDragDrop != NULL && m_pDragDrop->OnDragDrop(m_pEventClick))
 					{
 
@@ -1737,14 +1737,14 @@ namespace DuiLib
 				// and we need to remove them on focus change).
 				if (!m_bNoActivate) ::SetFocus(m_hWndPaint);
 				if (m_pRoot == NULL) break;
-				// 查找控件
+				// 鏌ユ壘鎺т欢
 				POINT pt = { GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) };
 				m_ptLastMousePos = pt;
 				CControlUI* pControl = FindControl(pt);
 				if (pControl == NULL) break;
 				if (pControl->GetManager() != this) break;
 
-				// 准备拖拽
+				// 鍑嗗�鎷栨嫿
 				if (m_bDragDrop && pControl->IsDragEnabled())
 				{
 					m_bDragMode = true;
@@ -1756,9 +1756,9 @@ namespace DuiLib
 					m_hDragBitmap = CRenderEngine::GenerateBitmap(this, pControl, pControl->GetPos());
 				}
 
-				// 开启捕获
+				// 寮€鍚�崟鑾�
 				SetCapture();
-				// 事件处理
+				// 浜嬩欢澶勭悊
 				m_pEventClick = pControl;
 				pControl->SetFocus();
 
@@ -2104,7 +2104,7 @@ namespace DuiLib
 	bool CPaintManagerUI::AttachDialog(CControlUI* pControl)
 	{
 		ASSERT(::IsWindow(m_hWndPaint));
-		// 创建阴影窗口
+		// 鍒涘缓闃村奖绐楀彛
 		m_shadow.Create(this);
 
 		// Reset any previous attachment
@@ -2253,12 +2253,12 @@ namespace DuiLib
 
 	void CPaintManagerUI::Term()
 	{
-		// 销毁资源管理器
+		// 閿€姣佽祫婧愮�鐞嗗櫒
 		CResourceManager::GetInstance()->Release();
 		CControlFactory::GetInstance()->Release();
 
-		// 清理共享资源
-		// 图片
+		// 娓呯悊鍏变韩璧勬簮
+		// 鍥剧墖
 		TImageInfo* data;
 		for (int i = 0; i < m_SharedResInfo.m_ImageHash.GetSize(); i++)
 		{
@@ -2273,7 +2273,7 @@ namespace DuiLib
 			}
 		}
 		m_SharedResInfo.m_ImageHash.RemoveAll();
-		// 字体
+		// 瀛椾綋
 		TFontInfo* pFontInfo;
 		for (int i = 0; i < m_SharedResInfo.m_CustomFonts.GetSize(); i++)
 		{
@@ -2289,12 +2289,12 @@ namespace DuiLib
 			}
 		}
 		m_SharedResInfo.m_CustomFonts.RemoveAll();
-		// 默认字体
+		// 榛樿�瀛椾綋
 		if (m_SharedResInfo.m_DefaultFontInfo.hFont != NULL)
 		{
 			::DeleteObject(m_SharedResInfo.m_DefaultFontInfo.hFont);
 		}
-		// 样式
+		// 鏍峰紡
 		CDuiString* pStyle;
 		for (int i = 0; i < m_SharedResInfo.m_StyleHash.GetSize(); i++)
 		{
@@ -2310,7 +2310,7 @@ namespace DuiLib
 		}
 		m_SharedResInfo.m_StyleHash.RemoveAll();
 
-		// 样式
+		// 鏍峰紡
 		CDuiString* pAttr;
 		for (int i = 0; i < m_SharedResInfo.m_AttrHash.GetSize(); i++)
 		{
@@ -2326,7 +2326,7 @@ namespace DuiLib
 		}
 		m_SharedResInfo.m_AttrHash.RemoveAll();
 
-		// 关闭ZIP
+		// 鍏抽棴ZIP
 		if (m_bCachedResourceZip && m_hResourceZip != NULL)
 		{
 			CloseZip((HZIP)m_hResourceZip);
@@ -2516,7 +2516,7 @@ namespace DuiLib
 			}
 		}
 
-		m_uTimerID = (++m_uTimerID) % 0xF0; //0xf1-0xfe特殊用途
+		m_uTimerID = (++m_uTimerID) % 0xF0; //0xf1-0xfe鐗规畩鐢ㄩ€�
 		if (!::SetTimer(m_hWndPaint, m_uTimerID, uElapse, NULL)) return FALSE;
 		TIMERINFO* pTimer = new TIMERINFO;
 		if (pTimer == NULL) return FALSE;
@@ -3201,7 +3201,7 @@ namespace DuiLib
 
 		while (!pData)
 		{
-			//读不到图片, 则直接去读取bitmap.m_lpstr指向的路径
+			//璇讳笉鍒板浘鐗�, 鍒欑洿鎺ュ幓璇诲彇bitmap.m_lpstr鎸囧悜鐨勮矾寰�
 			HANDLE hFile = ::CreateFile(pstrPath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
 			if (hFile == INVALID_HANDLE_VALUE) break;
 			dwSize = ::GetFileSize(hFile, NULL);
@@ -3595,7 +3595,7 @@ namespace DuiLib
 
 	const TImageInfo* CPaintManagerUI::AddImage(LPCTSTR bitmap, HBITMAP hBitmap, int iWidth, int iHeight, bool bAlpha, bool bShared)
 	{
-		// 因无法确定外部HBITMAP格式,不能使用hsl调整
+		// 鍥犳棤娉曠‘瀹氬�閮℉BITMAP鏍煎紡锛屼笉鑳戒娇鐢╤sl璋冩暣
 		if (bitmap == NULL || bitmap[0] == _T('\0')) return NULL;
 		if (hBitmap == NULL || iWidth <= 0 || iHeight <= 0) return NULL;
 
@@ -4230,7 +4230,7 @@ namespace DuiLib
 		m_bUsedVirtualWnd = bUsed;
 	}
 
-	// 样式管理
+	// 鏍峰紡绠$悊
 	void CPaintManagerUI::AddStyle(LPCTSTR pName, LPCTSTR pDeclarationList, bool bShared)
 	{
 		CDuiString* pStyle = new CDuiString(pDeclarationList);

+ 18 - 18
DuiLib/Core/UIManager.h

@@ -1,4 +1,4 @@
-#ifndef __UIMANAGER_H__
+锘�#ifndef __UIMANAGER_H__
 #define __UIMANAGER_H__
 
 #pragma once
@@ -14,10 +14,10 @@ namespace DuiLib {
 	//
 	enum UILIB_RESTYPE
 	{
-		UILIB_FILE=1,		// 来自磁盘文件
-		UILIB_ZIP,			// 来自磁盘zip压缩包
-		UILIB_RESOURCE,		// 来自资源
-		UILIB_ZIPRESOURCE,	// 来自资源的zip压缩包
+		UILIB_FILE=1,		// 鏉ヨ嚜纾佺洏鏂囦欢
+		UILIB_ZIP,			// 鏉ヨ嚜纾佺洏zip鍘嬬缉鍖�
+		UILIB_RESOURCE,		// 鏉ヨ嚜璧勬簮
+		UILIB_ZIPRESOURCE,	// 鏉ヨ嚜璧勬簮鐨剒ip鍘嬬缉鍖�
 	};
 	/////////////////////////////////////////////////////////////////////////////////////
 	//
@@ -57,13 +57,13 @@ namespace DuiLib {
 
 	/////////////////////////////////////////////////////////////////////////////////////
 	//
-	// 内部保留的消息
+	// 鍐呴儴淇濈暀鐨勬秷鎭�
 	typedef enum MSGTYPE_UI
 	{
-		UIMSG_TRAYICON = WM_USER + 1,// 托盘消息
+		UIMSG_TRAYICON = WM_USER + 1,// 鎵樼洏娑堟伅
 		UIMSG_SET_DPI,				 // DPI
-		WM_MENUCLICK,				 // 菜单消息
-		UIMSG_USER = WM_USER + 100,	 // 程序自定义消息
+		WM_MENUCLICK,				 // 鑿滃崟娑堟伅
+		UIMSG_USER = WM_USER + 100,	 // 绋嬪簭鑷�畾涔夋秷鎭�
 	};
 
 	/////////////////////////////////////////////////////////////////////////////////////
@@ -309,7 +309,7 @@ namespace DuiLib {
 
 		bool IsForceUseSharedRes() const;
 		void SetForceUseSharedRes(bool bForce);
-		// 注意:只支持简单类型指针,因为只释放内存,不会调用类对象的析构函数
+		// 娉ㄦ剰锛氬彧鏀�寔绠€鍗曠被鍨嬫寚閽堬紝鍥犱负鍙�噴鏀惧唴瀛橈紝涓嶄細璋冪敤绫诲�璞$殑鏋愭瀯鍑芥暟
 		void DeletePtr(void* ptr);
 
 		DWORD GetDefaultDisabledColor() const;
@@ -360,7 +360,7 @@ namespace DuiLib {
 		bool RemoveWindowCustomAttribute(LPCTSTR pstrName);
 		void RemoveAllWindowCustomAttribute();
 
-		// 样式管理
+		// 鏍峰紡绠$悊
 		void AddStyle(LPCTSTR pName, LPCTSTR pStyle, bool bShared = false);
 		LPCTSTR GetStyle(LPCTSTR pName) const;
 		BOOL RemoveStyle(LPCTSTR pName, bool bShared = false);
@@ -369,7 +369,7 @@ namespace DuiLib {
 
 		const TImageInfo* GetImageString(LPCTSTR pStrImage, LPCTSTR pStrModify = NULL);
 
-		// 初始化拖拽
+		// 鍒濆�鍖栨嫋鎷�
 		bool EnableDragDrop(bool bEnable);
 		void SetDragDrop(IDragDropUI* pDragDrop);
 		virtual bool OnDrop(FORMATETC* pFmtEtc, STGMEDIUM& medium,DWORD *pdwEffect);
@@ -472,7 +472,7 @@ namespace DuiLib {
 
 	private:
 		CDuiString m_sName;
-		HWND m_hWndPaint;	//所附加的窗体的句柄
+		HWND m_hWndPaint;	//鎵€闄勫姞鐨勭獥浣撶殑鍙ユ焺
 		HDC m_hDcPaint;
 		HDC m_hDcOffscreen;
 		HDC m_hDcBackground;
@@ -481,7 +481,7 @@ namespace DuiLib {
 		HBITMAP m_hbmpBackground;
 		COLORREF* m_pBackgroundBits;
 
-		// 提示信息
+		// 鎻愮ず淇℃伅
 		HWND m_hwndTooltip;
 		TOOLINFO m_ToolTip;
 		int m_iHoverTime;
@@ -544,18 +544,18 @@ namespace DuiLib {
 		bool m_bForceUseSharedRes;
 		TResInfo m_ResInfo;
 		
-		// 窗口阴影
+		// 绐楀彛闃村奖
 		CShadowUI m_shadow;
 		
-		// DPI管理器
+		// DPI绠$悊鍣�
 		CDPI* m_pDPI;
-		// 是否开启Gdiplus
+		// 鏄�惁寮€鍚疓diplus
 		bool m_bUseGdiplusText;
 		int m_trh;
 		ULONG_PTR m_gdiplusToken;
 		Gdiplus::GdiplusStartupInput *m_pGdiplusStartupInput;
 
-		// 拖拽
+		// 鎷栨嫿
 		bool m_bDragDrop;
 		bool m_bDragMode;
 		HBITMAP m_hDragBitmap;

+ 4 - 4
DuiLib/Core/UIMarkup.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 
 #ifndef TRACE
 #define TRACE
@@ -532,19 +532,19 @@ void CMarkup::_SkipWhitespace(LPTSTR& pstr) const
 
 void CMarkup::_SkipIdentifier(LPCTSTR& pstr) const
 {
-    // 属性只能用英文,所以这样处理没有问题
+    // 灞炴€у彧鑳界敤鑻辨枃锛屾墍浠ヨ繖鏍峰�鐞嗘病鏈夐棶棰�
     while( *pstr != _T('\0') && (*pstr == _T('_') || *pstr == _T(':') || _istalnum(*pstr)) ) pstr = ::CharNext(pstr);
 }
 
 void CMarkup::_SkipIdentifier(LPTSTR& pstr) const
 {
-    // 属性只能用英文,所以这样处理没有问题
+    // 灞炴€у彧鑳界敤鑻辨枃锛屾墍浠ヨ繖鏍峰�鐞嗘病鏈夐棶棰�
     while( *pstr != _T('\0') && (*pstr == _T('_') || *pstr == _T(':') || _istalnum(*pstr)) ) pstr = ::CharNext(pstr);
 }
 
 bool CMarkup::_ParseAttributes(LPTSTR& pstrText)
 {   
-	// 无属性
+	// 鏃犲睘鎬�
 	LPTSTR pstrIdentifier = pstrText;
 	if( *pstrIdentifier == _T('/') && *++pstrIdentifier == _T('>') ) return true;
     if( *pstrText == _T('>') ) return true;

+ 35 - 35
DuiLib/Core/UIRender.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 
 #define STB_IMAGE_IMPLEMENTATION
 #include "..\Utils\stb_image.h"
@@ -411,7 +411,7 @@ namespace DuiLib {
 
 		while (!pData)
 		{
-			//读不到图片, 则直接去读取bitmap.m_lpstr指向的路径
+			//璇讳笉鍒板浘鐗�, 鍒欑洿鎺ュ幓璇诲彇bitmap.m_lpstr鎸囧悜鐨勮矾寰�
 			HANDLE hFile = ::CreateFile(bitmap.m_lpstr, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, \
 				FILE_ATTRIBUTE_NORMAL, NULL);
 			if( hFile == INVALID_HANDLE_VALUE ) break;
@@ -543,7 +543,7 @@ namespace DuiLib {
 
 		while (!pData)
 		{
-			//读不到图片, 则直接去读取bitmap.m_lpstr指向的路径
+			//璇讳笉鍒板浘鐗�, 鍒欑洿鎺ュ幓璇诲彇bitmap.m_lpstr鎸囧悜鐨勮矾寰�
 			HANDLE hFile = ::CreateFile(bitmap.m_lpstr, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, \
 				FILE_ATTRIBUTE_NORMAL, NULL);
 			if( hFile == INVALID_HANDLE_VALUE ) break;
@@ -1127,7 +1127,7 @@ namespace DuiLib {
 	{
 		if( pManager == NULL || hDC == NULL || pDrawInfo == NULL ) return false;
 		RECT rcDest = rcItem;
-		// 计算绘制目标区域
+		// 璁$畻缁樺埗鐩�爣鍖哄煙
 		if( pDrawInfo->rcDest.left != 0 || pDrawInfo->rcDest.top != 0 ||
 			pDrawInfo->rcDest.right != 0 || pDrawInfo->rcDest.bottom != 0 ) {
 				rcDest.left = rcItem.left + pDrawInfo->rcDest.left;
@@ -1137,7 +1137,7 @@ namespace DuiLib {
 				rcDest.bottom = rcItem.top + pDrawInfo->rcDest.bottom;
 				if( rcDest.bottom > rcItem.bottom ) rcDest.bottom = rcItem.bottom;
 		}
-		// 根据对齐方式计算目标区域
+		// 鏍规嵁瀵归綈鏂瑰紡璁$畻鐩�爣鍖哄煙
 		if(pDrawInfo->szImage.cx > 0 && pDrawInfo->szImage.cy > 0) {
 			SIZE szImage = pManager->GetDPIObj()->Scale(pDrawInfo->szImage);
 			RECT rcPadding = pManager->GetDPIObj()->Scale(pDrawInfo->rcPadding);
@@ -1247,7 +1247,7 @@ namespace DuiLib {
 
 		while (!pData)
 		{
-			//读不到图片, 则直接去读取bitmap.m_lpstr指向的路径
+			//璇讳笉鍒板浘鐗�, 鍒欑洿鎺ュ幓璇诲彇bitmap.m_lpstr鎸囧悜鐨勮矾寰�
 			HANDLE hFile = ::CreateFile(bitmap.m_lpstr, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, \
 				FILE_ATTRIBUTE_NORMAL, NULL);
 			if( hFile == INVALID_HANDLE_VALUE ) break;
@@ -1356,7 +1356,7 @@ namespace DuiLib {
 	{
 		Gdiplus::Graphics g(hDC);
 
-		//设置画图时的滤波模式为消除锯齿现象
+		//璁剧疆鐢诲浘鏃剁殑婊ゆ尝妯″紡涓烘秷闄ら敮榻跨幇璞�
 		g.SetSmoothingMode(Gdiplus::SmoothingModeHighQuality);
 
 		Gdiplus::ImageAttributes imageAtt;
@@ -1471,7 +1471,7 @@ namespace DuiLib {
 
 			graphics.MeasureString(pstrText, -1, &font, rectF, &stringFormat, &bounds);
 
-			// MeasureString存在计算误差,这里加一像素
+			// MeasureString瀛樺湪璁$畻璇�樊锛岃繖閲屽姞涓€鍍忕礌
 			rc.bottom = rc.top + (long)bounds.Height + 1;
 			rc.right = rc.left + (long)bounds.Width + 1;
 		}
@@ -1504,47 +1504,47 @@ namespace DuiLib {
 	}
 
 
-	// 绘制及填充圆角矩形
+	// 缁樺埗鍙婂~鍏呭渾瑙掔煩褰�
 	void GdiplusDrawRoundRect(HDC hDC, float x, float y, float width, float height, float arcSize, float lineWidth, Gdiplus::Color lineColor, bool fillPath, Gdiplus::Color fillColor, int nStyle)
 	{
 		float arcDiameter = arcSize * 2;
-		// 创建GDI+对象
+		// 鍒涘缓GDI+瀵硅薄
 		Gdiplus::Graphics  g(hDC);
-		//设置画图时的滤波模式为消除锯齿现象
+		//璁剧疆鐢诲浘鏃剁殑婊ゆ尝妯″紡涓烘秷闄ら敮榻跨幇璞�
 		g.SetSmoothingMode(Gdiplus::SmoothingModeHighQuality);
 
-		// 绘图路径
+		// 缁樺浘璺�緞
 		Gdiplus::GraphicsPath roundRectPath;
 
-		// 保存绘图路径
-		roundRectPath.AddLine(x + arcSize, y, x + width - arcSize, y);  // 顶部横线
-		roundRectPath.AddArc(x + width - arcDiameter, y, arcDiameter, arcDiameter, 270, 90); // 右上圆角
+		// 淇濆瓨缁樺浘璺�緞
+		roundRectPath.AddLine(x + arcSize, y, x + width - arcSize, y);  // 椤堕儴妯�嚎
+		roundRectPath.AddArc(x + width - arcDiameter, y, arcDiameter, arcDiameter, 270, 90); // 鍙充笂鍦嗚�
 
-		roundRectPath.AddLine(x + width, y + arcSize, x + width, y + height - arcSize);  // 右侧竖线
-		roundRectPath.AddArc(x + width - arcDiameter, y + height - arcDiameter, arcDiameter, arcDiameter, 0, 90); // 右下圆角
+		roundRectPath.AddLine(x + width, y + arcSize, x + width, y + height - arcSize);  // 鍙充晶绔栫嚎
+		roundRectPath.AddArc(x + width - arcDiameter, y + height - arcDiameter, arcDiameter, arcDiameter, 0, 90); // 鍙充笅鍦嗚�
 
-		roundRectPath.AddLine(x + width - arcSize, y + height, x + arcSize, y + height);  // 底部横线
-		roundRectPath.AddArc(x, y + height - arcDiameter, arcDiameter, arcDiameter, 90, 90); // 左下圆角
+		roundRectPath.AddLine(x + width - arcSize, y + height, x + arcSize, y + height);  // 搴曢儴妯�嚎
+		roundRectPath.AddArc(x, y + height - arcDiameter, arcDiameter, arcDiameter, 90, 90); // 宸︿笅鍦嗚�
 
-		roundRectPath.AddLine(x, y + height - arcSize, x, y + arcSize);  // 左侧竖线
-		roundRectPath.AddArc(x, y, arcDiameter, arcDiameter, 180, 90); // 左上圆角
+		roundRectPath.AddLine(x, y + height - arcSize, x, y + arcSize);  // 宸︿晶绔栫嚎
+		roundRectPath.AddArc(x, y, arcDiameter, arcDiameter, 180, 90); // 宸︿笂鍦嗚�
 
-		//创建画笔
+		//鍒涘缓鐢荤瑪
 		Gdiplus::Pen pen(lineColor, lineWidth);
 		pen.SetDashStyle((Gdiplus::DashStyle)nStyle);
-		// 绘制矩形
+		// 缁樺埗鐭╁舰
 		g.DrawPath(&pen, &roundRectPath);
 
-		// 是否填充
+		// 鏄�惁濉�厖
 		if(fillPath) {
 			if(fillColor.GetAlpha() == 0) {
-				fillColor = lineColor; // 若未指定填充色,则用线条色填充
+				fillColor = lineColor; // 鑻ユ湭鎸囧畾濉�厖鑹诧紝鍒欑敤绾挎潯鑹插~鍏�
 			}
 
-			// 创建画刷
+			// 鍒涘缓鐢诲埛
 			Gdiplus::SolidBrush brush(fillColor);
 
-			// 填充
+			// 濉�厖
 			g.FillPath(&brush, &roundRectPath);
 		}
 	}
@@ -1744,8 +1744,8 @@ namespace DuiLib {
 
 	void CRenderEngine::DrawHtmlText(HDC hDC, CPaintManagerUI* pManager, RECT& rc, LPCTSTR pstrText, DWORD dwTextColor, RECT* prcLinks, CDuiString* sLinks, int& nLinkRects, int iFont, UINT uStyle)
 	{
-		// 考虑到在xml编辑器中使用<>符号不方便,可以使用{}符号代替
-		// 支持标签嵌套(如<l><b>text</b></l>),但是交叉嵌套是应该避免的(如<l><b>text</l></b>)
+		// 鑰冭檻鍒板湪xml缂栬緫鍣ㄤ腑浣跨敤<>绗﹀彿涓嶆柟渚匡紝鍙�互浣跨敤{}绗﹀彿浠f浛
+		// 鏀�寔鏍囩�宓屽�锛堝�<l><b>text</b></l>锛夛紝浣嗘槸浜ゅ弶宓屽�鏄�簲璇ラ伩鍏嶇殑锛堝�<l><b>text</l></b>锛�
 		// The string formatter supports a kind of "mini-html" that consists of various short tags:
 		//
 		//   Bold:             <b>text</b>
@@ -1835,7 +1835,7 @@ namespace DuiLib {
 		bool bInSelected = false;
 		int iLineLinkIndex = 0;
 
-		// 排版习惯是图文底部对齐,所以每行绘制都要分两步,先计算高度,再绘制
+		// 鎺掔増涔犳儻鏄�浘鏂囧簳閮ㄥ�榻愶紝鎵€浠ユ瘡琛岀粯鍒堕兘瑕佸垎涓ゆ�锛屽厛璁$畻楂樺害锛屽啀缁樺埗
 		CStdPtrArray aLineFontArray;
 		CStdPtrArray aLineColorArray;
 		CStdPtrArray aLinePIndentArray;
@@ -1844,7 +1844,7 @@ namespace DuiLib {
 		bool bLineInLink = false;
 		bool bLineInSelected = false;
 		int cyLineHeight = 0;
-		bool bLineDraw = false; // 行的第二阶段:绘制
+		bool bLineDraw = false; // 琛岀殑绗�簩闃舵�锛氱粯鍒�
 		while( *pstrText != _T('\0') ) {
 			if( pt.x >= rc.right || *pstrText == _T('\n') || bLineEnd ) {
 				if( *pstrText == _T('\n') ) pstrText++;
@@ -2246,7 +2246,7 @@ namespace DuiLib {
 						if( pTm->tmItalic && pFontInfo->bItalic == false ) {
 							ABC abc;
 							::GetCharABCWidths(hDC, _T(' '), _T(' '), &abc);
-							pt.x += abc.abcC / 2; // 简单修正一下斜体混排的问题, 正确做法应该是http://support.microsoft.com/kb/244798/en-us
+							pt.x += abc.abcC / 2; // 绠€鍗曚慨姝d竴涓嬫枩浣撴贩鎺掔殑闂��, 姝g‘鍋氭硶搴旇�鏄痟ttp://support.microsoft.com/kb/244798/en-us
 						}
 						pTm = &pFontInfo->tm;
 						::SelectObject(hDC, pFontInfo->hFont);
@@ -2541,9 +2541,9 @@ namespace DuiLib {
 
 	void CRenderEngine::CheckAlphaColor(DWORD& dwColor)
 	{
-		//RestoreAlphaColor认为0x00000000是真正的透明,其它都是GDI绘制导致的
-		//所以在GDI绘制中不能用0xFF000000这个颜色值,现在处理是让它变成RGB(0,0,1)
-		//RGB(0,0,1)与RGB(0,0,0)很难分出来
+		//RestoreAlphaColor璁や负0x00000000鏄�湡姝g殑閫忔槑锛屽叾瀹冮兘鏄疓DI缁樺埗瀵艰嚧鐨�
+		//鎵€浠ュ湪GDI缁樺埗涓�笉鑳界敤0xFF000000杩欎釜棰滆壊鍊硷紝鐜板湪澶勭悊鏄��瀹冨彉鎴怰GB(0,0,1)
+		//RGB(0,0,1)涓嶳GB(0,0,0)寰堥毦鍒嗗嚭鏉�
 		if((0x00FFFFFF & dwColor) == 0)
 		{
 			dwColor += 1;

+ 7 - 7
DuiLib/Core/UIRender.h

@@ -1,4 +1,4 @@
-#ifndef __UIRENDER_H__
+锘�#ifndef __UIRENDER_H__
 #define __UIRENDER_H__
 
 #pragma once
@@ -32,7 +32,7 @@ namespace DuiLib {
 	class UILIB_API CRenderEngine
 	{
 	public:
-		// 图片加载
+		// 鍥剧墖鍔犺浇
 #ifdef USE_XIMAGE_EFFECT
 		static CxImage *LoadGifImageX(STRINGorID bitmap, LPCTSTR type = NULL, DWORD mask = 0);
 #endif
@@ -45,25 +45,25 @@ namespace DuiLib {
 		static bool DrawImageInfo(HDC hDC, CPaintManagerUI* pManager, const RECT& rcItem, const RECT& rcPaint, const TDrawInfo* pDrawInfo, HINSTANCE instance = NULL);
 		static bool DrawImageString(HDC hDC, CPaintManagerUI* pManager, const RECT& rcItem, const RECT& rcPaint, LPCTSTR pStrImage, LPCTSTR pStrModify = NULL, HINSTANCE instance = NULL);
 
-		// Gdiplus绘制
+		// Gdiplus缁樺埗
 		static TImageInfo* GdiplusLoadImage(STRINGorID bitmap, LPCTSTR type = NULL, DWORD mask = 0, HINSTANCE instance = NULL);
 		static void GdiplusDrawImage(HDC hDC, Gdiplus::Image* image, const RECT& rc, const RECT& rcPaint, const RECT& rcBmpPart, bool bAlpha, UINT uFade = 255, UINT uRotate = 0);
 		static void GdiplusDrawText(HDC hDC, CPaintManagerUI* pManager, RECT& rc, LPCTSTR pstrText, DWORD dwTextColor, int iFont, UINT uStyle);
 
-		// 以下函数中的颜色参数alpha值无效
-		// 图元绘制
+		// 浠ヤ笅鍑芥暟涓�殑棰滆壊鍙傛暟alpha鍊兼棤鏁�
+		// 鍥惧厓缁樺埗
 		static void DrawColor(HDC hDC, const RECT& rc, DWORD color);
 		static void DrawGradient(HDC hDC, const RECT& rc, DWORD dwFirst, DWORD dwSecond, bool bVertical, int nSteps);
 		static void DrawLine(HDC hDC, const RECT& rc, int nSize, DWORD dwPenColor,int nStyle = PS_SOLID);
 		static void DrawRect(HDC hDC, const RECT& rc, int nSize, DWORD dwPenColor,int nStyle = PS_SOLID);
 		static void DrawRoundRect(HDC hDC, const RECT& rc, int width, int height, int nSize, DWORD dwPenColor,int nStyle = PS_SOLID);
 
-		// 字体绘制
+		// 瀛椾綋缁樺埗
 		static void DrawText(HDC hDC, CPaintManagerUI* pManager, RECT& rc, LPCTSTR pstrText,DWORD dwTextColor, int iFont, UINT uStyle, DWORD dwTextBKColor);
 		static void DrawText(HDC hDC, CPaintManagerUI* pManager, RECT& rc, LPCTSTR pstrText, DWORD dwTextColor, int iFont, UINT uStyle);
 		static void DrawHtmlText(HDC hDC, CPaintManagerUI* pManager, RECT& rc, LPCTSTR pstrText, DWORD dwTextColor, RECT* pLinks, CDuiString* sLinks, int& nLinkRects, int iFont, UINT uStyle);
 
-		// 辅助函数
+		// 杈呭姪鍑芥暟
 		static void CheckAlphaColor(DWORD& dwColor);
 		static DWORD AdjustColor(DWORD dwColor, short H, short S, short L);
 

+ 7 - 7
DuiLib/Core/UIResourceManager.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 #include "UIResourceManager.h"
 
 namespace DuiLib {
@@ -57,7 +57,7 @@ namespace DuiLib {
 		LPCTSTR pstrValue = NULL;
 		LPTSTR pstr = NULL;
 
-		//加载图片资源
+		//鍔犺浇鍥剧墖璧勬簮
 		LPCTSTR pstrId = NULL;
 		LPCTSTR pstrPath = NULL;
 		for( CMarkupNode node = Root.GetChild() ; node.IsValid(); node = node.GetSibling() ) 
@@ -67,7 +67,7 @@ namespace DuiLib {
 			if(ChildNode.IsValid()) LoadResource(node);
 			else if ((_tcsicmp(pstrClass,_T("Image")) == 0) && node.HasAttributes())
 			{
-				//加载图片资源
+				//鍔犺浇鍥剧墖璧勬簮
 				nAttributes = node.GetAttributeCount();
 				for( int i = 0; i < nAttributes; i++ ) 
 				{
@@ -89,7 +89,7 @@ namespace DuiLib {
 				m_mImageHashMap.Insert(pstrId, (LPVOID)new CDuiString(pstrPath));
 			}
 			else if( _tcsicmp(pstrClass,_T("Xml")) == 0 && node.HasAttributes()) {
-				//加载XML配置文件
+				//鍔犺浇XML閰嶇疆鏂囦欢
 				nAttributes = node.GetAttributeCount();
 				for( int i = 0; i < nAttributes; i++ ) 
 				{
@@ -177,7 +177,7 @@ namespace DuiLib {
 		LPCTSTR pstrValue = NULL;
 		LPTSTR pstr = NULL;
 
-		//加载图片资源
+		//鍔犺浇鍥剧墖璧勬簮
 		LPCTSTR pstrId = NULL;
 		LPCTSTR pstrText = NULL;
 		for( CMarkupNode node = Root.GetChild() ; node.IsValid(); node = node.GetSibling() ) 
@@ -185,7 +185,7 @@ namespace DuiLib {
 			pstrClass = node.GetName();
 			if ((_tcsicmp(pstrClass,_T("Text")) == 0) && node.HasAttributes())
 			{
-				//加载图片资源
+				//鍔犺浇鍥剧墖璧勬簮
 				nAttributes = node.GetAttributeCount();
 				for( int i = 0; i < nAttributes; i++ ) 
 				{
@@ -236,7 +236,7 @@ namespace DuiLib {
 	void CResourceManager::ReloadText()
 	{
 		if(m_pQuerypInterface == NULL) return;
-		//重载文字描述
+		//閲嶈浇鏂囧瓧鎻忚堪
 		LPCTSTR lpstrId = NULL;
 		LPCTSTR lpstrText;
 		for( int i = 0; i < m_mTextResourceHashMap.GetSize(); i++ )

+ 2 - 2
DuiLib/Core/UIResourceManager.h

@@ -1,9 +1,9 @@
-#ifndef __UIRESOURCEMANAGER_H__
+锘�#ifndef __UIRESOURCEMANAGER_H__
 #define __UIRESOURCEMANAGER_H__
 #pragma once
 
 namespace DuiLib {
-	// 控件文字查询接口
+	// 鎺т欢鏂囧瓧鏌ヨ�鎺ュ彛
 	class UILIB_API IQueryControlText
 	{
 	public:

+ 5 - 3
DuiLib/DuiLib.vcxproj

@@ -53,7 +53,7 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <OutDir>$(SolutionDir)temp\link\$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
     <IntDir>$(SolutionDir)temp\compile\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
+    <LinkIncremental>true</LinkIncremental>
     <GenerateManifest>false</GenerateManifest>
     <EmbedManifest>false</EmbedManifest>
     <TargetName>$(ProjectName)_d</TargetName>
@@ -68,7 +68,7 @@
       <HeaderFileName />
     </Midl>
     <ClCompile>
-      <Optimization>MinSpace</Optimization>
+      <Optimization>MaxSpeed</Optimization>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;UILIB_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
@@ -81,6 +81,7 @@
       <DisableSpecificWarnings>4099;4091;4302</DisableSpecificWarnings>
       <LanguageStandard>stdcpp17</LanguageStandard>
       <LanguageStandard_C>Default</LanguageStandard_C>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -115,7 +116,7 @@ copy $(SolutionDir)temp\link\$(Platform)\$(Configuration)\$(ProjectName)\DuiLib.
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;UILIB_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
+      <MinimalRebuild>false</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <PrecompiledHeader>Use</PrecompiledHeader>
@@ -127,6 +128,7 @@ copy $(SolutionDir)temp\link\$(Platform)\$(Configuration)\$(ProjectName)\DuiLib.
       <DisableSpecificWarnings>4099;4091;4302</DisableSpecificWarnings>
       <LanguageStandard>stdcpp17</LanguageStandard>
       <LanguageStandard_C>Default</LanguageStandard_C>
+      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+ 3 - 3
DuiLib/Layout/UIHorizontalLayout.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+#include "StdAfx.h"
 #include "UIHorizontalLayout.h"
 
 namespace DuiLib
@@ -99,12 +99,12 @@ namespace DuiLib
 		SIZE szRemaining = szAvailable;
 		int iPosX = rc.left;
 		
-		// ¹ö¶¯Ìõ
+		// 滚动�
 		if( m_pHorizontalScrollBar && m_pHorizontalScrollBar->IsVisible() ) {
 			iPosX -= m_pHorizontalScrollBar->GetScrollPos();
 		}
 		else {
-			// ×ӿؼþºáÏò¶ÔÆä·½Ê½
+			// �控件横�对其方�
 			if(nAdjustables <= 0) {
 				UINT iChildAlign = GetChildAlign(); 
 				if (iChildAlign == DT_CENTER) {

+ 2 - 2
DuiLib/Layout/UIVerticalLayout.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+#include "StdAfx.h"
 #include "UIVerticalLayout.h"
 
 namespace DuiLib
@@ -103,7 +103,7 @@ namespace DuiLib
 			iPosY -= m_pVerticalScrollBar->GetScrollPos();
 		}
 		else {
-			// ×ӿؼþ´¹Ö±¶ÔÆä·½Ê½
+			// �控件垂直对其方�
 			if(nAdjustables <= 0) {
 				UINT iChildAlign = GetChildVAlign(); 
 				if (iChildAlign == DT_VCENTER) {

+ 3 - 3
DuiLib/StdAfx.h

@@ -1,4 +1,4 @@
-// StdAfx.h : include file for standard system include files,
+锘�// StdAfx.h : include file for standard system include files,
 //  or project specific include files that are used frequently, but
 //      are changed infrequently
 //
@@ -9,7 +9,7 @@
 #pragma once
 
 #ifdef __GNUC__
-// 怎么都没找到min,max的头文件-_-
+// 鎬庝箞閮芥病鎵惧埌min锛宮ax鐨勫ご鏂囦欢-_-
 #ifndef min
 #define min(a,b) (((a) < (b)) ? (a) : (b))
 #endif
@@ -52,7 +52,7 @@
 #define _WIN32_WINNT _WIN32_WINNT_WINXP//0x0501
 #endif
 
-//#define USE_XIMAGE_EFFECT //使用ximage的gif控件CGifAnimExUI开关,提升性能,默认不使用
+//#define USE_XIMAGE_EFFECT //浣跨敤ximage鐨刧if鎺т欢CGifAnimExUI寮€鍏筹紝鎻愬崌鎬ц兘,榛樿�涓嶄娇鐢�
 
 #include "UIlib.h"
 

+ 4 - 4
DuiLib/Utils/FlashEventHandler.h

@@ -1,7 +1,7 @@
-/*
-	´´½¨ÈÕÆÚ£º	2012/11/05 15:09:48
-	×÷Õߣº			daviyang35@gmail.com
-	ÃèÊö£º	FlashEventHandler
+/*
+	创建日期:	2012/11/05 15:09:48
+	作者:			daviyang35@gmail.com
+	�述:	FlashEventHandler
 */
 #pragma once
 //#include <ExDisp.h>

+ 20 - 20
DuiLib/Utils/UIShadow.h

@@ -1,4 +1,4 @@
-#ifndef __UISHADOW_H__
+锘�#ifndef __UISHADOW_H__
 #define __UISHADOW_H__
 
 #pragma once
@@ -16,47 +16,47 @@ public:
 	virtual ~CShadowUI(void);
 
 public:
-	// bShow为真时才会创建阴影
+	// bShow涓虹湡鏃舵墠浼氬垱寤洪槾褰�
 	void ShowShadow(bool bShow);	
 	bool IsShowShadow() const;
 
 	void DisableShadow(bool bDisable);
 	bool IsDisableShadow() const;
 
-	// 算法阴影的函数
+	// 绠楁硶闃村奖鐨勫嚱鏁�
 	bool SetSize(int NewSize = 0);
 	bool SetSharpness(unsigned int NewSharpness = 5);
 	bool SetDarkness(unsigned int NewDarkness = 200);
 	bool SetPosition(int NewXOffset = 5, int NewYOffset = 5);
 	bool SetColor(COLORREF NewColor = 0);
 
-	// 图片阴影的函数
+	// 鍥剧墖闃村奖鐨勫嚱鏁�
 	bool SetImage(LPCTSTR szImage);
-	bool SetShadowCorner(RECT rcCorner);	// 九宫格方式描述阴影
+	bool SetShadowCorner(RECT rcCorner);	// 涔濆�鏍兼柟寮忔弿杩伴槾褰�
 	
-	// 把自己的阴影样式复制到传入参数
+	// 鎶婅嚜宸辩殑闃村奖鏍峰紡澶嶅埗鍒颁紶鍏ュ弬鏁�
 	bool CopyShadow(CShadowUI* pShadow);
 
-	//	创建阴影窗体,由CPaintManagerUI自动调用,除非自己要单独创建阴影
+	//	鍒涘缓闃村奖绐椾綋锛岀敱CPaintManagerUI鑷�姩璋冪敤,闄ら潪鑷�繁瑕佸崟鐙�垱寤洪槾褰�
 	void Create(CPaintManagerUI* pPaintManager);
 protected:
 
-	//	初始化并注册阴影类
+	//	鍒濆�鍖栧苟娉ㄥ唽闃村奖绫�
 	static bool Initialize(HINSTANCE hInstance);
 
-	// 保存已经附加的窗体句柄和与其关联的阴影类,方便在ParentProc()函数中通过句柄得到阴影类
+	// 淇濆瓨宸茬粡闄勫姞鐨勭獥浣撳彞鏌勫拰涓庡叾鍏宠仈鐨勯槾褰辩被,鏂逛究鍦≒arentProc()鍑芥暟涓�€氳繃鍙ユ焺寰楀埌闃村奖绫�
 	static std::map<HWND, CShadowUI *>& GetShadowMap();
 
-	//	子类化父窗体
+	//	瀛愮被鍖栫埗绐椾綋
 	static LRESULT CALLBACK ParentProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
 
-	// 父窗体改变大小,移动,或者主动重绘阴影时调用
+	// 鐖剁獥浣撴敼鍙樺ぇ灏忥紝绉诲姩锛屾垨鑰呬富鍔ㄩ噸缁橀槾褰辨椂璋冪敤
 	void Update(HWND hParent);
 
-	// 通过算法计算阴影
+	// 閫氳繃绠楁硶璁$畻闃村奖
 	void MakeShadow(UINT32 *pShadBits, HWND hParent, RECT *rcParent);
 
-	// 计算alpha预乘值
+	// 璁$畻alpha棰勪箻鍊�
 	inline DWORD PreMultiply(COLORREF cl, unsigned char nAlpha)
 	{
 		return (GetRValue(cl) * (DWORD)nAlpha / 255) |
@@ -75,14 +75,14 @@ protected:
 	
 	static bool s_bHasInit;
 
-	CPaintManagerUI	*m_pManager;		// 父窗体的CPaintManagerUI,用来获取素材资源和父窗体句柄
-	HWND			 m_hWnd;			// 阴影窗体的句柄
-	LONG_PTR		 m_OriParentProc;	// 子类化父窗体
+	CPaintManagerUI	*m_pManager;		// 鐖剁獥浣撶殑CPaintManagerUI锛岀敤鏉ヨ幏鍙栫礌鏉愯祫婧愬拰鐖剁獥浣撳彞鏌�
+	HWND			 m_hWnd;			// 闃村奖绐椾綋鐨勫彞鏌�
+	LONG_PTR		 m_OriParentProc;	// 瀛愮被鍖栫埗绐椾綋
 	BYTE			 m_Status;
-	bool			 m_bIsImageMode;	// 是否为图片阴影模式
-	bool			 m_bIsShowShadow;	// 是否要显示阴影
+	bool			 m_bIsImageMode;	// 鏄�惁涓哄浘鐗囬槾褰辨ā寮�
+	bool			 m_bIsShowShadow;	// 鏄�惁瑕佹樉绀洪槾褰�
 	bool			m_bIsDisableShadow;
-	// 算法阴影成员变量
+	// 绠楁硶闃村奖鎴愬憳鍙橀噺
 	unsigned char m_nDarkness;	// Darkness, transparency of blurred area
 	unsigned char m_nSharpness;	// Sharpness, width of blurred border of shadow window
 	signed char m_nSize;	// Shadow window size, relative to parent window size
@@ -100,7 +100,7 @@ protected:
 
 	COLORREF m_Color;	// Color of shadow
 
-	// 图片阴影成员变量
+	// 鍥剧墖闃村奖鎴愬憳鍙橀噺
 	CDuiString	m_sShadowImage;
 	RECT		m_rcShadowCorner;
 };

+ 2 - 2
DuiLib/Utils/Utils.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+#include "StdAfx.h"
 #include "Utils.h"
 
 namespace DuiLib
@@ -918,7 +918,7 @@ namespace DuiLib
 					pItem->pPrev = NULL;
 					pItem->pNext = m_aT[slot];
 					pItem->pNext->pPrev = pItem;
-					//½«itemÒÆ¶¯ÖÁÁ´ÌõÍ·²¿
+					//将item移动至链�头部
 					m_aT[slot] = pItem;
 				}
 				return pItem->Data;

+ 3 - 3
DuiLib/Utils/WebBrowserEventHandler.h

@@ -1,4 +1,4 @@
-#pragma once
+锘�#pragma once
 #include <ExDisp.h>
 #include <ExDispid.h>
 #include <mshtmhst.h>
@@ -29,9 +29,9 @@ namespace DuiLib
 			/* [in] */ IDispatch __RPC_FAR *pdispReserved)
 		{
 			//return E_NOTIMPL;
-			//返回 E_NOTIMPL 正常弹出系统右键菜单
+			//杩斿洖 E_NOTIMPL 姝e父寮瑰嚭绯荤粺鍙抽敭鑿滃崟
 			return S_OK;
-			//返回S_OK 则可屏蔽系统右键菜单
+			//杩斿洖S_OK 鍒欏彲灞忚斀绯荤粺鍙抽敭鑿滃崟
 		}
 
 		virtual HRESULT STDMETHODCALLTYPE GetHostInfo(CWebBrowserUI* pWeb, 

+ 8 - 8
DuiLib/Utils/WinImplBase.cpp

@@ -1,4 +1,4 @@
-#include "StdAfx.h"
+锘�#include "StdAfx.h"
 #include <algorithm>
 namespace DuiLib
 {
@@ -299,17 +299,17 @@ namespace DuiLib
 
 	LRESULT WindowImplBase::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
 	{
-		// 调整窗口样式
+		// 璋冩暣绐楀彛鏍峰紡
 		LONG styleValue = ::GetWindowLong(*this, GWL_STYLE);
 		styleValue &= ~WS_CAPTION;
 		::SetWindowLong(*this, GWL_STYLE, styleValue | WS_CLIPSIBLINGS | WS_CLIPCHILDREN);
 
-		// 关联UI管理器
+		// 鍏宠仈UI绠$悊鍣�
 		m_pm.Init(m_hWnd, GetManagerName());
-		// 注册PreMessage回调
+		// 娉ㄥ唽PreMessage鍥炶皟
 		m_pm.AddPreMessageFilter(this);
 
-		// 创建主窗口
+		// 鍒涘缓涓荤獥鍙�
 		CControlUI* pRoot=NULL;
 		CDialogBuilder builder;
 		CDuiString sSkinType = GetSkinType();
@@ -322,16 +322,16 @@ namespace DuiLib
 		}
 
 		if (pRoot == NULL) {
-			CDuiString sError = _T("加载资源文件失败:");
+			CDuiString sError = _T("鍔犺浇璧勬簮鏂囦欢澶辫触锛�");
 			sError += GetSkinFile();
 			MessageBox(NULL, sError, _T("Duilib") ,MB_OK|MB_ICONERROR);
 			ExitProcess(1);
 			return 0;
 		}
 		m_pm.AttachDialog(pRoot);
-		// 添加Notify事件接口
+		// 娣诲姞Notify浜嬩欢鎺ュ彛
 		m_pm.AddNotifier(this);
-		// 窗口初始化完毕
+		// 绐楀彛鍒濆�鍖栧畬姣�
 		InitWindow();
 		return 0;
 	}

+ 3 - 3
DuiLib/Utils/WinImplBase.h

@@ -1,4 +1,4 @@
-#ifndef WIN_IMPL_BASE_HPP
+锘�#ifndef WIN_IMPL_BASE_HPP
 #define WIN_IMPL_BASE_HPP
 
 namespace DuiLib
@@ -14,9 +14,9 @@ namespace DuiLib
 	public:
 		WindowImplBase(){};
 		virtual ~WindowImplBase(){};
-		// 只需主窗口重写(初始化资源与多语言接口)
+		// 鍙�渶涓荤獥鍙i噸鍐欙紙鍒濆�鍖栬祫婧愪笌澶氳�瑷€鎺ュ彛锛�
 		virtual void InitResource(){};
-		// 每个窗口都可以重写
+		// 姣忎釜绐楀彛閮藉彲浠ラ噸鍐�
 		virtual void InitWindow(){};
 		virtual void OnFinalMessage( HWND hWnd );
 		virtual void Notify(TNotifyUI& msg);

BIN
bin/Win32/Debug/zhipuzi_pos_windows/DuiLib_d.dll


BIN
bin/Win32/Release/zhipuzi_pos_windows/DuiLib.dll


BIN
dll/debug/DuiLib_d.dll


BIN
dll/release/DuiLib.dll


+ 1 - 1
zhipuzi_pos_windows/ai/ImageProcessor.cpp

@@ -1,4 +1,4 @@
-
+#include "pch.h"
 #include "ImageProcessor.h"
 #include <filesystem>
 #include <algorithm>

+ 1 - 1
zhipuzi_pos_windows/ai/SQLiteVecManager.cpp

@@ -1,4 +1,4 @@
-#include "../pch/pch.h"
+#include "pch.h"
 
 #include "SQLiteVecManager.h"
 #include <stdexcept>

+ 1 - 1
zhipuzi_pos_windows/ai/YoloFeatureManager.cpp

@@ -1,4 +1,4 @@
-#include "../pch/pch.h"
+#include "pch.h"
 
 #include "YoloFeatureManager.h"
 #include <fstream>

+ 2 - 3
zhipuzi_pos_windows/control/CDiandanFoodItemUI.cpp

@@ -1,6 +1,5 @@
-#include "CDiandanFoodItemUI.h"
-
-#include "../pch/pch.h"
+#include "pch.h"
+#include "CDiandanFoodItemUI.h"
 
 CDiandanFoodItemUI::CDiandanFoodItemUI()
 {

+ 1 - 1
zhipuzi_pos_windows/control/CDiandanFoodItemUI.h

@@ -1,6 +1,6 @@
 #pragma once
 
-#include "../pch/pch.h"
+#include "pch.h"
 
 #include "../zhipuzi/CFood.h"
 #include "../zhipuzi/CFoodpackage.h"

+ 21 - 21
zhipuzi_pos_windows/control/CDiandanNatureItemUI.cpp

@@ -1,4 +1,4 @@
-#include "../pch/pch.h"
+锘�#include "pch.h"
 #include "CDiandanNatureItemUI.h"
 
 #include "../wnd/CDiandanNatureWnd.h"
@@ -44,16 +44,16 @@ void CDiandanNatureItemUI::ShowNatureValue()
 	int nRows = (totoal_value_size - 1) / 5 + 1;
 	int nCols = 5;
 
-	//设置属性区域的高度
+	//璁剧疆灞炴€у尯鍩熺殑楂樺害
 	pValueLayout->SetFixedHeight(nRows * 54);
 
 	this->SetFixedHeight(nRows * 54 + 30);
 
-	//开始设置每个控件的位置
+	//寮€濮嬭�缃�瘡涓�帶浠剁殑浣嶇疆
 	int value_num = 0;
 	for (std::vector<FoodNatureValue>::iterator it = m_nature_value.begin(); it != m_nature_value.end(); it++)
 	{
-		//这里面的是属性值信息
+		//杩欓噷闈㈢殑鏄�睘鎬у€间俊鎭�
 		FoodNatureValue curNature = *it;
 
 		std::string valuename = curNature.name;
@@ -69,15 +69,15 @@ void CDiandanNatureItemUI::ShowNatureValue()
 		newButton->SetBorderColor(0xFFA9A9A9);
 		newButton->SetTextColor(0xFFA9A9A9);
 
-		//设置定义属性,在点击按钮的时候好区分
+		//璁剧疆瀹氫箟灞炴€э紝鍦ㄧ偣鍑绘寜閽�殑鏃跺€欏ソ鍖哄垎
 		newButton->SetAttribute(L"name", L"diandan_nature_value_btn");
 		newButton->AddCustomAttribute(L"nature_name_num", std::to_wstring(m_nNatureNameNum).c_str());
 		newButton->AddCustomAttribute(L"nature_value_num", std::to_wstring(value_num).c_str());
 
-		//必须先Add,才能调用下面的SetPos,否则无效
+		//蹇呴』鍏圓dd锛屾墠鑳借皟鐢ㄤ笅闈㈢殑SetPos锛屽惁鍒欐棤鏁�
 		pValueLayout->Add(newButton);
 
-		//设置位置,根据行数和列数来计算,行数和列数第一个都是1,按钮宽度145,高度44,右和下间距10
+		//璁剧疆浣嶇疆锛屾牴鎹��鏁板拰鍒楁暟鏉ヨ�绠楋紝琛屾暟鍜屽垪鏁扮�涓€涓�兘鏄�1锛屾寜閽��搴�145锛岄珮搴�44锛屽彸鍜屼笅闂磋窛10
 		int curRow = value_num / 5 + 1;
 		int curCol = value_num % 5 + 1;
 
@@ -89,7 +89,7 @@ void CDiandanNatureItemUI::ShowNatureValue()
 
 		newButton->SetFloat(true);
 
-		// 强制设置固定大小和位置
+		// 寮哄埗璁剧疆鍥哄畾澶у皬鍜屼綅缃�
 		SIZE size;
 		size.cx = rect.left;
 		size.cy = rect.top;
@@ -101,9 +101,9 @@ void CDiandanNatureItemUI::ShowNatureValue()
 		value_num++;
 	}
 
-	//初始化选中
+	//鍒濆�鍖栭€変腑
 
-	//如果是点击商品的,默认选中第一个
+	//濡傛灉鏄�偣鍑诲晢鍝佺殑锛岄粯璁ら€変腑绗�竴涓�
 	if (m_InitFoodNatureSelectValue.m_nature_selects.size() == 0)
 	{
 		m_nature_value[0].is_select = true;
@@ -118,7 +118,7 @@ void CDiandanNatureItemUI::ShowNatureValue()
 	{
 		m_nSelectNum = 0;
 
-		//可能有1到多个商品属性值被选中
+		//鍙�兘鏈�1鍒板�涓�晢鍝佸睘鎬у€艰�閫変腑
 		for (std::vector< FoodNatureSelectValueInfo>::iterator it = m_InitFoodNatureSelectValue.m_nature_selects.begin(); it != m_InitFoodNatureSelectValue.m_nature_selects.end(); it++)
 		{
 			int index = (*it).nature_select_index;
@@ -140,17 +140,17 @@ void CDiandanNatureItemUI::SetNatureSelected(int index)
 
 	if (m_nature_value[index].is_select == true)
 	{
-		//点击的这个当前是选中状态
+		//鐐瑰嚮鐨勮繖涓�綋鍓嶆槸閫変腑鐘舵€�
 		if (m_nLimitChoose == 1)
 		{
-			//如果最多就只能选一个属性值的,点了选中状态的就没变化
+			//濡傛灉鏈€澶氬氨鍙�兘閫変竴涓�睘鎬у€肩殑锛岀偣浜嗛€変腑鐘舵€佺殑灏辨病鍙樺寲
 		}
 		else
 		{
-			//如果是可以选多个值的,点了选中状态就改为非选中状态
+			//濡傛灉鏄�彲浠ラ€夊�涓�€肩殑锛岀偣浜嗛€変腑鐘舵€佸氨鏀逛负闈為€変腑鐘舵€�
 			if (m_nSelectNum == 1)
 			{
-				m_pNatureWnd->ShowToast(L"最少选择1个属性");
+				m_pNatureWnd->ShowToast(L"鏈€灏戦€夋嫨1涓�睘鎬�");
 
 				return;
 			}
@@ -166,16 +166,16 @@ void CDiandanNatureItemUI::SetNatureSelected(int index)
 	}
 	else
 	{
-		//点击的这个是非选中状态
+		//鐐瑰嚮鐨勮繖涓�槸闈為€変腑鐘舵€�
 		if (m_nLimitChoose == 1)
 		{
-			//如果最大限制就是1个,点击非选中状态的,就自动选中这个
+			//濡傛灉鏈€澶ч檺鍒跺氨鏄�1涓�紝鐐瑰嚮闈為€変腑鐘舵€佺殑锛屽氨鑷�姩閫変腑杩欎釜
 			int num = 0;
 			for (std::vector<FoodNatureValue>::iterator it = m_nature_value.begin(); it != m_nature_value.end(); it++)
 			{
 				if (it->is_select == true)
 				{
-					//把旧的选中的设为非选中
+					//鎶婃棫鐨勯€変腑鐨勮�涓洪潪閫変腑
 					m_nature_value[num].is_select = false;
 
 					CButtonUI* old_btn = static_cast<CButtonUI*>(pValueLayout->GetItemAt(num));
@@ -186,7 +186,7 @@ void CDiandanNatureItemUI::SetNatureSelected(int index)
 				num++;
 			}
 
-			//再把刚点击的设为选中
+			//鍐嶆妸鍒氱偣鍑荤殑璁句负閫変腑
 			m_nature_value[index].is_select = true;
 
 			CButtonUI* new_btn = static_cast<CButtonUI*>(pValueLayout->GetItemAt(index));
@@ -197,12 +197,12 @@ void CDiandanNatureItemUI::SetNatureSelected(int index)
 		{
 			if (m_nSelectNum >= m_nLimitChoose)
 			{
-				m_pNatureWnd->ShowToast(L"最多选择" + std::to_wstring(m_nLimitChoose) + L"个属性");
+				m_pNatureWnd->ShowToast(L"鏈€澶氶€夋嫨" + std::to_wstring(m_nLimitChoose) + L"涓�睘鎬�");
 
 				return;
 			}
 
-			//否则进行选中
+			//鍚﹀垯杩涜�閫変腑
 			m_nature_value[index].is_select = true;
 
 			CButtonUI* new_btn = static_cast<CButtonUI*>(pValueLayout->GetItemAt(index));

+ 30 - 30
zhipuzi_pos_windows/control/CDiandanNatureItemUI.h

@@ -1,26 +1,26 @@
-#pragma once
+锘�#pragma once
 
 #include <string>
 
 class CDiandanNatureWnd;
 
-//这个对应的是一个属性值
+//杩欎釜瀵瑰簲鐨勬槸涓€涓�睘鎬у€�
 class FoodNatureValue
 {
 public:
-	std::string name; //属性值的名字
-	int value; //属性值对应的价格
+	std::string name; //灞炴€у€肩殑鍚嶅瓧
+	int value; //灞炴€у€煎�搴旂殑浠锋牸
 
 	bool is_select = false;;
 };
 
-//这个用来记录每个被选中的属性信息里面的属性值信息,以为属性值可以多选
+//杩欎釜鐢ㄦ潵璁板綍姣忎釜琚�€変腑鐨勫睘鎬т俊鎭�噷闈㈢殑灞炴€у€间俊鎭�紝浠ヤ负灞炴€у€煎彲浠ュ�閫�
 class FoodNatureSelectValueInfo
 {
 public:
-	std::string nature_select_name; //选中的属性值名字
-	int nature_select_index; //选中的属性值属于第几个属性
-	double nature_select_value; //选中的属性值的价格
+	std::string nature_select_name; //閫変腑鐨勫睘鎬у€煎悕瀛�
+	int nature_select_index; //閫変腑鐨勫睘鎬у€煎睘浜庣�鍑犱釜灞炴€�
+	double nature_select_value; //閫変腑鐨勫睘鎬у€肩殑浠锋牸
 
 	bool operator == (const FoodNatureSelectValueInfo& t) const
 	{
@@ -38,21 +38,21 @@ public:
 	}
 };
 
-//这个用来记录每个被选中的属性信息,一个对象对应一个属性,多个属性就是多个对象
+//杩欎釜鐢ㄦ潵璁板綍姣忎釜琚�€変腑鐨勫睘鎬т俊鎭�紝涓€涓��璞″�搴斾竴涓�睘鎬э紝澶氫釜灞炴€у氨鏄��涓��璞�
 class FoodNatureSelectValue
 {
 public:
-	std::string nature_name; //属性名字
-	int nNameIndex; //属性名字在所有属性中的顺序
+	std::string nature_name; //灞炴€у悕瀛�
+	int nNameIndex; //灞炴€у悕瀛楀湪鎵€鏈夊睘鎬т腑鐨勯『搴�
 
-	//std::string nature_select_name; //选中的属性值名字
-	//int nature_select_index; //选中的属性值属于第几个属性
-	//double nature_select_value; //选中的属性值的价格
+	//std::string nature_select_name; //閫変腑鐨勫睘鎬у€煎悕瀛�
+	//int nature_select_index; //閫変腑鐨勫睘鎬у€煎睘浜庣�鍑犱釜灞炴€�
+	//double nature_select_value; //閫変腑鐨勫睘鎬у€肩殑浠锋牸
 
-	//商品属性可以多选,这个是多选的属性
+	//鍟嗗搧灞炴€у彲浠ュ�閫夛紝杩欎釜鏄��閫夌殑灞炴€�
 	std::vector<FoodNatureSelectValueInfo> m_nature_selects;
 
-	//获取多选属性的名字,中间用、隔开
+	//鑾峰彇澶氶€夊睘鎬х殑鍚嶅瓧锛屼腑闂寸敤銆侀殧寮€
 	std::string GetNatureSelectName()
 	{
 		size_t i = 0;
@@ -64,7 +64,7 @@ public:
 
 			if (i < m_nature_selects.size() - 1)
 			{
-				show += CLewaimaiString::UnicodeToUTF8(L"、");
+				show += CLewaimaiString::UnicodeToUTF8(L"銆�");
 			}
 
 			i++;
@@ -74,7 +74,7 @@ public:
 	}
 };
 
-//这个对应的是属性弹框里面的一个属性展示控件(包含属性名和属性值,不同属性是不同的对象)
+//杩欎釜瀵瑰簲鐨勬槸灞炴€у脊妗嗛噷闈㈢殑涓€涓�睘鎬у睍绀烘帶浠讹紙鍖呭惈灞炴€у悕鍜屽睘鎬у€硷紝涓嶅悓灞炴€ф槸涓嶅悓鐨勫�璞★級
 class CDiandanNatureItemUI : public CVerticalLayoutUI
 {
 public:
@@ -85,22 +85,22 @@ public:
 
 	void SetNatureLimitChoose(std::string limit_choose);
 
-	//设置这个属性在所有属性中的顺序
+	//璁剧疆杩欎釜灞炴€у湪鎵€鏈夊睘鎬т腑鐨勯『搴�
 	void SetNatureNameNum(int nNum);
 
-	//添加属性值
+	//娣诲姞灞炴€у€�
 	void addNatureValue(FoodNatureValue value);
 
-	//刷新属性值的位置和选中状态
+	//鍒锋柊灞炴€у€肩殑浣嶇疆鍜岄€変腑鐘舵€�
 	void ShowNatureValue();
 
-	//点击第几个属性,如果当前是选中状态就改为未选中状态,如果是非选中状态就改为选中状态(要判断是否超过数量)
+	//鐐瑰嚮绗�嚑涓�睘鎬э紝濡傛灉褰撳墠鏄�€変腑鐘舵€佸氨鏀逛负鏈�€変腑鐘舵€侊紝濡傛灉鏄�潪閫変腑鐘舵€佸氨鏀逛负閫変腑鐘舵€侊紙瑕佸垽鏂�槸鍚﹁秴杩囨暟閲忥級
 	void SetNatureSelected(int index);
 
 	std::string GetNatureName();
 	int GetNatureNameNum();
 
-	//获取多选的属性值信息
+	//鑾峰彇澶氶€夌殑灞炴€у€间俊鎭�
 	std::vector<FoodNatureSelectValueInfo> GetSelectedNatureInfo();
 
 	void SetDiandanNatureWnd(CDiandanNatureWnd* pWnd)
@@ -108,31 +108,31 @@ public:
 		m_pNatureWnd = pWnd;
 	}
 
-	//如果是修改规格,这里设置当前属性默认选中的N个属性值
+	//濡傛灉鏄�慨鏀硅�鏍硷紝杩欓噷璁剧疆褰撳墠灞炴€ч粯璁ら€変腑鐨凬涓�睘鎬у€�
 	void SetFoodNatureSelectValue(FoodNatureSelectValue v)
 	{
 		m_InitFoodNatureSelectValue = v;
 	}
 
 private:
-	//属性名
+	//灞炴€у悕
 	std::string m_nature_name;
 
-	//属性值
+	//灞炴€у€�
 	std::vector<FoodNatureValue> m_nature_value;
 
-	//属性在所有属性中的顺序
+	//灞炴€у湪鎵€鏈夊睘鎬т腑鐨勯『搴�
 	int m_nNatureNameNum = 0;
 
-	//属性最大可选属性值的数量
+	//灞炴€ф渶澶у彲閫夊睘鎬у€肩殑鏁伴噺
 	int m_nLimitChoose;
 
-	//当前被选中的属性值属性
+	//褰撳墠琚�€変腑鐨勫睘鎬у€煎睘鎬�
 	int m_nSelectNum = 0;
 
 	CDiandanNatureWnd* m_pNatureWnd;
 
-	//如果是修改规格,这里表示当前属性默认选中的N个属性值
+	//濡傛灉鏄�慨鏀硅�鏍硷紝杩欓噷琛ㄧず褰撳墠灞炴€ч粯璁ら€変腑鐨凬涓�睘鎬у€�
 	FoodNatureSelectValue m_InitFoodNatureSelectValue;
 
 	//int m_nSelectIndex = 0;

+ 11 - 11
zhipuzi_pos_windows/control/CDianneiOrderItemUI.cpp

@@ -1,4 +1,4 @@
-#include "../pch/pch.h"
+#include "pch.h"
 #include "CDianneiOrderItemUI.h"
 
 
@@ -25,40 +25,40 @@ void CDianneiOrderItemUI::SetData(rapidjson::Value& orderinfo)
 	m_yingshou_price = orderinfo["yingshou_price"].GetString();
 	m_fromtype = orderinfo["from_type"].GetString();
 
-	std::wstring qucanhao_show = L"È¡²ÍÂ룺" + CLewaimaiString::UTF8ToUnicode(m_take_food_code);
+	std::wstring qucanhao_show = L"���:" + CLewaimaiString::UTF8ToUnicode(m_take_food_code);
 	this->FindSubControl(L"diannei_order_list_qucanhao")->SetText(qucanhao_show.c_str());
 
-	std::wstring dingdanhao_show = L"¶©µ¥ºÅ£º" + CLewaimaiString::UTF8ToUnicode(m_show_trade_no);
+	std::wstring dingdanhao_show = L"订��:" + CLewaimaiString::UTF8ToUnicode(m_show_trade_no);
 	this->FindSubControl(L"diannei_order_list_order_num")->SetText(dingdanhao_show.c_str());
 
-	std::wstring init_date_show = L"ϵ¥Ê±¼ä£º" + CLewaimaiString::UTF8ToUnicode(m_init_time);
+	std::wstring init_date_show = L"下�时间:" + CLewaimaiString::UTF8ToUnicode(m_init_time);
 	this->FindSubControl(L"diannei_order_list_init_date")->SetText(init_date_show.c_str());
 
-	std::wstring table_name_show = L"×Àλ£º" + CLewaimaiString::UTF8ToUnicode(m_table_name);
+	std::wstring table_name_show = L"桌�:" + CLewaimaiString::UTF8ToUnicode(m_table_name);
 	this->FindSubControl(L"diannei_order_list_zhuowei")->SetText(table_name_show.c_str());
 
-	std::wstring person_num_show = L"ÈËÊý£º" + CLewaimaiString::UTF8ToUnicode(m_person_num);
+	std::wstring person_num_show = L"人数:" + CLewaimaiString::UTF8ToUnicode(m_person_num);
 	this->FindSubControl(L"diannei_order_list_renshu")->SetText(person_num_show.c_str());
 
-	std::wstring price_show = L"¼Û¸ñ£º" + CLewaimaiString::UTF8ToUnicode(m_total_price);
+	std::wstring price_show = L"价格:" + CLewaimaiString::UTF8ToUnicode(m_total_price);
 	this->FindSubControl(L"diannei_order_list_price")->SetText(price_show.c_str());	
 
-	std::wstring zhifufangshi_show = L"Ö§¸¶·½Ê½£º" + CLewaimaiString::UTF8ToUnicode(m_zhifu_type);
+	std::wstring zhifufangshi_show = L"支付方�:" + CLewaimaiString::UTF8ToUnicode(m_zhifu_type);
 	this->FindSubControl(L"diannei_order_list_zhifu_type")->SetText(zhifufangshi_show.c_str());
 
 	
 	std::wstring ws_from_type;
 	if (m_fromtype == "1")
 	{
-		ws_from_type = L"¶©µ¥À´Ô´£ºÊÕÒøÏµÍ³";
+		ws_from_type = L"订���:收银系统";
 	}
 	else if (m_fromtype == "4")
 	{
-		ws_from_type = L"¶©µ¥À´Ô´£ºÉ̼Òapp";
+		ws_from_type = L"订���:商家app";
 	}
 	else if (m_fromtype == "2" || m_fromtype == "3" || m_fromtype == "5")
 	{
-		ws_from_type = L"¶©µ¥À´Ô´£ºÉ¨Âëϵ¥";
+		ws_from_type = L"订���:扫�下�";
 	}
 
 	this->FindSubControl(L"diannei_order_list_from")->SetText(ws_from_type.c_str());

+ 2 - 2
zhipuzi_pos_windows/control/CDianneiOrderItemUI.h

@@ -1,6 +1,6 @@
-#pragma once
+#pragma once
 
-#include "../pch/pch.h"
+#include "pch.h"
 
 class CDianneiOrderItemUI : public CHorizontalLayoutUI
 {

+ 3 - 2
zhipuzi_pos_windows/control/CFoodXuexiImageItemUI.cpp

@@ -1,4 +1,5 @@
-#include "CFoodXuexiImageItemUI.h"
+#include "pch.h"
+#include "CFoodXuexiImageItemUI.h"
 
 CFoodXuexiImageItemUI::CFoodXuexiImageItemUI()
 {
@@ -28,4 +29,4 @@ void CFoodXuexiImageItemUI::SetImagePath(std::string imagePath)
 		//图片已经存在,直接显示
 		pImage->SetBkImage(strImagePath.c_str());
 	}
-}
+}

+ 1 - 1
zhipuzi_pos_windows/control/CFoodXuexiImageItemUI.h

@@ -1,6 +1,6 @@
 #pragma once
 
-#include "../pch/pch.h"
+#include "pch.h"
 
 class CFoodXuexiImageItemUI : public CVerticalLayoutUI
 {

+ 2 - 1
zhipuzi_pos_windows/control/CFoodtypeOptionUI.cpp

@@ -1,4 +1,5 @@
-#include "CFoodtypeOptionUI.h"
+#include "pch.h"
+#include "CFoodtypeOptionUI.h"
 
 CFoodtypeOptionUI::CFoodtypeOptionUI()
 {

+ 1 - 1
zhipuzi_pos_windows/control/CFoodtypeOptionUI.h

@@ -1,6 +1,6 @@
 #pragma once
 
-#include "../pch/pch.h"
+#include "pch.h"
 
 class CFoodtypeOptionUI : public COptionUI
 {

+ 10 - 10
zhipuzi_pos_windows/control/CShoukuanOrderItemUI.cpp

@@ -1,4 +1,4 @@
-#include "../pch/pch.h"
+#include "pch.h"
 #include "CShoukuanOrderItemUI.h"
 
 
@@ -21,36 +21,36 @@ void CShoukuanOrderItemUI::SetData(rapidjson::Value& orderinfo)
 	m_shouyin_type = orderinfo["shouyin_type"].GetString();
 	m_yingshou_price = orderinfo["yingshou_value"].GetString();
 
-	std::wstring dingdanhao_show = L"¶©µ¥ºÅ£º" + CLewaimaiString::UTF8ToUnicode(m_show_trade_no);
+	std::wstring dingdanhao_show = L"订��:" + CLewaimaiString::UTF8ToUnicode(m_show_trade_no);
 	this->FindSubControl(L"shoukuan_order_list_order_num")->SetText(dingdanhao_show.c_str());
 
-	std::wstring init_date_show = L"ϵ¥Ê±¼ä£º" + CLewaimaiString::UTF8ToUnicode(m_init_time);
+	std::wstring init_date_show = L"下�时间:" + CLewaimaiString::UTF8ToUnicode(m_init_time);
 	this->FindSubControl(L"shoukuan_order_list_init_date")->SetText(init_date_show.c_str());
 
-	std::wstring price_show = L"½ð¶î£º" + CLewaimaiString::UTF8ToUnicode(m_yingshou_price);
+	std::wstring price_show = L"金�:" + CLewaimaiString::UTF8ToUnicode(m_yingshou_price);
 	this->FindSubControl(L"shoukuan_order_list_price")->SetText(price_show.c_str());
 
-	std::wstring zhifufangshi_show = L"Ö§¸¶·½Ê½£º" + CLewaimaiString::UTF8ToUnicode(m_zhifu_type);
+	std::wstring zhifufangshi_show = L"支付方�:" + CLewaimaiString::UTF8ToUnicode(m_zhifu_type);
 	this->FindSubControl(L"shoukuan_order_list_zhifu_type")->SetText(zhifufangshi_show.c_str());
 
 	std::wstring from_name;
 	if (m_shouyin_type == "1")
 	{
-		from_name = L"ÊÕÒøÏµÍ³";
+		from_name = L"收银系统";
 	}
 	else if (m_shouyin_type == "2")
 	{
-		from_name = L"É̼Òapp";
+		from_name = L"商家app";
 	}
 	else if (m_shouyin_type == "3")
 	{
-		from_name = L"Ë¢Á³ÏµÍ³";
+		from_name = L"刷脸系统";
 	}
 	else if (m_shouyin_type == "4")
 	{
-		from_name = L"ÊÕÒøÌ¨";
+		from_name = L"收银�";
 	}
 
-	std::wstring from_show = L"¶©µ¥À´Ô´£º" + from_name;
+	std::wstring from_show = L"订���:" + from_name;
 	this->FindSubControl(L"shoukuan_order_list_from")->SetText(from_show.c_str());
 }

+ 3 - 3
zhipuzi_pos_windows/control/CShoukuanOrderItemUI.h

@@ -1,6 +1,6 @@
-#pragma once
+锘�#pragma once
 
-#include "../pch/pch.h"
+#include "pch.h"
 
 class CShoukuanOrderItemUI : public CHorizontalLayoutUI
 {
@@ -29,7 +29,7 @@ private:
 	std::string m_show_trade_no;
 	std::string m_is_refund;
 	std::string m_init_time;
-	std::string m_shouyin_type; //收银类型 1:快速收银 2:商家app扫码收银 3:刷脸app扫码收银 4:收银台收银
+	std::string m_shouyin_type; //鏀堕摱绫诲瀷 1锛氬揩閫熸敹閾� 2锛氬晢瀹禷pp鎵�爜鏀堕摱 3锛氬埛鑴竌pp鎵�爜鏀堕摱 4锛氭敹閾跺彴鏀堕摱
 	std::string m_zhifu_type;
 	std::string m_yingshou_price;
 };

+ 1 - 0
zhipuzi_pos_windows/control/CTabletypeOptionUI.cpp

@@ -1,3 +1,4 @@
+#include "pch.h"
 #include "CTabletypeOptionUI.h"
 
 

+ 2 - 2
zhipuzi_pos_windows/control/CTabletypeOptionUI.h

@@ -1,6 +1,6 @@
-#pragma once
+#pragma once
 
-#include "../pch/pch.h"
+#include "pch.h"
 
 class CTabletypeOptionUI : public COptionUI
 {

+ 1 - 1
zhipuzi_pos_windows/control/CWaimaiOrderItemUI.cpp

@@ -1,4 +1,4 @@
-#include "../pch/pch.h"
+#include "pch.h"
 #include "CWaimaiOrderItemUI.h"
 
 

+ 1 - 1
zhipuzi_pos_windows/control/CWaimaiOrderItemUI.h

@@ -1,6 +1,6 @@
 #pragma once
 
-#include "../pch/pch.h"
+#include "pch.h"
 
 class CWaimaiOrderItemUI : public CVerticalLayoutUI
 {

+ 16 - 16
zhipuzi_pos_windows/control/CZhengcanOrderItemUI.cpp

@@ -1,4 +1,4 @@
-#include "../pch/pch.h"
+#include "pch.h"
 #include "CZhengcanOrderItemUI.h"
 
 
@@ -24,42 +24,42 @@ void CZhengcanOrderItemUI::SetData(rapidjson::Value& orderinfo)
 	m_yingshou_price = orderinfo["yingshou_price"].GetString();
 	m_refund_result = orderinfo["refund_result"].GetString();
 
-	std::wstring dingdanhao_show = L"¶©µ¥ºÅ£º" + CLewaimaiString::UTF8ToUnicode(m_show_trade_no);
+	std::wstring dingdanhao_show = L"订��:" + CLewaimaiString::UTF8ToUnicode(m_show_trade_no);
 	this->FindSubControl(L"zhengcan_order_list_order_num")->SetText(dingdanhao_show.c_str());
 
-	std::wstring init_date_show = L"ϵ¥Ê±¼ä£º" + CLewaimaiString::UTF8ToUnicode(m_init_time);
+	std::wstring init_date_show = L"下�时间:" + CLewaimaiString::UTF8ToUnicode(m_init_time);
 	this->FindSubControl(L"zhengcan_order_list_init_date")->SetText(init_date_show.c_str());
 
-	std::wstring table_name_show = L"×Àλ£º" + CLewaimaiString::UTF8ToUnicode(m_table_name);
+	std::wstring table_name_show = L"桌�:" + CLewaimaiString::UTF8ToUnicode(m_table_name);
 	this->FindSubControl(L"zhengcan_order_list_zhuowei")->SetText(table_name_show.c_str());
 
-	std::wstring person_num_show = L"ÈËÊý£º" + CLewaimaiString::UTF8ToUnicode(m_person_num);
+	std::wstring person_num_show = L"人数:" + CLewaimaiString::UTF8ToUnicode(m_person_num);
 	this->FindSubControl(L"zhengcan_order_list_renshu")->SetText(person_num_show.c_str());
 
-	std::wstring price_show = L"¼Û¸ñ£º" + CLewaimaiString::UTF8ToUnicode(m_yingshou_price);
+	std::wstring price_show = L"价格:" + CLewaimaiString::UTF8ToUnicode(m_yingshou_price);
 	this->FindSubControl(L"zhengcan_order_list_price")->SetText(price_show.c_str());
 
 	std::wstring zhifu_name;
 
 	if (m_zhifu_type == "0")
 	{
-		zhifu_name = L"ÏÖ½ðÖ§¸¶";
+		zhifu_name = L"现金支付";
 	}
 	else if (m_zhifu_type == "1")
 	{
-		zhifu_name = L"΢ÐÅÖ§¸¶";
+		zhifu_name = L"微信支付";
 	}
 	else if (m_zhifu_type == "2")
 	{
-		zhifu_name = L"Ö§¸¶±¦";
+		zhifu_name = L"支付�";
 	}
 	else if (m_zhifu_type == "3")
 	{
-		zhifu_name = L"Ë¢¿¨Ö§¸¶";
+		zhifu_name = L"刷�支付";
 	}
 	else if (m_zhifu_type == "4")
 	{
-		zhifu_name = L"»áÔ±Óà¶î";
+		zhifu_name = L"会员余�";
 	}
 	else if (m_zhifu_type == "5")
 	{
@@ -67,21 +67,21 @@ void CZhengcanOrderItemUI::SetData(rapidjson::Value& orderinfo)
 	}
 	else if (m_zhifu_type == "6")
 	{
-		zhifu_name = L"¹ºÎ│֧¸¶";
+		zhifu_name = L"购物�支付";
 	}
 	else if (m_zhifu_type == "8")
 	{
-		zhifu_name = L"ÃÀʳ³Ç¿¨Ö§¸¶";
+		zhifu_name = L"美食城�支付";
 	}
 	else if (m_zhifu_type == "9")
 	{
-		zhifu_name = L"ÔÆÉÁ¸¶";
+		zhifu_name = L"云闪付";
 	}
 	else if (m_zhifu_type == "10")
 	{
-		zhifu_name = L"¸£Àû¿¨Ö§¸¶";
+		zhifu_name = L"�利�支付";
 	}
 
-	std::wstring zhifufangshi_show = L"Ö§¸¶·½Ê½£º" + zhifu_name;
+	std::wstring zhifufangshi_show = L"支付方�:" + zhifu_name;
 	this->FindSubControl(L"zhengcan_order_list_zhifu_type")->SetText(zhifufangshi_show.c_str());
 }

+ 3 - 3
zhipuzi_pos_windows/control/CZhengcanOrderItemUI.h

@@ -1,6 +1,6 @@
-#pragma once
+#pragma once
 
-#include "../pch/pch.h"
+#include "pch.h"
 
 class CZhengcanOrderItemUI : public CHorizontalLayoutUI
 {
@@ -32,7 +32,7 @@ private:
 	std::string m_table_name;
 	std::string m_person_num;
 
-	//Ö§¸¶·½Ê½£¬ 0£ºÏÖ½ð 1£ºÎ¢ÐÅÖ§¸¶ 2£ºÖ§¸¶±¦ 3£ºË¢¿¨ 4£º»áÔ±Óà¶î 5:×Ô¶¨ÒåÖ§¸¶·½Ê½
+	//支付方�, 0:现金 1:微信支付 2:支付� 3:刷� 4:会员余� 5:自定义支付方�
 	std::string m_zhifu_type;
 	std::string m_zhifu_name;
 	std::string m_yingshou_price;

+ 21 - 22
zhipuzi_pos_windows/control/CZhengcanTableItemUI.cpp

@@ -1,7 +1,6 @@
+锘�#include "pch.h"
 #include "CZhengcanTableItemUI.h"
 
-#include "../pch/pch.h"
-
 CZhengcanTableItemUI::CZhengcanTableItemUI()
 {
 
@@ -20,14 +19,14 @@ void CZhengcanTableItemUI::DoEvent(TEventUI& event)
 	}
 	else if (event.Type == UIEVENT_MOUSEENTER)
 	{
-		HCURSOR hcur = LoadCursor(NULL, IDC_HAND);  //加载系统自带鼠标样式
-		HWND hwnd = m_pManager->GetPaintWindow(); // 获取绘图窗口句柄
+		HCURSOR hcur = LoadCursor(NULL, IDC_HAND);  //鍔犺浇绯荤粺鑷�甫榧犳爣鏍峰紡
+		HWND hwnd = m_pManager->GetPaintWindow(); // 鑾峰彇缁樺浘绐楀彛鍙ユ焺
 		SetClassLong(hwnd, GCL_HCURSOR, (long)hcur);
 	}
 	else if (event.Type == UIEVENT_MOUSELEAVE)
 	{
-		HCURSOR hcur = LoadCursor(NULL, IDC_ARROW);  //加载系统自带鼠标样式
-		HWND hwnd = m_pManager->GetPaintWindow(); // 获取绘图窗口句柄
+		HCURSOR hcur = LoadCursor(NULL, IDC_ARROW);  //鍔犺浇绯荤粺鑷�甫榧犳爣鏍峰紡
+		HWND hwnd = m_pManager->GetPaintWindow(); // 鑾峰彇缁樺浘绐楀彛鍙ユ焺
 		SetClassLong(hwnd, GCL_HCURSOR, (long)hcur);
 	}
 
@@ -65,21 +64,21 @@ void CZhengcanTableItemUI::UpdateShow()
 
 	if (m_status == "0")
 	{
-		//未开台
-		pStatus->SetText(L"未开台");
+		//鏈�紑鍙�
+		pStatus->SetText(L"鏈�紑鍙�");
 
-		//隐藏时钟
+		//闅愯棌鏃堕挓
 		pTimeImage->SetVisible(false);
 		pShijian->SetVisible(false);
 	}
 	else if (m_status == "1")
 	{
-		//预约中
+		//棰勭害涓�
 	}
 	else if (m_status == "2")
 	{
-		//已开台
-		pRenshu->SetText((CLewaimaiString::UTF8ToUnicode(m_person_num) + L"人").c_str());
+		//宸插紑鍙�
+		pRenshu->SetText((CLewaimaiString::UTF8ToUnicode(m_person_num) + L"浜�").c_str());
 
 		pName->SetTextColor(0xFFFFFFFF);
 		pStatus->SetTextColor(0xFFFFFFFF);
@@ -106,36 +105,36 @@ void CZhengcanTableItemUI::UpdateShow()
 			ws_fenzhong = std::to_wstring(fenzhong);
 		}
 
-		pShijian->SetText((ws_fenzhong + L"分钟").c_str());
+		pShijian->SetText((ws_fenzhong + L"鍒嗛挓").c_str());
 
 		CHorizontalLayoutUI* pBottom = static_cast<CHorizontalLayoutUI*>(this->FindSubControl(L"zhengcan_tableitem_bottom"));
 
-		//区分待下单、待结账、待清台这3个状态
+		//鍖哄垎寰呬笅鍗曘€佸緟缁撹处銆佸緟娓呭彴杩�3涓�姸鎬�
 		if (m_order_id == "0")
 		{
-			//说明还未下单,处于待下单状态,用绿色
+			//璇存槑杩樻湭涓嬪崟锛屽�浜庡緟涓嬪崟鐘舵€侊紝鐢ㄧ豢鑹�
 			this->SetBkColor(0xFF3CB371);
 			pBottom->SetBkColor(0xFF28A25E);
 
-			pStatus->SetText(L"待下单");
+			pStatus->SetText(L"寰呬笅鍗�");
 		}
 		else if (m_order_status == "SUCCESS")
 		{
-			//待清台,用蓝色
+			//寰呮竻鍙帮紝鐢ㄨ摑鑹�
 			this->SetBkColor(0xFF497FC7);
 			pBottom->SetBkColor(0xFF3A74C2);
 
-			pStatus->SetText(L"待清台");
+			pStatus->SetText(L"寰呮竻鍙�");
 		}
 		else
 		{
-			//包含OPEN PASSWORD CLOSE等,只要没支付成功,就是未支付状态
+			//鍖呭惈OPEN PASSWORD CLOSE绛夛紝鍙��娌℃敮浠樻垚鍔燂紝灏辨槸鏈�敮浠樼姸鎬�
 
-			//说明已下单,未支付,处于待支付状态,用红色
+			//璇存槑宸蹭笅鍗曪紝鏈�敮浠橈紝澶勪簬寰呮敮浠樼姸鎬侊紝鐢ㄧ孩鑹�
 			this->SetBkColor(0xFFF95252);
 			pBottom->SetBkColor(0xFFF73F3F);
 
-			pStatus->SetText(L"待结账");
+			pStatus->SetText(L"寰呯粨璐�");
 		}
 	}
 }
@@ -166,4 +165,4 @@ void CZhengcanTableItemUI::ShowZhuanru(bool is_show)
 	{
 		zhuanruControl->SetVisible(false);
 	}
-}
+}

+ 1 - 1
zhipuzi_pos_windows/control/CZhengcanTableItemUI.h

@@ -1,6 +1,6 @@
 #pragma once
 
-#include "../pch/pch.h"
+#include "pch.h"
 
 /**
  * 桌位的ITEM,都用这个

+ 1 - 1
zhipuzi_pos_windows/control/ControlEx.h

@@ -1,6 +1,6 @@
 #pragma once
 
-#include "../pch/pch.h"
+#include "pch.h"
 
 #include "../page/CDiandanPageUI.h"
 #include "../page/CWaimaiOrderListPageUI.h"

+ 1 - 1
zhipuzi_pos_windows/helper/CBitmapHelper.cpp

@@ -1,4 +1,4 @@
-#include "../pch/pch.h"
+#include "pch.h"
 #include "CBitmapHelper.h"
 
 

+ 1 - 1
zhipuzi_pos_windows/helper/CBitmapHelper.h

@@ -1,6 +1,6 @@
 #pragma once
 
-#include "../pch/pch.h"
+#include "pch.h"
 
 typedef union
 {

+ 6 - 6
zhipuzi_pos_windows/helper/CComHelper.cpp

@@ -1,4 +1,4 @@
-#include "../pch/pch.h"
+锘�#include "pch.h"
 #include "CComHelper.h"
 
 
@@ -18,7 +18,7 @@ std::vector<std::wstring> CComHelper::getComPort()
 	HKEY hKey;
 	TCHAR portName[256], commName[256];
 
-	// 打开串口注册表对应的键值  
+	// 鎵撳紑涓插彛娉ㄥ唽琛ㄥ�搴旂殑閿�€�  
 	if (ERROR_SUCCESS == ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"Hardware\\DeviceMap\\SerialComm", NULL, KEY_READ, &hKey))
 	{
 		int i = 0;
@@ -28,7 +28,7 @@ std::vector<std::wstring> CComHelper::getComPort()
 		{
 			dwLong = dwSize = sizeof(portName);
 
-			// 枚举串口
+			// 鏋氫妇涓插彛
 			if (ERROR_NO_MORE_ITEMS == ::RegEnumValue(hKey, i, portName, &dwLong, NULL, NULL, (PUCHAR)commName, &dwSize))
 			{
 				break;
@@ -37,14 +37,14 @@ std::vector<std::wstring> CComHelper::getComPort()
 			comVector.push_back(commName);
 			i++;
 		}
-		// 关闭注册表
+		// 鍏抽棴娉ㄥ唽琛�
 		RegCloseKey(hKey);
 	}
 	else
 	{
-		//MessageBox(NULL, L"您的计算机的注册表上没有HKEY_LOCAL_MACHINE:Hardware\\DeviceMap\\SerialComm项", L"警告", MB_OK);
+		//MessageBox(NULL, L"鎮ㄧ殑璁$畻鏈虹殑娉ㄥ唽琛ㄤ笂娌℃湁HKEY_LOCAL_MACHINE:Hardware\\DeviceMap\\SerialComm椤�", L"璀﹀憡", MB_OK);
 	}
 
-	// 返回串口号
+	// 杩斿洖涓插彛鍙�
 	return comVector;
 }

+ 17 - 17
zhipuzi_pos_windows/helper/CExceptionDmp.cpp

@@ -1,4 +1,4 @@
-#include "../pch/pch.h"
+锘�#include "pch.h"
 #include "CExceptionDmp.h"
 
 #include <Dbghelp.h>
@@ -16,18 +16,18 @@ LONG WINAPI MyUnhandledExceptionFilter(PEXCEPTION_POINTERS pExInfo)
 		bool flag = CreateDirectory(wsPath.c_str(), NULL);
 		if (flag == false)
 		{
-			LOG_INFO("新建 dump 目录失败!");
+			LOG_INFO("鏂板缓 dump 鐩�綍澶辫触锛�");
 		}
 
-		LOG_INFO("新建 dump 目录成功!");
+		LOG_INFO("鏂板缓 dump 鐩�綍鎴愬姛锛�");
 	}
 
 	SYSTEMTIME tm;
-	GetLocalTime(&tm);//获取时间
+	GetLocalTime(&tm);//鑾峰彇鏃堕棿
 	TCHAR file_name[128];
 
 	_stprintf_s(file_name, L"%s%d-%02d-%02d-%02d-%02d-%02d.dmp", wsPath.c_str(),
-		tm.wYear, tm.wMonth, tm.wDay, tm.wHour, tm.wMinute, tm.wSecond);//设置dmp文件名称
+		tm.wYear, tm.wMonth, tm.wDay, tm.wHour, tm.wMinute, tm.wSecond);//璁剧疆dmp鏂囦欢鍚嶇О
 
 	std::string version = CSystem::GetVersion();
 	std::string time_now = CLewaimaiTime::DatetimeToString(time(NULL));
@@ -37,25 +37,25 @@ LONG WINAPI MyUnhandledExceptionFilter(PEXCEPTION_POINTERS pExInfo)
 		FILE_ATTRIBUTE_NORMAL, NULL);
 	if (hFile != INVALID_HANDLE_VALUE)
 	{
-		MINIDUMP_EXCEPTION_INFORMATION info;//构造dmp异常数据结构
+		MINIDUMP_EXCEPTION_INFORMATION info;//鏋勯€燿mp寮傚父鏁版嵁缁撴瀯
 		info.ThreadId = GetCurrentThreadId();
 		info.ClientPointers = FALSE;
 		info.ExceptionPointers = pExInfo;
 		MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hFile,
-			(MINIDUMP_TYPE)MiniDumpNormal, &info, NULL, NULL);//写dmp文件
+			(MINIDUMP_TYPE)MiniDumpNormal, &info, NULL, NULL);//鍐檇mp鏂囦欢
 		CloseHandle(hFile);
 
 		CExceptionDmp::UploadDump(file_name, ossname);
 
 		const TCHAR *fmt =
 		{
-			L"程序遇到问题需要关闭,\n\n"
-			L"我们对此引起的不便表示抱歉,\n\n"
-			L"请重新运行软件。\n\n"
+			L"绋嬪簭閬囧埌闂��闇€瑕佸叧闂�,\n\n"
+			L"鎴戜滑瀵规�寮曡捣鐨勪笉渚胯〃绀烘姳姝夛紝\n\n"
+			L"璇烽噸鏂拌繍琛岃蒋浠躲€俓n\n"
 		};
 		TCHAR msg[400];
 		_stprintf_s(msg, fmt, file_name);
-		MessageBox(NULL, msg, L"智铺子收银系统异常报告", MB_ICONERROR | MB_SYSTEMMODAL);
+		MessageBox(NULL, msg, L"鏅洪摵瀛愭敹閾剁郴缁熷紓甯告姤鍛�", MB_ICONERROR | MB_SYSTEMMODAL);
 	}
 	else
 	{
@@ -78,15 +78,15 @@ CExceptionDmp::~CExceptionDmp()
 
 bool CExceptionDmp::UploadDump(std::wstring filePath, std::string ossname)
 {
-	/* 初始化OSS账号信息 */
+	/* 鍒濆�鍖朞SS璐﹀彿淇℃伅 */
 	std::string AccessKeyId = "2HUnzc9XJV92PjvW";
 	std::string AccessKeySecret = "20mMc8wuzlfC0r323b6oJqxlBPEyjW";
 	std::string Endpoint = "oss-cn-hangzhou.aliyuncs.com";
 	std::string BucketName = "lewaimai-windows-pos";
-	/* yourObjectName表示上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg*/
+	/* yourObjectName琛ㄧず涓婁紶鏂囦欢鍒癘SS鏃堕渶瑕佹寚瀹氬寘鍚�枃浠跺悗缂€鍦ㄥ唴鐨勫畬鏁磋矾寰勶紝渚嬪�abc/efg/123.jpg*/
 	std::string ObjectName = ossname;
 
-	/* 初始化网络等资源 */
+	/* 鍒濆�鍖栫綉缁滅瓑璧勬簮 */
 	InitializeSdk();
 
 	ClientConfiguration conf;
@@ -94,14 +94,14 @@ bool CExceptionDmp::UploadDump(std::wstring filePath, std::string ossname)
 	std::shared_ptr<std::iostream> content = std::make_shared<std::fstream>(CLewaimaiString::UnicodeToANSI(filePath), std::ios::in | std::ios::binary);
 	PutObjectRequest request(BucketName, ObjectName, content);
 
-	/*(可选)请参见如下示例设置存储类型及访问权限ACL*/
+	/*锛堝彲閫夛級璇峰弬瑙佸�涓嬬ず渚嬭�缃�瓨鍌ㄧ被鍨嬪強璁块棶鏉冮檺ACL*/
 	//request.MetaData().addHeader("x-oss-object-acl", "private");
 	//request.MetaData().addHeader("x-oss-storage-class", "Standard");
 
 	auto outcome = client.PutObject(request);
 
 	if (!outcome.isSuccess()) {
-		/* 异常处理 */
+		/* 寮傚父澶勭悊 */
 		std::cout << "PutObject fail" <<
 			",code:" << outcome.error().Code() <<
 			",message:" << outcome.error().Message() <<
@@ -110,7 +110,7 @@ bool CExceptionDmp::UploadDump(std::wstring filePath, std::string ossname)
 		return false;
 	}
 
-	/* 释放网络等资源 */
+	/* 閲婃斁缃戠粶绛夎祫婧� */
 	ShutdownSdk();
 	return true;
 }

+ 6 - 6
zhipuzi_pos_windows/helper/CLewaimaiJson.cpp

@@ -1,4 +1,4 @@
-#include "../pch/pch.h"
+锘�#include "pch.h"
 #include "CLewaimaiJson.h"
 
 CLewaimaiJson::CLewaimaiJson()
@@ -31,7 +31,7 @@ rapidjson::Document CLewaimaiJson::StringToJson(std::string jsonString, rapidjso
 	return document;
 }
 
-//把一个数组转化成json变量,数组的每个元素是一个map,map的key是json的名字,map的value是json的value
+//鎶婁竴涓�暟缁勮浆鍖栨垚json鍙橀噺锛屾暟缁勭殑姣忎釜鍏冪礌鏄�竴涓猰ap锛宮ap鐨刱ey鏄痡son鐨勫悕瀛楋紝map鐨剉alue鏄痡son鐨剉alue
 rapidjson::Document CLewaimaiJson::ParamArrayToJson(std::vector<std::map<std::string, std::string>> paramArray, rapidjson::Document::AllocatorType &allocator)
 {
 	rapidjson::Document doc(&allocator);
@@ -58,11 +58,11 @@ rapidjson::Document CLewaimaiJson::ParamArrayToJson(std::vector<std::map<std::st
 	return doc;
 }
 
-//把一个数组转化成json字符串,数组的每个元素是一个map,map的key是json的名字,map的value是json的value
+//鎶婁竴涓�暟缁勮浆鍖栨垚json瀛楃�涓诧紝鏁扮粍鐨勬瘡涓�厓绱犳槸涓€涓猰ap锛宮ap鐨刱ey鏄痡son鐨勫悕瀛楋紝map鐨剉alue鏄痡son鐨剉alue
 std::string CLewaimaiJson::ParamArrayToJsonstring(std::vector<std::map<std::string, std::string>> paramArray)
 {
 	rapidjson::Document doc;
-	rapidjson::Document::AllocatorType &allocator = doc.GetAllocator(); //获取分配器
+	rapidjson::Document::AllocatorType &allocator = doc.GetAllocator(); //鑾峰彇鍒嗛厤鍣�
 
 	Value& data = CLewaimaiJson::ParamArrayToJson(paramArray, allocator);
 
@@ -75,11 +75,11 @@ std::string CLewaimaiJson::ParamArrayToJsonstring(std::vector<std::map<std::stri
 	return result;
 }
 
-//把一个map转化成json字符串,map的key是json的名字,map的value是json的value
+//鎶婁竴涓猰ap杞�寲鎴恓son瀛楃�涓诧紝map鐨刱ey鏄痡son鐨勫悕瀛楋紝map鐨剉alue鏄痡son鐨剉alue
 std::string CLewaimaiJson::ParamMapToJsonstring(std::map<std::string, std::string> param)
 {
 	rapidjson::Document doc;
-	rapidjson::Document::AllocatorType &allocator = doc.GetAllocator(); //获取分配器
+	rapidjson::Document::AllocatorType &allocator = doc.GetAllocator(); //鑾峰彇鍒嗛厤鍣�
 
 	doc.SetObject();
 

+ 8 - 8
zhipuzi_pos_windows/helper/CLewaimaiJson.h

@@ -1,4 +1,4 @@
-#pragma once
+#pragma once
 
 #include <codecvt>
 #include <iostream>
@@ -6,7 +6,7 @@
 #include <regex>
 #include <string>
 
-//json¿â
+//json库
 #include "rapidjson/document.h"
 #include "rapidjson/prettywriter.h"  
 #include "rapidjson/writer.h"
@@ -24,22 +24,22 @@ public:
 
 	static rapidjson::Document StringToJson(std::string jsonString, rapidjson::Document::AllocatorType &allocator);
 
-	//°ÑÒ»¸öÊý×éת»¯³Éjson±äÁ¿£¬Êý×éµÄÿ¸öÔªËØÊÇÒ»¸ömap£¬mapµÄkeyÊÇjsonµÄÃû×Ö£¬mapµÄvalueÊÇjsonµÄvalue
+	//把一个数组转化�json��,数组的�个元素是一个map,map的key是json的�字,map的value是json的value
 	static rapidjson::Document ParamArrayToJson(std::vector<std::map<std::string, std::string>> paramArray, rapidjson::Document::AllocatorType &allocator);
 
-	//°ÑÒ»¸öÊý×éת»¯³Éjson×Ö·û´®£¬Êý×éµÄÿ¸öÔªËØÊÇÒ»¸ömap£¬mapµÄkeyÊÇjsonµÄÃû×Ö£¬mapµÄvalueÊÇjsonµÄvalue
+	//把一个数组转化�json字符串,数组的�个元素是一个map,map的key是json的�字,map的value是json的value
 	static std::string ParamArrayToJsonstring(std::vector<std::map<std::string, std::string>> paramArray);
 
-	//°ÑÒ»¸ömapת»¯³Éjson×Ö·û´®£¬mapµÄkeyÊÇjsonµÄÃû×Ö£¬mapµÄvalueÊÇjsonµÄvalue
+	//把一个map转化�json字符串,map的key是json的�字,map的value是json的value
 	static std::string ParamMapToJsonstring(std::map<std::string, std::string> param);
 
-	//°Ñjsonֵת»»³É×Ö·û´®ÀàÐÍ£¬¼æÈݸ÷ÖÖºó¶Ë·µ»ØÀàÐÍ£¬±ÜÃⱨ´í
+	//把json值转��字符串类型,兼容���端返回类型,��报错
 	static std::string ToString(const rapidjson::Value& valObj);
 
-	//°Ñjsonֵת»»³ÉÕûÊýÀàÐÍ£¬¼æÈݸ÷ÖÖºó¶Ë·µ»ØÀàÐÍ£¬±ÜÃⱨ´í
+	//把json值转��整数类型,兼容���端返回类型,��报错
 	static int ToInt(const rapidjson::Value& valObj);
 
-	//°Ñjsonֵת»»³ÉdoubleÀàÐÍ£¬¼æÈݸ÷ÖÖºó¶Ë·µ»ØÀàÐÍ£¬±ÜÃⱨ´í
+	//把json值转��double类型,兼容���端返回类型,��报错
 	static double ToDouble(const rapidjson::Value& valObj);
 };
 

+ 1 - 1
zhipuzi_pos_windows/helper/CLewaimaiLog.cpp

@@ -1,4 +1,4 @@
-#include "../pch/pch.h"
+#include "pch.h"
 #include "CLewaimaiLog.h"
 
 #include <windows.h>

+ 1 - 1
zhipuzi_pos_windows/helper/CLewaimaiString.cpp

@@ -1,4 +1,4 @@
-#include "../pch/pch.h"
+#include "pch.h"
 #include "CLewaimaiString.h"
 
 #include <boost/archive/iterators/base64_from_binary.hpp>

+ 1 - 1
zhipuzi_pos_windows/helper/CLewaimaiString.h

@@ -1,6 +1,6 @@
 #pragma once
 
-#include "../pch/pch.h"
+#include "pch.h"
 
 #include <codecvt>
 #include <iostream>

+ 1 - 1
zhipuzi_pos_windows/helper/CLewaimaiTime.cpp

@@ -1,4 +1,4 @@
-#include "../pch/pch.h"
+#include "pch.h"
 #include "CLewaimaiTime.h"
 
 

+ 1 - 1
zhipuzi_pos_windows/helper/CRandomHelper.cpp

@@ -1,4 +1,4 @@
-#include "../pch/pch.h"
+#include "pch.h"
 #include "CRandomHelper.h"
 
 CRandomHelper::CRandomHelper()

Some files were not shown because too many files changed in this diff