C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[11375] Re:Hotkey 처리에 대해
박지훈.임프 [cbuilder] 1240 읽음    2001-09-23 04:22
임프랍니다.

프로젝트에 폼이 메인폼 하나뿐일 경우에는 아래 두분의 말씀처럼 해도 상관없습니다. 어플리케이션 자체가
활성화되어 있는 상태에서는 메인폼이 활성화되어 있으니까요.

하지만 폼이 둘 이상 한꺼번에 나타날 수 있는 상태라면, 메인폼이 아닌 폼이 활성화된 상태에서는 메인폼의
OnKeyDown 이벤트는 무용지물이 됩니다. 이런 경우에는 다른 방법을 써야 하지요.

두가지 방법이 있는데.. 한가지는 API 방식으로 RegisterHotKey() 함수를 써서 시스템 핫키를 설정하는
것입니다. 이 함수로 핫키를 등록하고나면 그 핫키를 누를 때마다 어플에 WM_HOTKEY 메시지가 전달됩니다.

이넘은 프로그램 핫키로 쓰기에는 좀 무리한 면이 있는데, 한번 핫키를 설정하면 설정한 프로그램이 활성
상태이든 아니든 관계없이 핫키가 먹습니다. 다른 어플리케이션이 활성화된 상태에서도
그 핫키가 먹으니, 잘 활용하면 편리하지만 일반적인 핫키 용도로는 그냥 못쓰고, 현재 어플의 활성화
상태를 체크해가면서 써야하지요.

다른 한가지 방법은 액션리스트를 쓰는 것입니다. 비교적 새로운 컴퍼넌트라 그런지 보통 액션리스트를 잘
안쓰는 경향이 있는데.. 이게 원래 메뉴 컴퍼넌트와 함께 사용하거나 대체하는 목적으로 만들어졌으므로
메뉴 컴퍼넌트와 사용법이 비슷한데가 많습니다. 핫키 설정도 숏컷 프로퍼티에 키 값을 넣어주면 그만입니다.
아주 편리하게 핫키를 설정할 수 있지요.

그럼 이만...


콩아 님이 쓰신 글 :
: 안냥하세요..
: 단축키를 만들어서 사용하려고 하는데요........ 좀 도와주세요!!!
: 예를 들어서 삭제(F11)로 만들면 자판에 있는 F11을 누르면 삭제버튼을 눌렀을 때와 똑같은 기능을 하게하고 싶거든요..
:
: 참고로 전 삭제는 버튼을 쓰지않고  레이블로 만들었슴다.
: 아시는 분 좀 알려주셔요!!!
:
: 수고하셔요!!!!
:

+ -

관련 글 리스트
11355 특정키를 만들어서....... T_T;;; 콩아 833 2001/09/22
11375     Re:Hotkey 처리에 대해 박지훈.임프 1240 2001/09/23
11359     Re:특정키를 만들어서....... T_T;;; 임선규 1030 2001/09/22
11357     Re:특정키를 만들어서....... T_T;;; 이창환 1010 2001/09/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.