svnno****@sourc*****
svnno****@sourc*****
2017年 4月 11日 (火) 02:52:21 JST
Revision: 6670 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6670 Author: doda Date: 2017-04-11 02:52:21 +0900 (Tue, 11 Apr 2017) Log Message: ----------- ウィンドウ最大化時の文字欠け対処 文字の欠けは、最大化時にクライアント領域最下部に一行未満の隙間が出来る 事に起因していると思われる。スクロールが発生した時にこの隙間にあたる 部分が欠けて表示される。 対処として、隙間の分クライアント領域の高さを縮めてみる。 ToDo: ・縮めた分の領域の描画が行われないので、何とかして背景色等で塗りつぶす。 Modified Paths: -------------- trunk/teraterm/teraterm/vtwin.cpp trunk/teraterm/teraterm/vtwin.h -------------- next part -------------- Modified: trunk/teraterm/teraterm/vtwin.cpp =================================================================== --- trunk/teraterm/teraterm/vtwin.cpp 2017-04-10 17:52:17 UTC (rev 6669) +++ trunk/teraterm/teraterm/vtwin.cpp 2017-04-10 17:52:21 UTC (rev 6670) @@ -121,6 +121,7 @@ ON_WM_MOVE() ON_WM_NCLBUTTONDBLCLK() ON_WM_NCRBUTTONDOWN() + ON_WM_NCCALCSIZE() ON_WM_PAINT() ON_WM_RBUTTONDOWN() ON_WM_RBUTTONUP() @@ -2473,7 +2474,27 @@ return (TRUE); } +void CVTWindow::OnNcCalcSize(BOOL valid, NCCALCSIZE_PARAMS *sizeinfo) +{ + int fontheight, gap; + CWnd::OnNcCalcSize(valid, sizeinfo); + + if (valid && IsZoomed()) { + // \x83E\x83B\x83\x93\x83h\x83E\x8Dő剻\x8E\x9E\x82ɕ\xB6\x8E\x9A\x82\xAA\x8C\x87\x82\xAF\x82\xE9\x8Fꍇ\x82\xAA\x82\xA0\x82鎖\x82ւ̑Ώ\x88 + // \x83N\x83\x89\x83C\x83A\x83\x93\x83g\x97̈\xE6\x82̍\x82\x82\xB3\x82\xAA\x95\xB6\x8E\x9A\x82̍\x82\x82\xB3\x82Ŋ\x84\x82\xE8\x90ꂸ + // \x83E\x83B\x83\x93\x83h\x83E\x8Dʼn\xBA\x95\x94\x82Ɉ\xEA\x8Ds\x96\xA2\x96\x9E\x82̌\x84\x8AԂ\xAA\x8Fo\x97\x88\x82鎖\x82\xAA\x8C\xB4\x88\xF6\x81B + // \x8C\x84\x8AԂ̕\xAA\x81A\x83N\x83\x89\x83C\x83A\x83\x93\x83g\x97̈\xE6\x82̍\x82\x82\xB3\x82\xF0\x8C\xB8\x82炷\x81B + fontheight = abs(ts.VTFontSize.y); + if (fontheight > 0) { + gap = (sizeinfo->rgrc[0].bottom - sizeinfo->rgrc[0].top) % fontheight; + sizeinfo->rgrc[0].bottom -= gap; + } + } + + return; +} + void CVTWindow::OnNcLButtonDblClk(UINT nHitTest, CPoint point) { if (! Minimized && (nHitTest == HTCAPTION)) { Modified: trunk/teraterm/teraterm/vtwin.h =================================================================== --- trunk/teraterm/teraterm/vtwin.h 2017-04-10 17:52:17 UTC (rev 6669) +++ trunk/teraterm/teraterm/vtwin.h 2017-04-10 17:52:21 UTC (rev 6670) @@ -76,6 +76,7 @@ afx_msg void OnMouseMove(UINT nFlags, CPoint point); afx_msg void OnMove(int x, int y); afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt); + afx_msg void OnNcCalcSize(BOOL valid, NCCALCSIZE_PARAMS *calcsize); afx_msg void OnNcLButtonDblClk(UINT nHitTest, CPoint point); afx_msg void OnNcRButtonDown(UINT nHitTest, CPoint point); afx_msg void OnPaint();