Revision: 8758 https://osdn.net/projects/ttssh2/scm/svn/commits/8758 Author: zmatsuo Date: 2020-04-28 00:56:29 +0900 (Tue, 28 Apr 2020) Log Message: ----------- DPIの異なるディスプレイをまたいでウィンドウを移動するときターミナルのサイズが変化しないよう修正 - AdjustWindowRectExForDpi() はクライアント領域のサイズからウィンドウサイズを算出する - スクロールバーはクライアント領域に含まれる - スクロールバーの表示/非表示をクライアント領域のサイズ計算時に考慮する必要がある Modified Paths: -------------- trunk/teraterm/teraterm/vtwin.cpp -------------- next part -------------- Modified: trunk/teraterm/teraterm/vtwin.cpp =================================================================== --- trunk/teraterm/teraterm/vtwin.cpp 2020-04-27 11:19:06 UTC (rev 8757) +++ trunk/teraterm/teraterm/vtwin.cpp 2020-04-27 15:56:29 UTC (rev 8758) @@ -6268,6 +6268,19 @@ const DWORD Style = (DWORD)::GetWindowLongPtr(m_hWnd, GWL_STYLE); const DWORD ExStyle = (DWORD)::GetWindowLongPtr(m_hWnd, GWL_EXSTYLE); const BOOL bMenu = (ts.PopupMenu != 0) ? FALSE : TRUE; + { // \x83X\x83N\x83\x8D\x81[\x83\x8B\x83o\x81[\x82\xAA\x95\\x8E\xA6\x82\xB3\x82\xEA\x82Ă\xA2\x82\xE9\x8Fꍇ\x82́A + // \x83X\x83N\x83\x8A\x81[\x83\x93\x83T\x83C\x83Y(\x83N\x83\x89\x83C\x83A\x83\x93\x83g\x83G\x83\x8A\x83A\x82̃T\x83C\x83Y)\x82ɒlj\xC1\x82\xB7\x82\xE9 + int min_pos; + int max_pos; + GetScrollRange(m_hWnd, SB_VERT, &min_pos, &max_pos); + if (min_pos != max_pos) { + ScreenWidth += GetSystemMetricsForDpi(SM_CXVSCROLL, NewDPI); + } + GetScrollRange(m_hWnd, SB_HORZ, &min_pos, &max_pos); + if (min_pos != max_pos) { + ScreenHeight += GetSystemMetricsForDpi(SM_CXHSCROLL, NewDPI); + } + } RECT Rect = {0, 0, ScreenWidth, ScreenHeight}; if (pAdjustWindowRectExForDpi != NULL) { // Windows 10, version 1607+