[ttssh2-commit] [11012] VTウィンドウでF1が使用できなかったので修正

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2023年 10月 19日 (木) 21:51:38 JST


Revision: 11012
          https://osdn.net/projects/ttssh2/scm/svn/commits/11012
Author:   zmatsuo
Date:     2023-10-19 21:51:38 +0900 (Thu, 19 Oct 2023)
Log Message:
-----------
VTウィンドウでF1が使用できなかったので修正

- F1キーに設定されたキーのシーケンスは送出されない。
  - WM_KEYDOWN メッセージが送られてこなくなる
  - WM_HELP で処理を追加したため
- ヘルプを出す必要がない時は WM_HELP で何も処理を行わないようにした
  - 何も処理しないと WM_KEYDOWN + VK_F1 が送られてきて従来通りの動作となる
- ヘルプファイルがあるのに開けませんというエラーが出ていた
  - 無効な help id を指定していたため

Modified Paths:
--------------
    trunk/teraterm/teraterm/commlib.c
    trunk/teraterm/teraterm/vtwin.cpp

-------------- next part --------------
Modified: trunk/teraterm/teraterm/commlib.c
===================================================================
--- trunk/teraterm/teraterm/commlib.c	2023-10-16 21:21:42 UTC (rev 11011)
+++ trunk/teraterm/teraterm/commlib.c	2023-10-19 12:51:38 UTC (rev 11012)
@@ -418,6 +418,7 @@
 					};
 					VtwinSetHelpId(HlpAboutQandaConnection);
 					TTMessageBoxW(cv->HWin, &info, ts->UILanguageFileW);
+					VtwinSetHelpId(0);
 				}
 				goto BreakSC;
 			}

Modified: trunk/teraterm/teraterm/vtwin.cpp
===================================================================
--- trunk/teraterm/teraterm/vtwin.cpp	2023-10-16 21:21:42 UTC (rev 11011)
+++ trunk/teraterm/teraterm/vtwin.cpp	2023-10-19 12:51:38 UTC (rev 11012)
@@ -141,7 +141,7 @@
 typedef struct {
 	char dbcs_lead_byte;
 	UINT monitor_DPI;			// \x83E\x83B\x83\x93\x83h\x83E\x82\xAA\x95\\x8E\xA6\x82\xB3\x82\xEA\x82Ă\xA2\x82\xE9\x83f\x83B\x83X\x83v\x83\x8C\x83C\x82\xCCDPI
-	DWORD help_data;
+	DWORD help_id;				// WM_HELP\x83\x81\x83b\x83Z\x81[\x83W\x8E\x9E\x81A\x95\\x8E\xA6\x82\xB7\x82\xE9\x83w\x83\x8B\x83vID(0\x82ŕ\\x8E\xA6\x82\xB5\x82Ȃ\xA2)
 } vtwin_work_t;
 static vtwin_work_t vtwin_work;
 
@@ -329,6 +329,7 @@
 #endif
 	vtwin_work.dbcs_lead_byte = 0;
 	vtwin_work.monitor_DPI = 0;
+	vtwin_work.help_id = 0;
 
 	// UnicodeDebugParam
 	{
@@ -5328,11 +5329,21 @@
 		break;
 	}
 	case WM_HELP: {
+		// \x8E\x9F\x82̏ꍇ\x82ɔ\xAD\x90\xB6\x82\xB7\x82\xE9
+		//		- F1 \x83L\x81[\x89\x9F\x89\xBA
+		//		- MessageBox() \x82\xCC MB_HELP \x82\xCC HELP \x83{\x83^\x83\x93\x89\x9F\x89\xBA
+		// - F1\x83L\x81[\x89\x9F\x89\xBA\x8E\x9E\x81AWM_HELP, WM_KEYDOWN, KEYUP \x82ƃ\x81\x83b\x83Z\x81[\x83W\x82\xAA\x94\xAD\x90\xB6\x82\xB7\x82\xE9
+		// - WM_HELP \x82ʼn\xBD\x82\xA9\x8F\x88\x97\x9D\x82\xF0\x82\xB5\x82Ă\xA2\x82\xE9\x82\xC6 WM_KEYDOWN \x82\xAA\x82Ȃ\xAD\x82Ȃ\xE9\x82悤\x82\xBE
 		vtwin_work_t *w = &vtwin_work;
-		OpenHelpCV(&cv, HH_HELP_CONTEXT, w->help_data);
-		break;
+		if (w->help_id != 0) {
+			// \x83w\x83\x8B\x83v\x82\xAA\x83Z\x83b\x83g\x82\xB3\x82\xEA\x82Ă\xA2\x82\xE9
+			OpenHelpCV(&cv, HH_HELP_CONTEXT, w->help_id);
+			break;
+		}
+		goto default_proc;
 	}
 	default:
+	default_proc:
 		retval = DefWindowProc(msg, wp, lp);
 		break;
 	}
@@ -5340,14 +5351,18 @@
 }
 
 /**
- *	WM_HELP \x83\x81\x83b\x83Z\x81[\x83W\x82\xF0\x8E\xF3\x90M\x82\xB5\x82\xBD\x82Ƃ\xAB\x95\\x8E\xA6\x82\xB7\x82\xE9\x83w\x83\x8B\x83v\x82̃w\x83\x8B\x83vID\x82\xF0\x90ݒ肷\x82\xE9
+ *	WM_HELP \x83\x81\x83b\x83Z\x81[\x83W\x82\xF0\x8E\xF3\x90M\x82\xB5\x82\xBD\x82Ƃ\xAB\x95\\x8E\xA6\x82\xB7\x82\xE9\x83w\x83\x8B\x83v\x82̃w\x83\x8B\x83vID\x82\xF0\x90ݒ\xE8/\x89\xF0\x8F\x9C\x82\xB7\x82\xE9
  *
- *		MessageBox() \x82\xCC uType \x82\xC9 MB_HELP \x82\xF0\x90ݒ肷\x82\xE9\x82\xC6
- *		\x95\\x8E\xA6\x82\xB3\x82\xEA\x82\xE9HELP\x83{\x83^\x83\x93\x82\xF0\x89\x9F\x82\xB5\x82\xBD\x82Ƃ\xAB\x82\xC9
- *		WM_HELP \x82\xAA\x90e\x83E\x83B\x83\x93\x83h\x83E\x82ɑ\x97\x82\xE7\x82\xEA\x82\xE9
+ *	@param data		0		\x83w\x83\x8B\x83v\x89\xF0\x8F\x9C
+ *					0\x88ȊO	\x83w\x83\x8B\x83vID
+ *
+ * - MessageBox() \x82\xCC uType \x82\xC9 MB_HELP \x82\xF0\x90ݒ莞\x81AHELP\x83{\x83^\x83\x93\x82\xAA\x95\\x8E\xA6\x82\xB3\x82\xEA\x82\xE9
+ * - VTWindows \x82\xF0\x90e\x82ɂ\xB5\x82\xBD MessageBox() \x82\xCC HELP\x83{\x83^\x83\x93\x82\xAA\x89\x9F\x82\xB3\x82ꂽ\x82Ƃ\xAB\x81A
+ *	 \x82\xB1\x82\xCCAPI\x82Őݒ肵\x82\xBD\x83w\x83\x8B\x83vID\x82̃w\x83\x8B\x83v\x82\xAA\x95\\x8E\xA6\x82\xB3\x82\xEA\x82\xE9
+ * - MessageBox() \x82\xF0\x95‚\xB6\x82\xBD\x82Ƃ\xAB\x82\xC9 0\x82\xF0\x83Z\x83b\x83g\x82\xB7\x82邱\x82\xC6
  */
-void VtwinSetHelpId(DWORD data)
+void VtwinSetHelpId(DWORD help_id)
 {
 	vtwin_work_t *w = &vtwin_work;
-	w->help_data = data;
+	w->help_id = help_id;
 }


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