|
푸른바다 님이 쓰신 글 :
: 폼을 죽이는 Alt+F4를 가로채고 싶습니다.
: 내가 원할 때만 실행되도록 하고 그렇지 않을경우 폼이 hide()되도록 할려고 하는데...
: 폼의 keydown event에서는 잡히지가 않아요...
:
: 그래서 Application의 OnMessage를 이용해서 가로챌려고하니..
: WM_SYSCHAR란 Message가 있더라구요...
: 근데 이걸 사용할려고 하니..여간 힘든게 아니네요..
: 어케 해야할지 감이 안잡히네요...
: 혹시 아시는분 답변좀 부탁드려요...
:
: 다른 방법이라도 좋으니 제발...부탁드려요...
우선 WndProc를 오버라이드 하세요
헤더 화일에 void __fastcall WndProc(Messages::TMessage&); 선언하시구요
void __fastcall TForm1::WndProc(TMessage& Msg)
{
if( Msg.Msg == WM_SYSKEYDOWN && Msg.WParam == VK_F4 )
return;
else TForm::WndProc(Msg);
}
이러면 ALT + F4키는 먹지 않는답니다,
API를 쓰셔도 되지만 너무 번거러울것 같군요
아님 저 메시지 하나만 잡으실 거라면 메시지 맵을 쓰시는것도 좋겠네요
도움 되시길..
|