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
[58113] 단축키를 등록했는데 폼이 Active상태가 아닌데도 단축키가 먹네요.
마이티마우스 [] 991 읽음    2009-08-20 14:19
단축키를 등록했는데 폼이 Active상태가 아닌데도 단축키가 먹네요.
현재 아래와 같이 소스 구성했구요.
void __fastcall TFrmMain::OnAppMessage( tagMSG &msg, bool &bHandled )
요 함수에서 뭔가를 해야 할것 같은데 잘 모르겠어요.
bHandled를 false로 해도 안되네요..
어떻게 해야 할까요?



const int DEF_VK_LEFT  = 0x1235;
const int DEF_VK_RIGHT = 0x1236;
const int DEF_VK_UP    = 0x1237;
const int DEF_VK_DOWN  = 0x1238;

bool IsActive ;

//---------------------------------------------------------------------------
void __fastcall TFrmMain::TFrmMain(void)
{
    IsActive = true ;
    Application->OnMessage = OnAppMessage;

    ::RegisterHotKey( Handle, DEF_VK_LEFT , 0, VK_LEFT );
    ::RegisterHotKey( Handle, DEF_VK_RIGHT, 0, VK_RIGHT);
    ::RegisterHotKey( Handle, DEF_VK_UP   , 0, VK_UP   );
    ::RegisterHotKey( Handle, DEF_VK_DOWN , 0, VK_DOWN );
}

//---------------------------------------------------------------------------
void __fastcall TFrmMain::OnAppMessage( tagMSG &msg, bool &bHandled ) //  <===== 요함수 안에서 뭔가를 해
                                                                                                                        //  줘야 할듯 한데 그걸 모르겠네요
{
    if( msg.message == WM_HOTKEY )   // 사용자 정의 핫키 처리부
    {
        if (IsActive)
        {
            switch( msg.wParam )
            {
                case DEF_VK_LEFT  : SelButton(5 );break ;
                case DEF_VK_RIGHT : SelButton(6 );break ;
                case DEF_VK_UP    : SelButton(7 );break ;
                case DEF_VK_DOWN  : SelButton(8 );break ;
            }
        }
    }
}

//---------------------------------------------------------------------------
void __fastcall TFrmMain::FormClose(TObject *Sender, TCloseAction &Action)
{
    ::UnregisterHotKey( Handle, DEF_VK_LEFT );
    ::UnregisterHotKey( Handle, DEF_VK_RIGHT);
    ::UnregisterHotKey( Handle, DEF_VK_UP   );
    ::UnregisterHotKey( Handle, DEF_VK_DOWN );
}

void __fastcall TFrmMain::FormActivate(TObject *Sender)
{
    IsActive = true ;
}

void __fastcall TFrmMain::FormDeactivate(TObject *Sender)
{
    IsActive = false ;
}

+ -

관련 글 리스트
58113 단축키를 등록했는데 폼이 Active상태가 아닌데도 단축키가 먹네요. 마이티마우스 991 2009/08/20
58114     Re:단축키를 등록했는데 폼이 Active상태가 아닌데도 단축키가 먹네요. 장성호 1107 2009/08/20
58115         Re:Re:단축키를 등록했는데 폼이 Active상태가 아닌데도 단축키가 먹네요. 마이티마우스 988 2009/08/20
58117             Re:Re:Re:단축키를 등록했는데 폼이 Active상태가 아닌데도 단축키가 먹네요. kylix 1219 2009/08/20
58119                 잘되네요 ^^ 감사합니다.(냉무) 마이티마우스 1027 2009/08/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.