| 805 |
} |
} |
| 806 |
} |
} |
| 807 |
|
|
| 808 |
|
// C-n/C-p をサポート (2007.9.4 maya) |
| 809 |
|
// ドロップダウンの中のエディットコントロールを |
| 810 |
|
// サブクラス化するためのウインドウプロシージャ |
| 811 |
|
static WNDPROC OrigHostnameEditProc; // Original window procedure |
| 812 |
|
static LRESULT CALLBACK HostnameEditProc(HWND dlg, UINT msg, |
| 813 |
|
WPARAM wParam, LPARAM lParam) |
| 814 |
|
{ |
| 815 |
|
HWND parent; |
| 816 |
|
int max_item, select_item; |
| 817 |
|
|
| 818 |
|
switch (msg) { |
| 819 |
|
// キーが押されたのを検知する |
| 820 |
|
case WM_KEYDOWN: |
| 821 |
|
if (GetKeyState(VK_CONTROL) < 0) { |
| 822 |
|
switch (wParam) { |
| 823 |
|
case 0x4e: // Ctrl+n |
| 824 |
|
parent = GetParent(dlg); |
| 825 |
|
max_item = SendMessage(parent, CB_GETCOUNT, 0, 0); |
| 826 |
|
select_item = SendMessage(parent, CB_GETCURSEL, 0, 0); |
| 827 |
|
if (select_item < max_item - 1) { |
| 828 |
|
PostMessage(parent, CB_SETCURSEL, select_item + 1, 0); |
| 829 |
|
} |
| 830 |
|
return 0; |
| 831 |
|
case 0x50: // Ctrl+p |
| 832 |
|
parent = GetParent(dlg); |
| 833 |
|
select_item = SendMessage(parent, CB_GETCURSEL, 0, 0); |
| 834 |
|
if (select_item > 0) { |
| 835 |
|
PostMessage(parent, CB_SETCURSEL, select_item - 1, 0); |
| 836 |
|
} |
| 837 |
|
return 0; |
| 838 |
|
} |
| 839 |
|
} |
| 840 |
|
break; |
| 841 |
|
|
| 842 |
|
// C-n/C-p の結果送られる文字で音が鳴るので捨てる |
| 843 |
|
case WM_CHAR: |
| 844 |
|
switch (wParam) { |
| 845 |
|
case 0x0e: |
| 846 |
|
case 0x10: |
| 847 |
|
return 0; |
| 848 |
|
} |
| 849 |
|
} |
| 850 |
|
|
| 851 |
|
return CallWindowProc(OrigHostnameEditProc, dlg, msg, wParam, lParam); |
| 852 |
|
} |
| 853 |
|
|
| 854 |
static BOOL CALLBACK TTXHostDlg(HWND dlg, UINT msg, WPARAM wParam, |
static BOOL CALLBACK TTXHostDlg(HWND dlg, UINT msg, WPARAM wParam, |
| 855 |
LPARAM lParam) |
LPARAM lParam) |
| 856 |
{ |
{ |
| 866 |
LOGFONT logfont; |
LOGFONT logfont; |
| 867 |
HFONT font; |
HFONT font; |
| 868 |
char uimsg[MAX_UIMSG]; |
char uimsg[MAX_UIMSG]; |
| 869 |
|
HWND hwndHostname; // HOSTNAME dropdown |
| 870 |
|
HWND hwndHostnameEdit; // Edit control on HOSTNAME dropdown |
| 871 |
|
|
| 872 |
GET_VAR(); |
GET_VAR(); |
| 873 |
|
|
| 945 |
|
|
| 946 |
SendDlgItemMessage(dlg, IDC_HOSTNAME, CB_SETCURSEL, 0, 0); |
SendDlgItemMessage(dlg, IDC_HOSTNAME, CB_SETCURSEL, 0, 0); |
| 947 |
|
|
| 948 |
|
// C-n/C-p のためにサブクラス化 (2007.9.4 maya) |
| 949 |
|
hwndHostname = GetDlgItem(dlg, IDC_HOSTNAME); |
| 950 |
|
hwndHostnameEdit = GetWindow(hwndHostname, GW_CHILD); |
| 951 |
|
OrigHostnameEditProc = (WNDPROC)GetWindowLong(hwndHostnameEdit, GWL_WNDPROC); |
| 952 |
|
SetWindowLong(hwndHostnameEdit, GWL_WNDPROC, (LONG)HostnameEditProc); |
| 953 |
|
|
| 954 |
CheckRadioButton(dlg, IDC_HOSTTELNET, IDC_HOSTOTHER, |
CheckRadioButton(dlg, IDC_HOSTTELNET, IDC_HOSTOTHER, |
| 955 |
pvar->settings.Enabled ? IDC_HOSTSSH : GetHNRec-> |
pvar->settings.Enabled ? IDC_HOSTSSH : GetHNRec-> |
| 956 |
Telnet ? IDC_HOSTTELNET : IDC_HOSTOTHER); |
Telnet ? IDC_HOSTTELNET : IDC_HOSTOTHER); |