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
[993] [답변] HORONG/ Re..팝업메뉴를 안보이게 하려면..../프포
박지훈.임프 [cbuilder] 4171 읽음    1999-01-22 01:47
안녕하세요. 천리안 프로그래머포럼 C++Builder 담당자 임펠리테리입니다.

이미 나타난 팝업메뉴를 씐泳竄側?할 방법은 없는 걸로 알고있습니다. 굳이 편법을

써서라도 해야겠다면, emul_mouse() 였던가 api를 써서 메뉴 부분이 아닌 다른 폼의

영역을 클릭한것처럼 해주면 될겁니다. 하지만 이렇게 하더라도 시스템이 조금만

느려져도 메뉴가 그려졌다가 지워지는게 나타나서 보기가 상당히 좋지 않을텐데요.

그리고 메시지맵을 사용해서 한다면.. 클릭과 더블클릭을 구분하는 것은 어렵지 않을

것 같네요. 제가 알기로는... 예를 들어 오른쪽 버튼이라면, 더블클릭을 하면 다음과

같은 순서로 메시지가 발생하는 걸로 알고있습니다.

WM_RBUTTONDOWN -> WM_RBUTTONDBLCLICK -> WM_RBUTTONUP

그러니까, WM_RBUTTONDBLCLICK 메시지가 발생하면 더블클릭인 거죠.

아마도 트레이 아이콘의 클릭을 처리하기 위해 WM_RBUTTONDOWN 혹은 WM_RBUTTONUP

둘 중의 하나만 검사하신 것 같은데, 원칙적으로 '클릭' 이란 이 두가지 메시지가

모두 한 컨트롤에서 발생한 경우만 클릭으로 인정됩니다. 그리고 이 과정에서 만약

WM_RBUTTONDBLCLICK이 발생했다면 더블클릭인거죠.

그럼 참고하시길...



독립문에서 임펠리테리였습니다.

(cbuilder, cbuilder@thrunet.com)



+ -

관련 글 리스트
984 [질문] Re..팝업메뉴를 안보이게 하려면..../프포 horong 3871 1999/01/21
993     [답변] HORONG/ Re..팝업메뉴를 안보이게 하려면..../프포 박지훈.임프 4171 1999/01/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.