[Ttssh2-commit] [4650] ^a などの文字をパスワードに入力できるようにした

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2011年 9月 23日 (金) 23:30:48 JST


Revision: 4650
          http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=4650
Author:   maya
Date:     2011-09-23 23:30:48 +0900 (Fri, 23 Sep 2011)

Log Message:
-----------
^a などの文字をパスワードに入力できるようにした

Modified Paths:
--------------
    trunk/ttpmenu/ttpmenu.cpp
    trunk/ttpmenu/winmisc.cpp
    trunk/ttpmenu/winmisc.h


-------------- next part --------------
Modified: trunk/ttpmenu/ttpmenu.cpp
===================================================================
--- trunk/ttpmenu/ttpmenu.cpp	2011-09-23 07:52:26 UTC (rev 4649)
+++ trunk/ttpmenu/ttpmenu.cpp	2011-09-23 14:30:48 UTC (rev 4650)
@@ -650,6 +650,16 @@
 	return TRUE;
 }
 
+
+void init_password_control(HWND dlg, int item)
+{
+	HWND passwordControl = GetDlgItem(dlg, item);
+
+	SetWindowLong(passwordControl, GWL_USERDATA,
+	              SetWindowLong(passwordControl, GWL_WNDPROC,
+	                            (LONG) password_wnd_proc));
+}
+
 /* ==========================================================================
 	Function Name	: (BOOL) InitConfigDlg()
 	Outline			: Ý’èƒ_ƒCƒAƒƒO‚ð‰Šú‰»‚·‚éB
@@ -752,6 +762,8 @@
 	UTIL_get_lang_msg("DLG_CONFIG_DETAIL", uimsg, sizeof(uimsg), uitmp, UILanguageFile);
 	SetDlgItemText(hWnd, BUTTON_ETC, uimsg);
 
+	init_password_control(hWnd, EDIT_PASSWORD);
+
 	memset(&g_JobInfo, 0, sizeof(JobInfo));
 
 	::DeleteMenu(::GetSystemMenu(hWnd, FALSE), SC_MAXIMIZE, MF_BYCOMMAND);

Modified: trunk/ttpmenu/winmisc.cpp
===================================================================
--- trunk/ttpmenu/winmisc.cpp	2011-09-23 07:52:26 UTC (rev 4649)
+++ trunk/ttpmenu/winmisc.cpp	2011-09-23 14:30:48 UTC (rev 4650)
@@ -442,3 +442,21 @@
 
 	return TRUE;
 }
+
+LRESULT CALLBACK password_wnd_proc(HWND control, UINT msg,
+                                   WPARAM wParam, LPARAM lParam)
+{
+	switch (msg) {
+	case WM_CHAR:
+		if ((GetKeyState(VK_CONTROL) & 0x8000) != 0) {
+			char chars[] = { (char) wParam, 0 };
+
+			SendMessage(control, EM_REPLACESEL, (WPARAM) TRUE,
+			            (LPARAM) (char FAR *) chars);
+			return 0;
+		}
+	}
+
+	return CallWindowProc((WNDPROC) GetWindowLong(control, GWL_USERDATA),
+	                      control, msg, wParam, lParam);
+}

Modified: trunk/ttpmenu/winmisc.h
===================================================================
--- trunk/ttpmenu/winmisc.h	2011-09-23 07:52:26 UTC (rev 4649)
+++ trunk/ttpmenu/winmisc.h	2011-09-23 14:30:48 UTC (rev 4650)
@@ -44,5 +44,7 @@
 TCHAR	*lstrstri(TCHAR *s1, TCHAR *s2);
 void	UTIL_get_lang_msg(PCHAR key, PCHAR buf, int buf_len, PCHAR def, PCHAR iniFile);
 int		UTIL_get_lang_font(PCHAR key, HWND dlg, PLOGFONT logfont, HFONT *font, PCHAR iniFile);
+LRESULT CALLBACK password_wnd_proc(HWND control, UINT msg,
+                                   WPARAM wParam, LPARAM lParam);
 
 #endif



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