[Ttssh2-commit] [7316] tekwinをunicode化

アーカイブの一覧に戻る
scmno****@osdn***** scmno****@osdn*****
2018年 12月 11日 (火) 00:00:57 JST


Revision: 7316
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/7316
Author:   zmatsuo
Date:     2018-12-11 00:00:57 +0900 (Tue, 11 Dec 2018)
Log Message:
-----------
tekwinをunicode化

Modified Paths:
--------------
    branches/cmake/teraterm/teraterm/tekwin.cpp

-------------- next part --------------
Modified: branches/cmake/teraterm/teraterm/tekwin.cpp
===================================================================
--- branches/cmake/teraterm/teraterm/tekwin.cpp	2018-12-10 15:00:45 UTC (rev 7315)
+++ branches/cmake/teraterm/teraterm/tekwin.cpp	2018-12-10 15:00:57 UTC (rev 7316)
@@ -44,28 +44,14 @@
 #include "tekwin.h"
 #include "ttlib.h"
 #include "htmlhelp.h"
+#include "dlglib.h"
 #include <tchar.h>
 
 #define CWnd	TTCWnd
 #define CFrameWnd	TTCFrameWnd
 
-#undef GetMenuString
-#define GetMenuString GetMenuStringA
-#undef ModifyMenu
-#define ModifyMenu ModifyMenuA
-#undef InsertMenu
-#define InsertMenu InsertMenuA
-#undef AppendMenu
-#define AppendMenu AppendMenuA
-
 #define TEKClassName _T("TEKWin32")
 
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
 static HINSTANCE AfxGetInstanceHandle()
 {
 	return hInst;
@@ -171,6 +157,33 @@
 
 void CTEKWindow::InitMenu(HMENU *Menu)
 {
+	static const DlgTextInfo MenuTextInfo[] = {
+		{ 0, "TEKMENU_FILE" },
+		{ 1, "TEKMENU_EDIT" },
+		{ 2, "TEKMENU_SETUP" },
+		{ ID_TEKVTWIN, "TEKMENU_VTWIN"},
+		{ 4, "TEKMENU_HELP"},
+	};
+	static const DlgTextInfo FileMenuTextInfo[] = {
+		{ ID_TEKFILE_PRINT, "TEKMENU_FILE_PRINT" },
+		{ ID_TEKFILE_EXIT, "TEKMENU_FILE_EXIT" },
+	};
+	static const DlgTextInfo EditMenuTextInfo[] = {
+		{ ID_TEKEDIT_COPY, "TEKMENU_EDIT_COPY" },
+		{ ID_TEKEDIT_COPYSCREEN, "TEKMENU_EDIT_COPYSCREEN" },
+		{ ID_TEKEDIT_PASTE, "TEKMENU_EDIT_PASTE" },
+		{ ID_TEKEDIT_PASTECR, "TEKMENU_EDIT_PASTECR" },
+		{ ID_TEKEDIT_CLEARSCREEN, "TEKMENU_EDIT_CLSCREEN" },
+	};
+	static const DlgTextInfo SetupMenuTextInfo[] = {
+		{ ID_TEKSETUP_WINDOW, "TEKMENU_SETUP_WINDOW" },
+		{ ID_TEKSETUP_FONT, "TEKMENU_SETUP_FONT" },
+	};
+	static const DlgTextInfo HelpMenuTextInfo[] = {
+		{ ID_TEKHELP_INDEX, "TEKMENU_HELP_INDEX" },
+		{ ID_TEKHELP_ABOUT, "TEKMENU_HELP_ABOUT" },
+	};
+
 	*Menu = ::LoadMenu(AfxGetInstanceHandle(),
 	                   MAKEINTRESOURCE(IDR_TEKMENU));
 	EditMenu = GetSubMenu(MainMenu,1);
@@ -177,66 +190,19 @@
 	FileMenu = GetSubMenu(MainMenu,0);
 	SetupMenu = GetSubMenu(MainMenu,2);
 	HelpMenu = GetSubMenu(MainMenu,4);
-	char uimsg[MAX_UIMSG];
 
-	GetMenuString(*Menu, 0, uimsg, sizeof(uimsg), MF_BYPOSITION);
-	get_lang_msg("TEKMENU_FILE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
-	ModifyMenu(*Menu, 0, MF_BYPOSITION, 0, ts.UIMsg);
-	GetMenuString(FileMenu, ID_TEKFILE_PRINT, uimsg, sizeof(uimsg), MF_BYCOMMAND);
-	get_lang_msg("TEKMENU_FILE_PRINT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
-	ModifyMenu(FileMenu, ID_TEKFILE_PRINT, MF_BYCOMMAND, ID_TEKFILE_PRINT, ts.UIMsg);
-	GetMenuString(FileMenu, ID_TEKFILE_EXIT, uimsg, sizeof(uimsg), MF_BYCOMMAND);
-	get_lang_msg("TEKMENU_FILE_EXIT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
-	ModifyMenu(FileMenu, ID_TEKFILE_EXIT, MF_BYCOMMAND, ID_TEKFILE_EXIT, ts.UIMsg);
+	SetDlgMenuTexts(*Menu, MenuTextInfo, _countof(MenuTextInfo), ts.UILanguageFile);
+	SetDlgMenuTexts(FileMenu, FileMenuTextInfo, _countof(FileMenuTextInfo), ts.UILanguageFile);
+	SetDlgMenuTexts(EditMenu, EditMenuTextInfo, _countof(EditMenuTextInfo), ts.UILanguageFile);
+	SetDlgMenuTexts(SetupMenu, SetupMenuTextInfo, _countof(SetupMenuTextInfo), ts.UILanguageFile);
+	SetDlgMenuTexts(HelpMenu, HelpMenuTextInfo, _countof(HelpMenuTextInfo), ts.UILanguageFile);
 
-	GetMenuString(*Menu, 1, uimsg, sizeof(uimsg), MF_BYPOSITION);
-	get_lang_msg("TEKMENU_EDIT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
-	ModifyMenu(*Menu, 1, MF_BYPOSITION, 1, ts.UIMsg);
-	GetMenuString(EditMenu, ID_TEKEDIT_COPY, uimsg, sizeof(uimsg), MF_BYCOMMAND);
-	get_lang_msg("TEKMENU_EDIT_COPY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
-	ModifyMenu(EditMenu, ID_TEKEDIT_COPY, MF_BYCOMMAND, ID_TEKEDIT_COPY, ts.UIMsg);
-	GetMenuString(EditMenu, ID_TEKEDIT_COPYSCREEN, uimsg, sizeof(uimsg), MF_BYCOMMAND);
-	get_lang_msg("TEKMENU_EDIT_COPYSCREEN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
-	ModifyMenu(EditMenu, ID_TEKEDIT_COPYSCREEN, MF_BYCOMMAND, ID_TEKEDIT_COPYSCREEN, ts.UIMsg);
-	GetMenuString(EditMenu, ID_TEKEDIT_PASTE, uimsg, sizeof(uimsg), MF_BYCOMMAND);
-	get_lang_msg("TEKMENU_EDIT_PASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
-	ModifyMenu(EditMenu, ID_TEKEDIT_PASTE, MF_BYCOMMAND, ID_TEKEDIT_PASTE, ts.UIMsg);
-	GetMenuString(EditMenu, ID_TEKEDIT_PASTECR, uimsg, sizeof(uimsg), MF_BYCOMMAND);
-	get_lang_msg("TEKMENU_EDIT_PASTECR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
-	ModifyMenu(EditMenu, ID_TEKEDIT_PASTECR, MF_BYCOMMAND, ID_TEKEDIT_PASTECR, ts.UIMsg);
-	GetMenuString(EditMenu, ID_TEKEDIT_CLEARSCREEN, uimsg, sizeof(uimsg), MF_BYCOMMAND);
-	get_lang_msg("TEKMENU_EDIT_CLSCREEN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
-	ModifyMenu(EditMenu, ID_TEKEDIT_CLEARSCREEN, MF_BYCOMMAND, ID_TEKEDIT_CLEARSCREEN, ts.UIMsg);
-
-	GetMenuString(*Menu, 2, uimsg, sizeof(uimsg), MF_BYPOSITION);
-	get_lang_msg("TEKMENU_SETUP", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
-	ModifyMenu(*Menu, 2, MF_BYPOSITION, 2, ts.UIMsg);
-	GetMenuString(SetupMenu, ID_TEKSETUP_WINDOW, uimsg, sizeof(uimsg), MF_BYCOMMAND);
-	get_lang_msg("TEKMENU_SETUP_WINDOW", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
-	ModifyMenu(SetupMenu, ID_TEKSETUP_WINDOW, MF_BYCOMMAND, ID_TEKSETUP_WINDOW, ts.UIMsg);
-	GetMenuString(SetupMenu, ID_TEKSETUP_FONT, uimsg, sizeof(uimsg), MF_BYCOMMAND);
-	get_lang_msg("TEKMENU_SETUP_FONT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
-	ModifyMenu(SetupMenu, ID_TEKSETUP_FONT, MF_BYCOMMAND, ID_TEKSETUP_FONT, ts.UIMsg);
-
-	GetMenuString(*Menu, ID_TEKVTWIN, uimsg, sizeof(uimsg), MF_BYCOMMAND);
-	get_lang_msg("TEKMENU_VTWIN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
-	ModifyMenu(*Menu, ID_TEKVTWIN, MF_BYCOMMAND, ID_TEKVTWIN, ts.UIMsg);
-
-	GetMenuString(*Menu, 4, uimsg, sizeof(uimsg), MF_BYPOSITION);
-	get_lang_msg("TEKMENU_HELP", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
-	ModifyMenu(*Menu, 4, MF_BYPOSITION, 4, ts.UIMsg);
-	GetMenuString(HelpMenu, ID_TEKHELP_INDEX, uimsg, sizeof(uimsg), MF_BYCOMMAND);
-	get_lang_msg("TEKMENU_HELP_INDEX", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
-	ModifyMenu(HelpMenu, ID_TEKHELP_INDEX, MF_BYCOMMAND, ID_TEKHELP_INDEX, ts.UIMsg);
-	GetMenuString(HelpMenu, ID_TEKHELP_ABOUT, uimsg, sizeof(uimsg), MF_BYCOMMAND);
-	get_lang_msg("TEKMENU_HELP_ABOUT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
-	ModifyMenu(HelpMenu, ID_TEKHELP_ABOUT, MF_BYCOMMAND, ID_TEKHELP_ABOUT, ts.UIMsg);
-
 	if ((ts.MenuFlag & MF_SHOWWINMENU) !=0) {
+		TCHAR uimsg[MAX_UIMSG];
 		WinMenu = CreatePopupMenu();
-		get_lang_msg("TEKMENU_WINDOW", ts.UIMsg, sizeof(ts.UIMsg), "&Window", ts.UILanguageFile);
+		get_lang_msgT("TEKMENU_WINDOW", uimsg, _countof(uimsg), _T("&Window"), ts.UILanguageFile);
 		::InsertMenu(*Menu,4,MF_STRING | MF_ENABLED | MF_POPUP | MF_BYPOSITION,
-		             (int)WinMenu, ts.UIMsg);
+		             (int)WinMenu, uimsg);
 	}
 }
 
@@ -436,6 +402,7 @@
 	// popup menu
 	if (ControlKey() && (MainMenu==NULL))
 	{
+		TCHAR uimsg[MAX_UIMSG];
 		InitMenu(&PopupMenu);
 		InitMenuPopup(EditMenu);
 		if (WinMenu!=NULL) {
@@ -442,26 +409,26 @@
 			InitMenuPopup(WinMenu);
 		}
 		PopupBase = CreatePopupMenu();
-		get_lang_msg("MENU_CONTROL", ts.UIMsg, sizeof(ts.UIMsg), "&File", ts.UILanguageFile);
+		get_lang_msgT("MENU_CONTROL", uimsg, _countof(uimsg), _T("&File"), ts.UILanguageFile);
 		AppendMenu(PopupBase, MF_STRING | MF_ENABLED | MF_POPUP,
-		           (UINT)GetSubMenu(PopupMenu,0), ts.UIMsg);
-		get_lang_msg("TEKMENU_EDIT", ts.UIMsg, sizeof(ts.UIMsg), "&Edit", ts.UILanguageFile);
+		           (UINT)GetSubMenu(PopupMenu,0), uimsg);
+		get_lang_msgT("TEKMENU_EDIT", uimsg, _countof(uimsg), _T("&Edit"), ts.UILanguageFile);
 		AppendMenu(PopupBase, MF_STRING | MF_ENABLED | MF_POPUP,
-		           (UINT)EditMenu, ts.UIMsg);
-		get_lang_msg("TEKMENU_SETUP", ts.UIMsg, sizeof(ts.UIMsg), "&Setup", ts.UILanguageFile);
+		           (UINT)EditMenu, uimsg);
+		get_lang_msgT("TEKMENU_SETUP", uimsg, _countof(uimsg), _T("&Setup"), ts.UILanguageFile);
 		AppendMenu(PopupBase, MF_STRING | MF_ENABLED | MF_POPUP,
-		           (UINT)GetSubMenu(PopupMenu,2), ts.UIMsg);
-		get_lang_msg("TEKMENU_VTWIN", ts.UIMsg, sizeof(ts.UIMsg), "VT-Wind&ow", ts.UILanguageFile);
+		           (UINT)GetSubMenu(PopupMenu,2), uimsg);
+		get_lang_msgT("TEKMENU_VTWIN", uimsg, _countof(uimsg), _T("VT-Wind&ow"), ts.UILanguageFile);
 		AppendMenu(PopupBase, MF_STRING | MF_ENABLED,
-		           ID_TEKVTWIN, ts.UIMsg);
+		           ID_TEKVTWIN, uimsg);
 		if (WinMenu!=NULL) {
-			get_lang_msg("TEKMENU_WINDOW", ts.UIMsg, sizeof(ts.UIMsg), "&Window", ts.UILanguageFile);
+			get_lang_msgT("TEKMENU_WINDOW", uimsg, _countof(uimsg), _T("&Window"), ts.UILanguageFile);
 			AppendMenu(PopupBase, MF_STRING | MF_ENABLED | MF_POPUP,
-			           (UINT)WinMenu, ts.UIMsg);
+			           (UINT)WinMenu, uimsg);
 		}
-		get_lang_msg("TEKMENU_HELP", ts.UIMsg, sizeof(ts.UIMsg), "&Help", ts.UILanguageFile);
+		get_lang_msgT("TEKMENU_HELP", uimsg, _countof(uimsg), _T("&Help"), ts.UILanguageFile);
 		AppendMenu(PopupBase, MF_STRING | MF_ENABLED | MF_POPUP,
-		           (UINT)GetSubMenu(PopupMenu,4), ts.UIMsg);
+		           (UINT)GetSubMenu(PopupMenu,4), uimsg);
 		::ClientToScreen(tk.HWin, &p);
 		TrackPopupMenu(PopupBase,TPM_LEFTALIGN | TPM_LEFTBUTTON,
 		               p.x,p.y,0,tk.HWin,NULL);
@@ -682,11 +649,12 @@
 	if ((MainMenu!=NULL) &&
 	    (B1 != B2)) {
 		if (WinMenu==NULL) {
+			TCHAR uimsg[MAX_UIMSG];
 			WinMenu = CreatePopupMenu();
-			get_lang_msg("TEKMENU_WINDOW", ts.UIMsg, sizeof(ts.UIMsg), "&Window", ts.UILanguageFile);
+			get_lang_msgT("TEKMENU_WINDOW", uimsg, _countof(uimsg), _T("&Window"), ts.UILanguageFile);
 			::InsertMenu(MainMenu,4,
 			             MF_STRING | MF_ENABLED | MF_POPUP | MF_BYPOSITION,
-			             (int)WinMenu, ts.UIMsg);
+			             (int)WinMenu, uimsg);
 		}
 		else {
 			RemoveMenu(MainMenu,4,MF_BYPOSITION);
@@ -698,10 +666,11 @@
 
 	::GetSystemMenu(tk.HWin,TRUE);
 	if ((! Show) && ((ts.MenuFlag & MF_NOSHOWMENU)==0)) {
+		TCHAR uimsg[MAX_UIMSG];
 		SysMenu = ::GetSystemMenu(tk.HWin,FALSE);
 		AppendMenu(SysMenu, MF_SEPARATOR, 0, NULL);
-		get_lang_msg("TEKMENU_SHOW_MENUBAR", ts.UIMsg, sizeof(ts.UIMsg), "Show menu &bar", ts.UILanguageFile);
-		AppendMenu(SysMenu, MF_STRING, ID_SHOWMENUBAR, ts.UIMsg);
+		get_lang_msgT("TEKMENU_SHOW_MENUBAR", uimsg, _countof(uimsg), _T("Show menu &bar"), ts.UILanguageFile);
+		AppendMenu(SysMenu, MF_STRING, ID_SHOWMENUBAR, uimsg);
 	}
 	return 0;
 }
@@ -732,10 +701,11 @@
 
 	if ((ts.HideTitle==0) && (MainMenu==NULL) &&
 	    ((ts.MenuFlag & MF_NOSHOWMENU) == 0)) {
+		TCHAR uimsg[MAX_UIMSG];
 		SysMenu = ::GetSystemMenu(HTEKWin,FALSE);
 		AppendMenu(SysMenu, MF_SEPARATOR, 0, NULL);
-		get_lang_msg("TEKMENU_SHOW_MENUBAR", ts.UIMsg, sizeof(ts.UIMsg), "Show menu &bar", ts.UILanguageFile);
-		AppendMenu(SysMenu, MF_STRING, ID_SHOWMENUBAR, ts.UIMsg);
+		get_lang_msgT("TEKMENU_SHOW_MENUBAR", uimsg, _countof(uimsg), _T("Show menu &bar"), ts.UILanguageFile);
+		AppendMenu(SysMenu, MF_STRING, ID_SHOWMENUBAR, uimsg);
 	}
 	return 0;
 }


Ttssh2-commit メーリングリストの案内
アーカイブの一覧に戻る