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
[4619] Re:Re:[질문] popupmenu가 사라지지 않아요.도와 주세요..
[] 3175 읽음    2000-12-16 00:00
임프님의 답변 감사합니다.
일단 위 문제 대해서는 저나름대로 해결을 했습니다.
TRAYICON 1CIICK 이벤트에서 TRAYICON POPUPMENU 프로퍼티를
POPUPMENU2로 바꾸고 MOUSE_EVENT를 사용해 오른쪽 마우스버튼을 CIICK
하는 방법을 사용했습니다.
하지만 아래의 질문 내용에 대해 궁금증은 아직도 남내요...

: 쏭 님이 쓰신 글 :
: : popupmenu를 두개 만들고 rxlib의 trayicon을 이용해
: : 오른쪽 마우스 버튼은 popupmenu1을 왼쪽 마우스버튼은
: : popupmenu2를 popup시키려고 합니다.
: : 그런데 이 trayicon에서 오른쪽버튼을 누르고 menu가 뜬후
: : window의 바탕 화면등을 click하면 menu가 잘 사라지는데
: : 왼쪽 버튼을 누르고 menu가 뜬후 window의 바탕화면 등을
: : click하면 사라지기도 하고 남아있기도 합니다.
: : 왜 그럴까요...?
: : 다음은 tray icon의 1click 이벤트 입니다.
: : 무엇이 잘못되었는지 고수님의 조언 부탁 합니다.
: :
: : void __fastcall TForm1::RxTrayIcon1Click(TObject *Sender,
: : TMouseButton Button, TShiftState Shift, int X, int Y)
: : {
: : POINT Mspos;
: : GetCursorPos(&Mspos);
: : PopupMenu2->Popup(Mspos.x,Mspos.y);
: : }
: : 그리고 rxlib trayicon에서 오른쪽 마우스버튼의 1click 을 program 내부적으로 실행하는
: : 방법도 궁금 합니다.
:
:
:
: 임펠리테리입니다.
:
: 원래 Rx의 트레이아이콘 컴퍼넌트의 이벤트들(모두 마우스이벤트)은 팝업메뉴를 처리하기 위한 것이 아닙니다. 원래는 왼쪽이든 오른쪽이든 어떤 버튼을 눌러도 포커스가 바뀌었음을 감지하지 못합니다.
:
: 팝업메뉴를 처리하고 싶으시다면 단지 트레이아이콘 컴퍼넌트의 PopupMenu 프로퍼티에 팝업메뉴를 세팅하기만 하면 됩니다. 쏭님의 경우 오른쪽 버튼을 눌렀을 때는 포커스가 잘 이동한다고 말씀하신 것으로 보아 이미 팝업메뉴 프로퍼티에 잘 세팅해놓은 것 같네요. 그리고, 왼쪽 버튼을 눌렀을 때는 기본적으로 어떤 어플리케이션이든 팝업메뉴를 보이는 경우가 없는데 부자연스럽게 그렇게 하실 필요가 있을까요? 트레이아이콘을 쓰는 일반적인 유저인터페이스는, 마우스 왼쪽 버튼은 더블클릭 이벤트를 처리하기 위해 팝업메뉴를 보이지 않습니다. 더블클릭시에는 디폴트 팝업메뉴 아이템이 실행되도록 하는 것이 보통이죠.
:
: 그럼 참고하시길...
:

+ -

관련 글 리스트
4602 [질문] popupmenu가 사라지지 않아요.도와 주세요.. 3158 2000/12/14
4613     Re:[질문] popupmenu가 사라지지 않아요.도와 주세요.. 박지훈.임프 3407 2000/12/15
4619         Re:Re:[질문] popupmenu가 사라지지 않아요.도와 주세요.. 3175 2000/12/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.