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
[17965] 두개의 폼에서의 방향키 제어 에러??
heartsim [] 1029 읽음    2002-04-26 14:08
안녕하세요.heartsim(박경원)입니다.

음...
두개의 폼이 있습니다.
하나는 메인폼이고 다른 하나는 동적폼입니다.
두개의 폼에 방향키를 입력받아서 위,아래,좌,우를 나타내는 방향버튼을 제어를 하고 있습니다.
가령,
메인폼과 동적폼에 아래의 방향키 메세지 함수를 똑같이 이용했습니다.

프로그램을 실행하면, 첨에 메인폼에서 방향키가 제어가 되고
그리고 동적폼을 쇼우모달폼으로 띄운 후 역시 방향키 제어가 됩니다.
그런데, 동적폼을 close시킨 다음 다시 메인폼에서 방향키를 제어할려고 하면
에러가 나더군요.

에러 메세지는 다음과 같습니다.cannot focus invisible or disable form





메인폼 경우,
void __fastcall TForm1::FormCreate(TObject *Sender)
{
        Application->OnMessage=AppMessage;<--------------이 부분이 ??
}

void __fastcall TForm1::AppMessage(tagMSG &Msg,bool &Handled)//OSD 방향키 기능
{
        if(Msg.message==WM_KEYDOWN)
        {
                switch(Msg.wParam)
                {
                        case VK_LEFT:
                                if(FlatButton1->Focused())//
                                {
                                        FlatButton2->SetFocus();
                                        Msg.wParam = 0;
                                }

          ..........

         }
}
void __fastcall TForm1::Osd1Click(TObject *Sender)
{
        OsdForm3=new TOsdForm3(Application);
        OsdForm3->ShowModal();
}





동적 하위폼
void __fastcall TOsdForm3::FormCreate(TObject *Sender)
{
        Application->OnMessage=AppMessage;<-----------이 부분???
}
void __fastcall TOsdForm3::AppMessage(tagMSG &Msg,bool &Handled)//OSD 방향키 기능
{
        if(Msg.message==WM_KEYDOWN)
        {
                switch(Msg.wParam)
                {
                        case VK_LEFT:
                                if(OsdFlatButton3->Focused())//
                                {
                                        OsdFlatButton2->SetFocus();
                                        Msg.wParam = 0;
                                }

          ..........

         }
}

void __fastcall TOsdForm3::OsdFlatButton1Click(TObject *Sender)//동적폼 close
{
        ModalResult=mrOk;

}


+ -

관련 글 리스트
17965 두개의 폼에서의 방향키 제어 에러?? heartsim 1029 2002/04/26
17968     Re:두개의 폼에서의 방향키 제어 에러?? 유영인 [Chris] 1279 2002/04/26
17970         아참 중요한거 하나 깜빡.. 유영인 [Chris] 1075 2002/04/26
17976             AppMessage 교체??? heartsim 1126 2002/04/26
17981                 Re:첨부 파일 유영인 [Chris] 1070 2002/04/27
17983                     관련 부분만 첨부했습니다.^^; heartsim 915 2002/04/27
17988                         Re:관련 부분만 첨부했습니다.^^; 유영인 [Chris] 938 2002/04/27
17990                             대단히 감사합니다.^^ heartsim 1003 2002/04/27
17979                 Re:AppMessage 교체??? 유영인 [Chris] 1158 2002/04/27
17966     Re:두개의 폼에서의 방향키 제어 에러?? 꼴(이성렬) 889 2002/04/26
17991         정말 감사합니다.^^ heartsim 989 2002/04/27
17967         Re:Re:두개의 폼에서의 방향키 제어 에러?? heartsim 1049 2002/04/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.