svnno****@sourc*****
svnno****@sourc*****
2010年 8月 31日 (火) 19:15:14 JST
Revision: 4073 http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=4073 Author: doda Date: 2010-08-31 19:15:14 +0900 (Tue, 31 Aug 2010) Log Message: ----------- ウィンドウメニューに、ウィンドウの状態を表す文字を表示するようにしてみた。 * 現在のウィンドウ + 通常のウィンドウ - 最小化されたウィンドウ @ 最大化されたウィンドウ # 非表示のウィンドウ Modified Paths: -------------- trunk/teraterm/ttpcmn/ttcmn.c -------------- next part -------------- Modified: trunk/teraterm/ttpcmn/ttcmn.c =================================================================== --- trunk/teraterm/ttpcmn/ttcmn.c 2010-08-31 10:11:32 UTC (rev 4072) +++ trunk/teraterm/ttpcmn/ttcmn.c 2010-08-31 10:15:14 UTC (rev 4073) @@ -821,6 +821,20 @@ } } +char GetWindowTypeChar(HWND Hw, HWND HWin) +{ + if (HWin == Hw) + return '*'; + else if (!IsWindowVisible(Hw)) + return '#'; + else if (IsIconic(Hw)) + return '-'; + else if (IsZoomed(Hw)) + return '@'; + else + return '+'; +} + void FAR PASCAL SetWinMenu(HMENU menu, PCHAR buf, int buflen, PCHAR langFile, int VTFlag) { int i; @@ -844,7 +858,9 @@ Temp[0] = '&'; Temp[1] = (char)(0x31 + i); Temp[2] = ' '; - GetWindowText(Hw,&Temp[3],sizeof(Temp)-4); + Temp[3] = GetWindowTypeChar(Hw, NULL); + Temp[4] = ' '; + GetWindowText(Hw,&Temp[5],sizeof(Temp)-6); AppendMenu(menu,MF_ENABLED | MF_STRING,ID_WINDOW_1+i,Temp); i++; if (i>8) { @@ -875,7 +891,9 @@ if ((GetClassName(Hw,Temp,sizeof(Temp))>0) && ((strcmp(Temp,VTCLASSNAME)==0) || (strcmp(Temp,TEKCLASSNAME)==0))) { - GetWindowText(Hw,Temp,sizeof(Temp)-1); + Temp[0] = GetWindowTypeChar(Hw, HWin); + Temp[1] = ' '; + GetWindowText(Hw,&Temp[2],sizeof(Temp)-3); SendDlgItemMessage(HDlg, IList, LB_ADDSTRING, 0, (LONG)Temp); if (Hw==HWin) {