[Ttssh2-commit] [3724] コントロールメニューから有効 / 無効を制御出来るようにした。

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2010年 1月 8日 (金) 12:36:30 JST


Revision: 3724
          http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=3724
Author:   doda
Date:     2010-01-08 12:36:30 +0900 (Fri, 08 Jan 2010)

Log Message:
-----------
コントロールメニューから有効/無効を制御出来るようにした。

Modified Paths:
--------------
    trunk/TTXSamples/TTXRecurringCommand/TTXRecurringCommand.c


-------------- next part --------------
Modified: trunk/TTXSamples/TTXRecurringCommand/TTXRecurringCommand.c
===================================================================
--- trunk/TTXSamples/TTXRecurringCommand/TTXRecurringCommand.c	2010-01-07 10:23:31 UTC (rev 3723)
+++ trunk/TTXSamples/TTXRecurringCommand/TTXRecurringCommand.c	2010-01-08 03:36:30 UTC (rev 3724)
@@ -16,6 +16,7 @@
 #define IdRecurringTimer 3001
 
 #define ID_MENU_SETUP 55500
+#define ID_MENU_CONTROL 55501
 
 #define SECTION "TTXRecurringCommand"
 
@@ -29,6 +30,7 @@
 	PReadIniFile origReadIniFile;
 	PWriteIniFile origWriteIniFile;
 	HMENU SetupMenu;
+	HMENU ControlMenu;
 	int interval;
 	BOOL enable;
 	int cmdLen;
@@ -390,10 +392,29 @@
 	UINT flag = MF_BYCOMMAND | MF_STRING | MF_ENABLED;
 
 	pvar->SetupMenu = GetSetupMenu(menu);
+	pvar->ControlMenu = GetControlMenu(menu);
 
 	InsertMenu(pvar->SetupMenu, ID_SETUP_ADDITIONALSETTINGS, flag, ID_MENU_SETUP, "Rec&urring command");
+
+	if (pvar->enable) {
+		flag |= MF_CHECKED;
+	}
+
+	InsertMenu(pvar->ControlMenu, ID_CONTROL_MACRO, flag, ID_MENU_CONTROL, "Rec&urring command");
+	InsertMenu(pvar->ControlMenu, ID_CONTROL_MACRO, MF_BYCOMMAND | MF_SEPARATOR, 0, NULL);
 }
 
+static void PASCAL FAR TTXModifyPopupMenu(HMENU menu) {
+	if (menu==pvar->ControlMenu) {
+		if (pvar->enable) {
+			CheckMenuItem(pvar->ControlMenu, ID_MENU_CONTROL, MF_BYCOMMAND | MF_CHECKED);
+		}
+		else {
+			CheckMenuItem(pvar->ControlMenu, ID_MENU_CONTROL, MF_BYCOMMAND | MF_UNCHECKED);
+		}
+	}
+}
+
 //
 // RecurringCommandÝ’èƒ_ƒCƒAƒƒO‚̃R[ƒ‹ƒoƒbƒNŠÖ”B
 //
@@ -461,6 +482,17 @@
 			break;
 		}
 		return 1;
+
+	  case ID_MENU_CONTROL:
+		pvar->enable = !pvar->enable;
+		if (pvar->enable) {
+			SetTimer(pvar->cv->HWin, IdRecurringTimer,
+			         pvar->interval * 1000, RecurringTimerProc);
+		}
+		else {
+			KillTimer(pvar->cv->HWin, IdRecurringTimer);
+		}
+		return 1;
 	}
 	return 0;
 }
@@ -476,7 +508,7 @@
 	TTXCloseTCP,
 	NULL, // TTXSetWinSize,
 	TTXModifyMenu,
-	NULL, // TTXModifyPopupMenu,
+	TTXModifyPopupMenu,
 	TTXProcessCommand,
 	NULL, // TTXEnd,
 	NULL, // TTXSetCommandLine,



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