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

델파이 Q&A
Delphi Programming Q&A
[1250] [답변] 폭주족/ popup menu에 대해서
댁스터 [ ] 1836 읽음    1998-02-11 15:00
안녕하세요... 댁스터입니다...

아래 피아노맨님께서 답변을 해주셨는데... 한가지 빼먹으신 것 같아서요...

피아노맨님의 말씀이 맞습니다... 클라이언트 좌표계와 스크린 좌표계의 차이 때문

입니다...


Po.x := X + Panel1.Left;
  Po.y := Y + Panel1.Top;

위와같이 해주셔야 합니다...

Panel에서 OnMouseDown 이벤트핸들러로 넘어오는 X, Y값은 Panel내에서의 좌표입

니다... 그러므로 그냥 po.x와 po.y에 X, Y값을 넣어주면, 메인 폼에서 계산된

좌표에 팝업메뉴가 뜨죠... 그래서 Panel에 마우스가 눌린곳에서 팝업이 뜨게 할려

면 Panel.Left와 Panel.Top을 각각 X, Y에 더해주어야 합니다...

그럼 정확한 위치에 팝업이 뜨죠...

그런데 위 방법으로 꼭 하셔야 한다면 할 수 없지만 더 간단한 방법이 있어요..

Panel의 PopupMenu라는 속성에 팝업메뉴의 이름을 넣어 주면 이벤트 핸들러를 만들

필요 없이 그냥 오른쪽 버튼을 Panel위에서 누르면 팝업이 뜹니다... 아주 간단하죠

그럼 참고하세요...


                       THEXDER


+ -

관련 글 리스트
1250 [답변] 폭주족/ popup menu에 대해서 댁스터 1836 1998/02/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.