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; }