HANDLE ChangeNotification = INVALID_HANDLE_VALUE;\r
// タスクバー進捗表示\r
static ITaskbarList3* pTaskbarList3;\r
+// 高DPI対応\r
+int ToolWinHeight;\r
\r
\r
/*===== グローバルなワーク =====*/\r
int masterpass;\r
// ポータブル版判定\r
int ImportPortable;\r
+ // 高DPI対応\r
+ int i;\r
\r
sts = FFFTP_FAIL;\r
\r
_mkdir(TmpPath);\r
SetYenTail(TmpPath);\r
\r
+ // 高DPI対応\r
+ WinWidth = CalcPixelX(WinWidth);\r
+ WinHeight = CalcPixelY(WinHeight);\r
+ LocalWidth = CalcPixelX(LocalWidth);\r
+ TaskHeight = CalcPixelY(TaskHeight);\r
+ for(i = 0; i < sizeof(LocalTabWidth) / sizeof(int); i++)\r
+ LocalTabWidth[i] = CalcPixelX(LocalTabWidth[i]);\r
+ for(i = 0; i < sizeof(RemoteTabWidth) / sizeof(int); i++)\r
+ RemoteTabWidth[i] = CalcPixelX(RemoteTabWidth[i]);\r
+\r
GetModuleFileName(NULL, HelpPath, FMAX_PATH);\r
strcpy(GetFileName(HelpPath), "ffftp.chm");\r
\r
wClass.hIconSm = NULL;\r
RegisterClassEx(&wClass);\r
\r
+ // 高DPI対応\r
+// ToolWinHeight = TOOLWIN_HEIGHT;\r
+ ToolWinHeight = CalcPixelY(16) + 12;\r
+\r
if(SaveWinPos == NO)\r
{\r
WinPosX = CW_USEDEFAULT;\r
SendMessage(GetSbarWnd(), WM_SIZE, SIZE_RESTORED, MAKELPARAM(Rect.right, Rect.bottom));\r
\r
CalcWinSize();\r
- SetWindowPos(GetMainTbarWnd(), 0, 0, 0, Rect.right, TOOLWIN_HEIGHT, SWP_NOACTIVATE | SWP_NOZORDER);\r
- SetWindowPos(GetLocalTbarWnd(), 0, 0, TOOLWIN_HEIGHT, LocalWidth, TOOLWIN_HEIGHT, SWP_NOACTIVATE | SWP_NOZORDER);\r
- SetWindowPos(GetRemoteTbarWnd(), 0, LocalWidth + SepaWidth, TOOLWIN_HEIGHT, RemoteWidth, TOOLWIN_HEIGHT, SWP_NOACTIVATE | SWP_NOZORDER);\r
+ // 高DPI対応\r
+// SetWindowPos(GetMainTbarWnd(), 0, 0, 0, Rect.right, TOOLWIN_HEIGHT, SWP_NOACTIVATE | SWP_NOZORDER);\r
+// SetWindowPos(GetLocalTbarWnd(), 0, 0, TOOLWIN_HEIGHT, LocalWidth, TOOLWIN_HEIGHT, SWP_NOACTIVATE | SWP_NOZORDER);\r
+// SetWindowPos(GetRemoteTbarWnd(), 0, LocalWidth + SepaWidth, TOOLWIN_HEIGHT, RemoteWidth, TOOLWIN_HEIGHT, SWP_NOACTIVATE | SWP_NOZORDER);\r
+ SetWindowPos(GetMainTbarWnd(), 0, 0, 0, Rect.right, AskToolWinHeight(), SWP_NOACTIVATE | SWP_NOZORDER);\r
+ SetWindowPos(GetLocalTbarWnd(), 0, 0, AskToolWinHeight(), LocalWidth, AskToolWinHeight(), SWP_NOACTIVATE | SWP_NOZORDER);\r
+ SetWindowPos(GetRemoteTbarWnd(), 0, LocalWidth + SepaWidth, AskToolWinHeight(), RemoteWidth, AskToolWinHeight(), SWP_NOACTIVATE | SWP_NOZORDER);\r
SendMessage(GetLocalTbarWnd(), TB_GETITEMRECT, 3, (LPARAM)&Rect);\r
SetWindowPos(GetLocalHistHwnd(), 0, Rect.right, Rect.top, LocalWidth - Rect.right, 200, SWP_NOACTIVATE | SWP_NOZORDER);\r
SendMessage(GetRemoteTbarWnd(), TB_GETITEMRECT, 3, (LPARAM)&Rect);\r
SetWindowPos(GetRemoteHistHwnd(), 0, Rect.right, Rect.top, RemoteWidth - Rect.right, 200, SWP_NOACTIVATE | SWP_NOZORDER);\r
- SetWindowPos(GetLocalHwnd(), 0, 0, TOOLWIN_HEIGHT*2, LocalWidth, ListHeight, SWP_NOACTIVATE | SWP_NOZORDER);\r
- SetWindowPos(GetRemoteHwnd(), 0, LocalWidth + SepaWidth, TOOLWIN_HEIGHT*2, RemoteWidth, ListHeight, SWP_NOACTIVATE | SWP_NOZORDER);\r
- SetWindowPos(GetTaskWnd(), 0, 0, TOOLWIN_HEIGHT*2+ListHeight+SepaWidth, ClientWidth, TaskHeight, SWP_NOACTIVATE | SWP_NOZORDER);\r
+ // 高DPI対応\r
+// SetWindowPos(GetLocalHwnd(), 0, 0, TOOLWIN_HEIGHT*2, LocalWidth, ListHeight, SWP_NOACTIVATE | SWP_NOZORDER);\r
+// SetWindowPos(GetRemoteHwnd(), 0, LocalWidth + SepaWidth, TOOLWIN_HEIGHT*2, RemoteWidth, ListHeight, SWP_NOACTIVATE | SWP_NOZORDER);\r
+// SetWindowPos(GetTaskWnd(), 0, 0, TOOLWIN_HEIGHT*2+ListHeight+SepaWidth, ClientWidth, TaskHeight, SWP_NOACTIVATE | SWP_NOZORDER);\r
+ SetWindowPos(GetLocalHwnd(), 0, 0, AskToolWinHeight()*2, LocalWidth, ListHeight, SWP_NOACTIVATE | SWP_NOZORDER);\r
+ SetWindowPos(GetRemoteHwnd(), 0, LocalWidth + SepaWidth, AskToolWinHeight()*2, RemoteWidth, ListHeight, SWP_NOACTIVATE | SWP_NOZORDER);\r
+ SetWindowPos(GetTaskWnd(), 0, 0, AskToolWinHeight()*2+ListHeight+SepaWidth, ClientWidth, TaskHeight, SWP_NOACTIVATE | SWP_NOZORDER);\r
#endif\r
\r
return;\r
\r
GetClientRect(GetSbarWnd(), &Rect);\r
\r
- ListHeight = max1(0, ClientHeight - TOOLWIN_HEIGHT * 2 - TaskHeight - SepaWidth - Rect.bottom);\r
+ // 高DPI対応\r
+// ListHeight = max1(0, ClientHeight - TOOLWIN_HEIGHT * 2 - TaskHeight - SepaWidth - Rect.bottom);\r
+ ListHeight = max1(0, ClientHeight - AskToolWinHeight() * 2 - TaskHeight - SepaWidth - Rect.bottom);\r
\r
return;\r
}\r
\r
if((Resizing == RESIZE_OFF) && (Keys == 0))\r
{\r
+ // 高DPI対応\r
+// if((x >= LocalWidth) && (x <= LocalWidth + SepaWidth) &&\r
+// (y > TOOLWIN_HEIGHT) && (y < (TOOLWIN_HEIGHT * 2 + ListHeight)))\r
if((x >= LocalWidth) && (x <= LocalWidth + SepaWidth) &&\r
- (y > TOOLWIN_HEIGHT) && (y < (TOOLWIN_HEIGHT * 2 + ListHeight)))\r
+ (y > AskToolWinHeight()) && (y < (AskToolWinHeight() * 2 + ListHeight)))\r
{\r
/* 境界位置変更用カーソルに変更 */\r
SetCapture(hWndFtp);\r
Resizing = RESIZE_PREPARE;\r
ResizePos = RESIZE_HPOS;\r
}\r
- else if((y >= TOOLWIN_HEIGHT*2+ListHeight) && (y <= TOOLWIN_HEIGHT*2+ListHeight+SepaWidth))\r
+ // 高DPI対応\r
+// else if((y >= TOOLWIN_HEIGHT*2+ListHeight) && (y <= TOOLWIN_HEIGHT*2+ListHeight+SepaWidth))\r
+ else if((y >= AskToolWinHeight()*2+ListHeight) && (y <= AskToolWinHeight()*2+ListHeight+SepaWidth))\r
{\r
/* 境界位置変更用カーソルに変更 */\r
SetCapture(hWndFtp);\r
GetClientRect(GetSbarWnd(), &Rect1);\r
Rect.left += GetSystemMetrics(SM_CXFRAME);\r
Rect.right -= GetSystemMetrics(SM_CXFRAME);\r
- Rect.top += TOOLWIN_HEIGHT*2 + GetSystemMetrics(SM_CYMENU) + GetSystemMetrics(SM_CYCAPTION) + GetSystemMetrics(SM_CYFRAME);\r
+ // 高DPI対応\r
+// Rect.top += TOOLWIN_HEIGHT*2 + GetSystemMetrics(SM_CYMENU) + GetSystemMetrics(SM_CYCAPTION) + GetSystemMetrics(SM_CYFRAME);\r
+ Rect.top += AskToolWinHeight()*2 + GetSystemMetrics(SM_CYMENU) + GetSystemMetrics(SM_CYCAPTION) + GetSystemMetrics(SM_CYFRAME);\r
Rect.bottom -= GetSystemMetrics(SM_CYFRAME) + Rect1.bottom;\r
ClipCursor(&Rect);\r
}\r
else\r
{\r
+ // 高DPI対応\r
+// if(((ResizePos == RESIZE_HPOS) &&\r
+// ((x < LocalWidth) || (x > LocalWidth + SepaWidth) ||\r
+// (y <= TOOLWIN_HEIGHT) || (y >= (TOOLWIN_HEIGHT * 2 + ListHeight)))) ||\r
+// ((ResizePos == RESIZE_VPOS) &&\r
+// ((y < TOOLWIN_HEIGHT*2+ListHeight) || (y > TOOLWIN_HEIGHT*2+ListHeight+SepaWidth))))\r
if(((ResizePos == RESIZE_HPOS) &&\r
((x < LocalWidth) || (x > LocalWidth + SepaWidth) ||\r
- (y <= TOOLWIN_HEIGHT) || (y >= (TOOLWIN_HEIGHT * 2 + ListHeight)))) ||\r
+ (y <= AskToolWinHeight()) || (y >= (AskToolWinHeight() * 2 + ListHeight)))) ||\r
((ResizePos == RESIZE_VPOS) &&\r
- ((y < TOOLWIN_HEIGHT*2+ListHeight) || (y > TOOLWIN_HEIGHT*2+ListHeight+SepaWidth))))\r
+ ((y < AskToolWinHeight()*2+ListHeight) || (y > AskToolWinHeight()*2+ListHeight+SepaWidth))))\r
{\r
/* 元のカーソルに戻す */\r
ReleaseCapture();\r
for(i = 0; i < 5; i++)\r
Hash[i] = _byteswap_ulong(Hash[i]);\r
// 同梱する"ssl.pem"に合わせてSHA1ハッシュ値を変更すること\r
- if(memcmp(&Hash, &SSLRootCAFileHash, 20) == 0 || memcmp(&Hash, "\xCD\xD3\xB3\xB8\x9B\x42\x85\x25\x73\xD8\xD4\xBC\xCB\x0B\xA2\x8A\x20\x38\xF4\x6C", 20) == 0\r
+ if(memcmp(&Hash, &SSLRootCAFileHash, 20) == 0 || memcmp(&Hash, "\x57\x50\x4F\xF9\x95\xFC\x41\x2F\x10\x2B\x36\xFA\x92\xAB\x08\xBB\xC3\x7F\x9A\xDB", 20) == 0\r
|| DialogBox(GetFtpInst(), MAKEINTRESOURCE(updatesslroot_dlg), GetMainHwnd(), ExeEscDialogProc) == YES)\r
{\r
memcpy(&SSLRootCAFileHash, &Hash, 20);\r
pTaskbarList3->lpVtbl->SetProgressState(pTaskbarList3, GetMainHwnd(), TBPF_NOPROGRESS);\r
}\r
\r
+// 高DPI対応\r
+int AskToolWinHeight(void)\r
+{\r
+ return(ToolWinHeight);\r
+}\r
+\r