반응형
// 핫키 설정 FormCreate 이벤트 RegisterHotKey(Handle, WM_USER + 1, MOD_CONTROL, Ord('1')); RegisterHotKey(Handle, WM_USER + 2, MOD_CONTROL, Ord('2')); RegisterHotKey(Handle, WM_USER + 3, MOD_CONTROL, Ord('3')); RegisterHotKey(Handle, WM_USER + 4, MOD_CONTROL, Ord('4')); RegisterHotKey(Handle, WM_USER + 5, MOD_CONTROL, Ord('5')); RegisterHotKey(Handle, WM_USER + 6, MOD_CONTROL, Ord('6')); RegisterHotKey(Handle, WM_USER + 7, MOD_CONTROL, Ord('7')); RegisterHotKey(Handle, WM_USER + 8, MOD_CONTROL, Ord('8')); RegisterHotKey(Handle, WM_USER + 9, MOD_CONTROL, Ord('9')) // 핫키 해제 FormDestroy 이벤트 UnRegisterHotKey(Handle, WM_USER + 1); UnRegisterHotKey(Handle, WM_USER + 2); UnRegisterHotKey(Handle, WM_USER + 3); UnRegisterHotKey(Handle, WM_USER + 4); UnRegisterHotKey(Handle, WM_USER + 5); UnRegisterHotKey(Handle, WM_USER + 6); UnRegisterHotKey(Handle, WM_USER + 7); UnRegisterHotKey(Handle, WM_USER + 8); UnRegisterHotKey(Handle, WM_USER + 9); // 함수 원형 선언 procedure OnWMHotKey(var Msg: TWMHotKey); message WM_HOTKEY; // 함수 구현 case Msg.HotKey of WM_USER + 1 : ShowMessage('Ctrl + 1); WM_USER + 2 : ShowMessage('Ctrl + 2); WM_USER + 3 : ShowMessage('Ctrl + 3); WM_USER + 4 : ShowMessage('Ctrl + 4); WM_USER + 5 : ShowMessage('Ctrl + 5); WM_USER + 6 : ShowMessage('Ctrl + 6); WM_USER + 7 : ShowMessage('Ctrl + 7); WM_USER + 8 : ShowMessage('Ctrl + 8); WM_USER + 9 : ShowMessage('Ctrl + 9); end;
여러가지 방법으로 단축키를 설정하는 방법(TMainMenu, TApplicationEvents Etc..)이 있지만, 이 방법도 있길래 써봤다.
위의 방법은 Ctrl이 기준인데, Alt나 다른것으로 하고 싶다면 3번째 인자값을 바꿔주면 된다.
반응형
'Programming > Delphi' 카테고리의 다른 글
폼이 서서히 나타나고 서서히 사라지기 (플래쉬효과) (0) | 2011.04.07 |
---|---|
FieldByName 포맷 설정하기 (0) | 2011.03.16 |
PostMessage 로 Tab, Shift+Tab 효과 내기 (0) | 2011.01.21 |
방향키로 에디트박스 포커스 이동하기 (0) | 2011.01.21 |
sleep 대체 함수 (0) | 2011.01.21 |