• R/O
  • SSH
  • HTTPS

ttssh2: Commit


Commit MetaInfo

Revision3455 (tree)
Time2009-06-09 01:25:42
Author(del#1144)

Log Message

NT4 で 32bit アイコンを表示しようとして崩れるので、Tera Term 同様 LR_VGACOLOR を指定するようにした。

Change Summary

Incremental Difference

--- trunk/ttpmenu/resource.h (revision 3454)
+++ trunk/ttpmenu/resource.h (revision 3455)
@@ -44,6 +44,7 @@
4444 #define BUTTON_INITFILE 1035
4545 #define EDIT_PROMPT_USER 1036
4646 #define STATIC_ICON 1036
47+#define IDC_TTPMENU_ICON 1036
4748 #define EDIT_PROMPT_PASS 1037
4849 #define CHECK_TTSSH 1037
4950 #define EDIT_OPTION 1038
--- trunk/ttpmenu/ttpmenu.cpp (revision 3454)
+++ trunk/ttpmenu/ttpmenu.cpp (revision 3455)
@@ -28,6 +28,7 @@
2828 HWND g_hWndMenu = NULL; // 設定ダイアログのハンドル
2929 HWND g_hWndTip; // 設定ダイアログ内ツールチップのハンドル
3030 HICON g_hIcon; // アプリケーションアイコンのハンドル
31+HICON g_hIconSmall; // アプリケーションアイコン(16x16)のハンドル
3132 HMENU g_hMenu; // メニュー(非表示)のハンドル
3233 HMENU g_hSubMenu; // ポップアップメニューのハンドル
3334 HMENU g_hListMenu; // 設定一覧ポップアップメニューのハンドル
@@ -982,7 +983,7 @@
982983 nid.uID = TTERM_ICON;
983984 nid.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE;
984985 nid.uCallbackMessage = WM_TMENU_NOTIFY;
985- nid.hIcon = g_hIcon;
986+ nid.hIcon = g_hIconSmall;
986987 lstrcpy(nid.szTip, "TeraTerm Menu");
987988
988989 ::Shell_NotifyIcon(dwMessage, &nid);
@@ -2312,7 +2313,8 @@
23122313 ::EndDialog(hWnd, FALSE);
23132314 }
23142315 SetDlgPos(hWnd, POSITION_CENTER);
2315- ::SetClassLong(hWnd, GCL_HICON, (LONG) g_hIcon);
2316+ PostMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM)g_hIcon);
2317+ PostMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM)g_hIconSmall);
23162318 CreateTooltip();
23172319 crText = ::GetSysColor(COLOR_WINDOWTEXT);
23182320 crBkgnd = ::GetSysColor(COLOR_WINDOW);
@@ -2411,7 +2413,9 @@
24112413 switch(uMsg) {
24122414 case WM_INITDIALOG:
24132415 SetDlgPos(hWnd, POSITION_CENTER);
2414- ::SetClassLong(hWnd, GCL_HICON, (LONG) g_hIcon);
2416+ PostMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM)g_hIcon);
2417+ PostMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM)g_hIconSmall);
2418+ SendDlgItemMessage(hWnd, IDC_TTPMENU_ICON, STM_SETICON, (WPARAM)g_hIcon, 0);
24152419 InitVersionDlg(hWnd);
24162420 return TRUE;
24172421 case WM_COMMAND:
@@ -2451,7 +2455,8 @@
24512455
24522456 switch(uMsg) {
24532457 case WM_CREATE:
2454- ::SetClassLong(hWnd, GCL_HICON, (LONG) g_hIcon);
2458+ PostMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM)g_hIcon);
2459+ PostMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM)g_hIconSmall);
24552460 SetDlgPos(hWnd, POSITION_CENTER);
24562461 ::ShowWindow(hWnd, SW_HIDE);
24572462 SetTaskTray(hWnd, NIM_ADD);
@@ -2576,6 +2581,7 @@
25762581 WNDCLASS winClass;
25772582 char uimsg[MAX_UIMSG];
25782583 DWORD dwErr;
2584+ int fuLoad = LR_DEFAULTCOLOR;
25792585
25802586 // インストーラで実行を検出するために mutex を作成する (2006.8.12 maya)
25812587 // 2重起動防止のためではないので、特に返り値は見ない
@@ -2586,9 +2592,14 @@
25862592
25872593 GetUILanguageFile(UILanguageFile, sizeof(UILanguageFile));
25882594
2589- g_hI = hI;
2590- g_hIcon = ::LoadIcon(g_hI, (LPCSTR) TTERM_ICON);
2595+ g_hI = hI;
25912596
2597+ if (is_NT4()){
2598+ fuLoad = LR_VGACOLOR;
2599+ }
2600+ g_hIcon = (HICON)::LoadImage(g_hI, MAKEINTRESOURCE(TTERM_ICON), IMAGE_ICON, 32, 32, fuLoad);
2601+ g_hIconSmall = (HICON)::LoadImage(g_hI, MAKEINTRESOURCE(TTERM_ICON), IMAGE_ICON, 16, 16, fuLoad);
2602+
25922603 memset(&winClass, 0, sizeof(winClass));
25932604 winClass.style = (CS_BYTEALIGNCLIENT | CS_BYTEALIGNWINDOW | CS_DBLCLKS);
25942605 winClass.lpfnWndProc = WinProc;
Show on old repository browser