|
임프랍니다.
프로젝트에 폼이 메인폼 하나뿐일 경우에는 아래 두분의 말씀처럼 해도 상관없습니다. 어플리케이션 자체가
활성화되어 있는 상태에서는 메인폼이 활성화되어 있으니까요.
하지만 폼이 둘 이상 한꺼번에 나타날 수 있는 상태라면, 메인폼이 아닌 폼이 활성화된 상태에서는 메인폼의
OnKeyDown 이벤트는 무용지물이 됩니다. 이런 경우에는 다른 방법을 써야 하지요.
두가지 방법이 있는데.. 한가지는 API 방식으로 RegisterHotKey() 함수를 써서 시스템 핫키를 설정하는
것입니다. 이 함수로 핫키를 등록하고나면 그 핫키를 누를 때마다 어플에 WM_HOTKEY 메시지가 전달됩니다.
이넘은 프로그램 핫키로 쓰기에는 좀 무리한 면이 있는데, 한번 핫키를 설정하면 설정한 프로그램이 활성
상태이든 아니든 관계없이 핫키가 먹습니다. 다른 어플리케이션이 활성화된 상태에서도
그 핫키가 먹으니, 잘 활용하면 편리하지만 일반적인 핫키 용도로는 그냥 못쓰고, 현재 어플의 활성화
상태를 체크해가면서 써야하지요.
다른 한가지 방법은 액션리스트를 쓰는 것입니다. 비교적 새로운 컴퍼넌트라 그런지 보통 액션리스트를 잘
안쓰는 경향이 있는데.. 이게 원래 메뉴 컴퍼넌트와 함께 사용하거나 대체하는 목적으로 만들어졌으므로
메뉴 컴퍼넌트와 사용법이 비슷한데가 많습니다. 핫키 설정도 숏컷 프로퍼티에 키 값을 넣어주면 그만입니다.
아주 편리하게 핫키를 설정할 수 있지요.
그럼 이만...
콩아 님이 쓰신 글 :
: 안냥하세요..
: 단축키를 만들어서 사용하려고 하는데요........ 좀 도와주세요!!!
: 예를 들어서 삭제(F11)로 만들면 자판에 있는 F11을 누르면 삭제버튼을 눌렀을 때와 똑같은 기능을 하게하고 싶거든요..
:
: 참고로 전 삭제는 버튼을 쓰지않고 레이블로 만들었슴다.
: 아시는 분 좀 알려주셔요!!!
:
: 수고하셔요!!!!
:
|