|
Application->OnMessage 를 사용해 보시지요...
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Application->OnMessage = AppMessage;
}
void __fastcall TForm1::AppMessage(tagMSG &Msg, bool &Handled)
{
if(Msg.message==WM_RBUTTONDOWN){
POINT p;
GetCursorPos(&p); //커서 위치구하고
ScreenToClient(p); //좌표변환도 하고
pop1->popup(x,y);//팦업도 띄어주고 제약사항있으면 하고..
Handled = true;
}
}
현정환 님이 쓰신 글 :
: 안녕세요..
:
: Form 에서 팝업을 만들어서 Form 의 popupmenu 속성으로 사용했었는데..
:
: 그때는 폼 위에 어디를 오른쪽 클릭해도 (폼 위에 어떤 콤포넌트가 있던간에)
:
: 팝업이 떴었습니다. 근데 이 팝업놈을 어떤 조건에서는 뜨지 않게 하려고
:
: 하다가 어떻게 할 수 있을까 하다가.
:
: 폼의 mouseup 이벤트를 잡아서 마우스 오른쪽이고 어떤 조건에 맞는다면
:
: 팝업을 띄워주게 고쳤습니다..
:
: 근데 그렇게 하고 나니까 폼 위에 있는 어떤 콤포넌트 위에서는 오른쪽
:
: 클릭을 해도 안 먹더군요..
:
: 그래서 무식하지만 -.-;; 모든 콤포넌트의 mouseup 이벤트를 Form의
:
: 마우스up 이벤트랑 연결된 함수로 연결했습니다..
:
: 그랬더니 TreeView 같은 놈은 마우스 오른쪽을 더블클릭해야 팝업이 뜨더군요..
:
: 에겅.. 뭔가 좋은 방법이 없을까요..
:
|