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

C++빌더 Q&A
C++Builder Programming Q&A
[51181] Re:[질문]window hotkey 막을수 있나요?
장성호 [nasilso] 1401 읽음    2007-11-08 23:57
1.동작은?
보통  그런경우 Handled=true; 로 해서 처리합니다.
Handled 값이 처리전이라서 false인데 , 이 값을 true로 해주면 처리한것 처럼 됩니다.

문론 밑에 답변처럼 message 나 Param값을 바꿔도 가능합니다.

2. Ctrl+F4 가 되려면?
님에 코드는 그냥 F4나 F6도  Handled=true로 코드를 넣으면 막히게 되네요
Ctrl+F4 또는 Ctrl+F6의 경우에만 막으려면 현재 Ctrl 키가 눌려있는지 확인을 해 봐야겠죠?


    if(Msg.message == WM_KEYDOWN)
    {
        if(GetAsyncKeyState(VK_CONTROL)&&( (Msg.wParam == VK_F4) || (Msg.wParam == VK_F6)) )
        {
            Handled=true;
            return;
        }
    }

그럼..


unitas 님이 쓰신 글 :
: 프로그램을 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);

+ -

관련 글 리스트
51179 [질문]window hotkey 막을수 있나요? unitas 1163 2007/11/08
51182     Re:[감사] 두분 모두 감사합니다. - 2가지 너무 잘 되네요. unitas 1098 2007/11/09
51181     Re:[질문]window hotkey 막을수 있나요? 장성호 1401 2007/11/08
51180     Re:[질문]window hotkey 막을수 있나요? 시녕tm 1233 2007/11/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.