|
프로그램을 MDI로 구성했습니다.
프로그램 구동후 Ctrl-F4, 혹은 Ctrl-F6을 클릭하면 Child Form 이 한번에 다 보이게 됩니다.
[Child Form은 실제로 1개만 보여야 합니다.]
계속 Ctrl-F4를 클릭하면 Child Form이 하나씩 없어집니다.
window hotkey를 검색해보니 Ctrl-F4 는
"동시에 여러 문서를 열 수 있는 프로그램에서 사용 중인 문서를 닫습니다." 라고 되어 있네요.
어떤분이 올려놓은 소스를 조금 바꿔서 아래처럼 했습니다.
ShowMessage("in"); 를 넣으면 메세지 뜨고 정상으로 됩니다.
막으면 위에 문제가 나타나구요. (메세지 같은거 보이면 안되거든요.)
강제로 Window hotkey를 막을수 있는 방법이 있나요?
void __fastcall TfrmMain::AppMessage(tagMSG &Msg, bool &Handled)
{
CtrlFlag = false;
if(Msg.message == WM_KEYDOWN)
{
if( (Msg.wParam == VK_F4) || (Msg.wParam == VK_F6) )
{
// ShowMessage("in");
return;
}
}
}
//---------------------------------------------------------------------------
CreateForm에 아래 1줄 입력
Application->OnMessage = AppMessage;
header file에 아래 입력
bool CtrlFlag;
void __fastcall AppMessage(tagMSG &Msg, bool &Handled);
|