| 31 |
#define TEKCLASSNAME "TEKWin32" |
#define TEKCLASSNAME "TEKWin32" |
| 32 |
|
|
| 33 |
|
|
| 34 |
|
enum window_style { |
| 35 |
|
WIN_CASCADE, |
| 36 |
|
WIN_STACKED, |
| 37 |
|
WIN_SIDEBYSIDE, |
| 38 |
|
}; |
| 39 |
|
|
| 40 |
|
|
| 41 |
void PASCAL CopyShmemToTTSet(PTTSet ts) |
void PASCAL CopyShmemToTTSet(PTTSet ts) |
| 42 |
{ |
{ |
| 43 |
// 現在の設定を共有メモリからコピーする |
// 現在の設定を共有メモリからコピーする |
| 949 |
get_lang_msg("MENU_WINDOW_SIDEBYSIDE", buf, buflen, "Side &by Side", langFile); |
get_lang_msg("MENU_WINDOW_SIDEBYSIDE", buf, buflen, "Side &by Side", langFile); |
| 950 |
AppendMenu(menu, MF_ENABLED | MF_STRING, ID_WINDOW_SIDEBYSIDE, buf); |
AppendMenu(menu, MF_ENABLED | MF_STRING, ID_WINDOW_SIDEBYSIDE, buf); |
| 951 |
|
|
| 952 |
|
if (pm->WinUndoFlag) { |
| 953 |
|
if (pm->WinUndoStyle == WIN_CASCADE) |
| 954 |
|
get_lang_msg("MENU_WINDOW_CASCADE_UNDO", buf, buflen, "&Undo - Cascade", langFile); |
| 955 |
|
else if (pm->WinUndoStyle == WIN_STACKED) |
| 956 |
|
get_lang_msg("MENU_WINDOW_STACKED_UNDO", buf, buflen, "&Undo - Stacked", langFile); |
| 957 |
|
else |
| 958 |
|
get_lang_msg("MENU_WINDOW_SIDEBYSIDE_UNDO", buf, buflen, "&Undo - Side by Side", langFile); |
| 959 |
|
AppendMenu(menu, MF_ENABLED | MF_STRING, ID_WINDOW_UNDO, buf); |
| 960 |
|
} else { |
| 961 |
|
RemoveMenu(menu, MF_BYCOMMAND, ID_WINDOW_UNDO); |
| 962 |
|
} |
| 963 |
|
|
| 964 |
} |
} |
| 965 |
else { |
else { |
| 966 |
AppendMenu(menu,MF_ENABLED | MF_STRING,ID_TEKWINDOW_WINDOW, buf); |
AppendMenu(menu,MF_ENABLED | MF_STRING,ID_TEKWINDOW_WINDOW, buf); |
| 1049 |
} |
} |
| 1050 |
} |
} |
| 1051 |
|
|
| 1052 |
#if 0 |
void FAR PASCAL UndoAllWin(void) { |
|
void FAR PASCAL ShowAllWin(int stat) { |
|
| 1053 |
int i; |
int i; |
| 1054 |
WINDOWPLACEMENT rc0; |
WINDOWPLACEMENT rc0; |
| 1055 |
RECT rc; |
RECT rc; |
| 1056 |
HMONITOR hMonitor; |
HMONITOR hMonitor; |
| 1057 |
MONITORINFO mi; |
MONITORINFO mi; |
| 1058 |
|
int stat = SW_RESTORE; |
| 1059 |
|
|
| 1060 |
|
// 一度、復元したらフラグは落とす。 |
| 1061 |
|
pm->WinUndoFlag = FALSE; |
| 1062 |
|
|
| 1063 |
memset(&rc0, 0, sizeof(rc0)); |
memset(&rc0, 0, sizeof(rc0)); |
| 1064 |
|
|
| 1107 |
} |
} |
| 1108 |
} |
} |
| 1109 |
} |
} |
|
#endif |
|
| 1110 |
|
|
| 1111 |
HWND FAR PASCAL GetNthWin(int n) |
HWND FAR PASCAL GetNthWin(int n) |
| 1112 |
{ |
{ |
| 1120 |
|
|
| 1121 |
|
|
| 1122 |
// 有効なウィンドウを探し、現在位置を記憶させておく。 |
// 有効なウィンドウを探し、現在位置を記憶させておく。 |
| 1123 |
static void get_valid_window_and_memorize_rect(HWND myhwnd, HWND hwnd[], int *num) |
static void get_valid_window_and_memorize_rect(HWND myhwnd, HWND hwnd[], int *num, int style) |
| 1124 |
{ |
{ |
| 1125 |
int i, n; |
int i, n; |
| 1126 |
WINDOWPLACEMENT wndPlace; |
WINDOWPLACEMENT wndPlace; |
| 1127 |
|
|
| 1128 |
|
// 元に戻す(Undo)メニューは一度だけ表示させる。 |
| 1129 |
|
if (pm->WinUndoFlag == FALSE) { |
| 1130 |
|
pm->WinUndoFlag = TRUE; |
| 1131 |
|
} else { |
| 1132 |
|
// すでにメニューが表示されていて、かつ以前と同じスタイルが選択されたら、 |
| 1133 |
|
// メニューを消す。 |
| 1134 |
|
// Windows8では、さらに連続して同じスタイルを選択してもメニューが消えたままだが、 |
| 1135 |
|
// Tera Termではメニューが表示されるため、動作が異なる。 |
| 1136 |
|
if (pm->WinUndoStyle == style) |
| 1137 |
|
pm->WinUndoFlag = FALSE; |
| 1138 |
|
} |
| 1139 |
|
pm->WinUndoStyle = style; |
| 1140 |
|
|
| 1141 |
n = 0; |
n = 0; |
| 1142 |
for (i = 0 ; i < pm->NWin ; i++) { |
for (i = 0 ; i < pm->NWin ; i++) { |
| 1143 |
// 現在位置を覚えておく。 |
// 現在位置を覚えておく。 |
| 1163 |
int n; |
int n; |
| 1164 |
HWND hwnd[MAXNWIN]; |
HWND hwnd[MAXNWIN]; |
| 1165 |
|
|
| 1166 |
get_valid_window_and_memorize_rect(myhwnd, hwnd, &n); |
get_valid_window_and_memorize_rect(myhwnd, hwnd, &n, WIN_SIDEBYSIDE); |
| 1167 |
TileWindows(NULL, MDITILE_VERTICAL, NULL, n, hwnd); |
TileWindows(NULL, MDITILE_VERTICAL, NULL, n, hwnd); |
| 1168 |
} |
} |
| 1169 |
|
|
| 1173 |
int n; |
int n; |
| 1174 |
HWND hwnd[MAXNWIN]; |
HWND hwnd[MAXNWIN]; |
| 1175 |
|
|
| 1176 |
get_valid_window_and_memorize_rect(myhwnd, hwnd, &n); |
get_valid_window_and_memorize_rect(myhwnd, hwnd, &n, WIN_STACKED); |
| 1177 |
TileWindows(NULL, MDITILE_HORIZONTAL, NULL, n, hwnd); |
TileWindows(NULL, MDITILE_HORIZONTAL, NULL, n, hwnd); |
| 1178 |
} |
} |
| 1179 |
|
|
| 1183 |
int n; |
int n; |
| 1184 |
HWND hwnd[MAXNWIN]; |
HWND hwnd[MAXNWIN]; |
| 1185 |
|
|
| 1186 |
get_valid_window_and_memorize_rect(myhwnd, hwnd, &n); |
get_valid_window_and_memorize_rect(myhwnd, hwnd, &n, WIN_CASCADE); |
| 1187 |
CascadeWindows(NULL, MDITILE_SKIPDISABLED, NULL, n, hwnd); |
CascadeWindows(NULL, MDITILE_SKIPDISABLED, NULL, n, hwnd); |
| 1188 |
} |
} |
| 1189 |
|
|