[Ttssh2-commit] [6670] ウィンドウ最大化時の文字欠け対処

Back to archive index

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();



Ttssh2-commit メーリングリストの案内
Back to archive index