OSDN Git Service

Add routines for creating files for software update.
[ffftp/ffftp.git] / toolmenu.c
index 9eba6e3..82415f7 100644 (file)
@@ -237,21 +237,46 @@ int MakeToolBarWindow(HWND hWnd, HINSTANCE hInst)
        char *Pos;\r
        int Tmp2;\r
        DWORD NoDrives;\r
+       // 高DPI対応\r
+       HBITMAP hOriginal;\r
+       HBITMAP hResized;\r
 \r
        /*===== メインのツールバー =====*/\r
 \r
+       // 高DPI対応\r
+//     hWndTbarMain = CreateToolbarEx(\r
+//                             hWnd,\r
+//                             WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_TOP | TBSTYLE_FLAT,\r
+//                             1,\r
+//                             27,\r
+//                             hInst,\r
+//                             main_toolbar_bmp,\r
+//                             TbarDataMain,\r
+//                             sizeof(TbarDataMain)/sizeof(TBBUTTON),\r
+//                             16,16,\r
+//                             16,16,\r
+//                             sizeof(TBBUTTON));\r
+       hOriginal = LoadImage(hInst, MAKEINTRESOURCE(main_toolbar_bmp), IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE | LR_LOADMAP3DCOLORS);\r
+       if(hOriginal != NULL)\r
+       {\r
+               hResized = ResizeBitmap(hOriginal, 64, 64, 16, 64);\r
+               DeleteObject(hOriginal);\r
+       }\r
        hWndTbarMain = CreateToolbarEx(\r
                                hWnd,\r
                                WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_TOP | TBSTYLE_FLAT,\r
                                1,\r
-                               27,\r
-                               hInst,\r
-                               main_toolbar_bmp,\r
+                               30,\r
+                               NULL,\r
+                               (UINT_PTR)hResized,\r
                                TbarDataMain,\r
                                sizeof(TbarDataMain)/sizeof(TBBUTTON),\r
-                               16,16,\r
-                               16,16,\r
+                               CalcPixelX(16),CalcPixelY(16),\r
+                               CalcPixelX(16),CalcPixelY(16),\r
                                sizeof(TBBUTTON));\r
+       if(hResized != NULL)\r
+               DeleteObject(hOriginal);\r
+       hResized = NULL;\r
 \r
        if(hWndTbarMain != NULL)\r
        {\r
@@ -262,23 +287,47 @@ int MakeToolBarWindow(HWND hWnd, HINSTANCE hInst)
                /********************************************* ここまで */\r
 \r
                GetClientRect(hWnd, &Rect1);\r
-               MoveWindow(hWndTbarMain, 0, 0, Rect1.right, TOOLWIN_HEIGHT, FALSE);\r
+               // 高DPI対応\r
+//             MoveWindow(hWndTbarMain, 0, 0, Rect1.right, TOOLWIN_HEIGHT, FALSE);\r
+               MoveWindow(hWndTbarMain, 0, 0, Rect1.right, AskToolWinHeight(), FALSE);\r
        }\r
 \r
        /*===== ローカルのツールバー =====*/\r
 \r
+       // 高DPI対応\r
+//     hWndTbarLocal = CreateToolbarEx(\r
+//                             hWnd,\r
+//                             WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_NORESIZE | TBSTYLE_FLAT,\r
+//                             2,\r
+//                             2,\r
+//                             hInst,\r
+//                             remote_toolbar_bmp,\r
+//                             TbarDataLocal,\r
+//                             sizeof(TbarDataLocal)/sizeof(TBBUTTON),\r
+//                             16,16,\r
+//                             16,16,\r
+//                             sizeof(TBBUTTON));\r
+       hOriginal = LoadImage(hInst, MAKEINTRESOURCE(remote_toolbar_bmp), IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE | LR_LOADMAP3DCOLORS);\r
+       if(hOriginal != NULL)\r
+       {\r
+               hResized = ResizeBitmap(hOriginal, 64, 64, 16, 64);\r
+               DeleteObject(hOriginal);\r
+       }\r
        hWndTbarLocal = CreateToolbarEx(\r
                                hWnd,\r
                                WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_NORESIZE | TBSTYLE_FLAT,\r
                                2,\r
                                2,\r
-                               hInst,\r
-                               remote_toolbar_bmp,\r
+                               NULL,\r
+                               (UINT_PTR)hResized,\r
                                TbarDataLocal,\r
                                sizeof(TbarDataLocal)/sizeof(TBBUTTON),\r
-                               16,16,\r
-                               16,16,\r
+                               CalcPixelX(16),CalcPixelY(16),\r
+                               CalcPixelX(16),CalcPixelY(16),\r
                                sizeof(TBBUTTON));\r
+       if(hResized != NULL)\r
+               DeleteObject(hOriginal);\r
+       hResized = NULL;\r
 \r
        if(hWndTbarLocal != NULL)\r
        {\r
@@ -288,21 +337,32 @@ int MakeToolBarWindow(HWND hWnd, HINSTANCE hInst)
                pOldTbarLocalProc = (WNDPROC)SetWindowLongPtr(hWndTbarLocal, GWLP_WNDPROC, (LONG_PTR)CountermeasureTbarLocalProc);\r
                /********************************************* ここまで */\r
 \r
-               MoveWindow(hWndTbarLocal, 0, TOOLWIN_HEIGHT, LocalWidth, TOOLWIN_HEIGHT, FALSE);\r
+               // 高DPI対応\r
+//             MoveWindow(hWndTbarLocal, 0, TOOLWIN_HEIGHT, LocalWidth, TOOLWIN_HEIGHT, FALSE);\r
+               MoveWindow(hWndTbarLocal, 0, AskToolWinHeight(), LocalWidth, AskToolWinHeight(), FALSE);\r
 \r
                /*===== ローカルのディレクトリ名ウインドウ =====*/\r
 \r
                SendMessage(hWndTbarLocal, TB_GETITEMRECT, 3, (LPARAM)&Rect1);\r
-#ifndef FFFTP_ENGLISH\r
-               DlgFont = CreateFont(Rect1.bottom-Rect1.top-8, 0, 0, 0, 0, FALSE,FALSE,FALSE,SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,MSGJPN254);\r
-#else\r
-               DlgFont = CreateFont(Rect1.bottom-Rect1.top-8, 0, 0, 0, 0, FALSE,FALSE,FALSE,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,MSGJPN254);\r
-#endif\r
-\r
+               // UTF-8対応\r
+               // 高DPI対応\r
+//#ifndef FFFTP_ENGLISH\r
+//             DlgFont = CreateFont(Rect1.bottom-Rect1.top-8, 0, 0, 0, 0, FALSE,FALSE,FALSE,SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,MSGJPN254);\r
+//#else\r
+//             DlgFont = CreateFont(Rect1.bottom-Rect1.top-8, 0, 0, 0, 0, FALSE,FALSE,FALSE,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,MSGJPN254);\r
+//#endif\r
+               DlgFont = CreateFont(Rect1.bottom-Rect1.top-CalcPixelY(8), 0, 0, 0, 0, FALSE,FALSE,FALSE,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,MSGJPN254);\r
+\r
+               // 高DPI対応\r
+//             hWndDirLocal = CreateWindowEx(WS_EX_CLIENTEDGE,\r
+//                                     "COMBOBOX", "",\r
+//                                     WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | CBS_DROPDOWN | CBS_SORT | CBS_AUTOHSCROLL,\r
+//                                     Rect1.right, Rect1.top, LocalWidth - Rect1.right, 200,\r
+//                                     hWndTbarLocal, (HMENU)COMBO_LOCAL, hInst, NULL);\r
                hWndDirLocal = CreateWindowEx(WS_EX_CLIENTEDGE,\r
                                        "COMBOBOX", "",\r
                                        WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | CBS_DROPDOWN | CBS_SORT | CBS_AUTOHSCROLL,\r
-                                       Rect1.right, Rect1.top, LocalWidth - Rect1.right, 200,\r
+                                       Rect1.right, Rect1.top, LocalWidth - Rect1.right, CalcPixelY(200),\r
                                        hWndTbarLocal, (HMENU)COMBO_LOCAL, hInst, NULL);\r
 \r
                if(hWndDirLocal != NULL)\r
@@ -334,18 +394,40 @@ int MakeToolBarWindow(HWND hWnd, HINSTANCE hInst)
 \r
        /*===== ホストのツールバー =====*/\r
 \r
+       // 高DPI対応\r
+//     hWndTbarRemote = CreateToolbarEx(\r
+//                             hWnd,\r
+//                             WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_NORESIZE | TBSTYLE_FLAT,\r
+//                             3,\r
+//                             2,\r
+//                             hInst,\r
+//                             remote_toolbar_bmp,\r
+//                             TbarDataRemote,\r
+//                             sizeof(TbarDataRemote)/sizeof(TBBUTTON),\r
+//                             16,16,\r
+//                             16,16,\r
+//                             sizeof(TBBUTTON));\r
+       hOriginal = LoadImage(hInst, MAKEINTRESOURCE(remote_toolbar_bmp), IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE | LR_LOADMAP3DCOLORS);\r
+       if(hOriginal != NULL)\r
+       {\r
+               hResized = ResizeBitmap(hOriginal, 64, 64, 16, 64);\r
+               DeleteObject(hOriginal);\r
+       }\r
        hWndTbarRemote = CreateToolbarEx(\r
                                hWnd,\r
                                WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_NORESIZE | TBSTYLE_FLAT,\r
                                3,\r
                                2,\r
-                               hInst,\r
-                               remote_toolbar_bmp,\r
+                               NULL,\r
+                               (UINT_PTR)hResized,\r
                                TbarDataRemote,\r
                                sizeof(TbarDataRemote)/sizeof(TBBUTTON),\r
-                               16,16,\r
-                               16,16,\r
+                               CalcPixelX(16),CalcPixelY(16),\r
+                               CalcPixelX(16),CalcPixelY(16),\r
                                sizeof(TBBUTTON));\r
+       if(hResized != NULL)\r
+               DeleteObject(hOriginal);\r
+       hResized = NULL;\r
 \r
        if(hWndTbarRemote != NULL)\r
        {\r
@@ -355,15 +437,23 @@ int MakeToolBarWindow(HWND hWnd, HINSTANCE hInst)
                pOldTbarRemoteProc = (WNDPROC)SetWindowLongPtr(hWndTbarRemote, GWLP_WNDPROC, (LONG_PTR)CountermeasureTbarRemoteProc);\r
                /********************************************* ここまで */\r
 \r
-               MoveWindow(hWndTbarRemote, LocalWidth + SepaWidth, TOOLWIN_HEIGHT, RemoteWidth, TOOLWIN_HEIGHT, FALSE);\r
+               // 高DPI対応\r
+//             MoveWindow(hWndTbarRemote, LocalWidth + SepaWidth, TOOLWIN_HEIGHT, RemoteWidth, TOOLWIN_HEIGHT, FALSE);\r
+               MoveWindow(hWndTbarRemote, LocalWidth + SepaWidth, AskToolWinHeight(), RemoteWidth, AskToolWinHeight(), FALSE);\r
 \r
                /*===== ホストのディレクトリ名ウインドウ =====*/\r
 \r
                SendMessage(hWndTbarRemote, TB_GETITEMRECT, 3, (LPARAM)&Rect1);\r
+               // 高DPI対応\r
+//             hWndDirRemote = CreateWindowEx(WS_EX_CLIENTEDGE,\r
+//                                     "COMBOBOX", "",\r
+//                                     WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | CBS_DROPDOWN | CBS_AUTOHSCROLL,\r
+//                                     Rect1.right, Rect1.top, RemoteWidth - Rect1.right, 200,\r
+//                                     hWndTbarRemote, (HMENU)COMBO_REMOTE, hInst, NULL);\r
                hWndDirRemote = CreateWindowEx(WS_EX_CLIENTEDGE,\r
                                        "COMBOBOX", "",\r
                                        WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | CBS_DROPDOWN | CBS_AUTOHSCROLL,\r
-                                       Rect1.right, Rect1.top, RemoteWidth - Rect1.right, 200,\r
+                                       Rect1.right, Rect1.top, RemoteWidth - Rect1.right, CalcPixelY(200),\r
                                        hWndTbarRemote, (HMENU)COMBO_REMOTE, hInst, NULL);\r
 \r
                if(hWndDirRemote != NULL)\r