|
아래와 같이 하면 됩니다.
if(Msg.message==WM_LBUTTONDOWN)에 잡고 싶은 메시지를 ||로 추가하면 되구요.
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Application->OnMessage = AppMessage;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::AppMessage(tagMSG &Msg, bool &Handled)
{
if(Msg.hwnd==Handle || GetParent(Msg.hwnd)==Handle){
if(Msg.message==WM_LBUTTONDOWN){
//여기에
//이전에 이 용도에 사용할 타이머를 시작시켰다면 먼저 멈춘 다음(Enabled=false;)
//원하는 만큼의 시간간격(Interval)을 가진 TTimer를 시작시키면 됨(Enabled=true).
//Handled=true; // Handled를 true를 하면 본래의 매시지 핸들러가 실행 안 됨.
}
}
}
//---------------------------------------------------------------------------
궁금이 님이 쓰신 글 :
: 앞전에 한 번 글을 올렸었는데 답글이 많지 않아서 다시 올립니다..
:
: >>김시환님 글 : 타이머에 시간을 정해놓고 타이머를 가동시킨 후 일정 시간이 되면
: >> 프로그램 종료 되도록 해 놓고 다른 컴포넌트에서 클릭이벤트 발생시 타이머 시간을
: >> 다시 초기화 시키면 어떨지 좀 무식한 방법인가??
:
: 김시환 님처럼 생각했었는데 다른 컴포넌트(Edit가 좀 많고 Button, Radio Button, Check Button 등등 많은 컴포넌트가 한 창에 존재)들의 클릭이벤트를 받으려니 넘 많아서 한번에 이런 이벤트를 받는 방법이 알고 싶습니다..
: 창에서 클릭이벤트를 받으니 다른 component를 클릭할 경우에는 클릭이벤트가 먹지 않더군요..
: 어쩌면 좋을까요?? 도와주세요...
: 정말 각 component의 클릭 이벤트를 모두 다 받는 방법 밖에는 없나요???
:
:
:
:
: : Form에 아무런 작업을 수행하지 않는 상태가 지속될 경우 자동으로 창을 close하는 방법 없나요?
: :
: : 일정한 시간동안 사용자로부터 키보드나 마우스 입력이 없는 이런 상태를 어떻게 알 수 있을까요??
: :
: : 고수님도 도와주세요..
: :
: : ===========================================================================
: :
: : 폼 위에 다른 component들이 많이 있을 때..
: :
: : 각 component들 모두 클릭 작업이 없을 때를 어떻게 알 수 있나요??
: :
: : 각각의 component들의 이벤트를 받는 방법 말고 한번에 폼 자체에서 알 수 있는 방법은 없을까요??
: :
:
|