|
그 왕꼼수가 뭔지 궁금하네요.. 타이머인가요?
아! 그리고 개발툴은 C++Builder 6 입니다.
키 입력 그 엔터키는.. Msg.wParam == VK_RETURN을 받았을때 그냥 패스하느냐 뭔가 처리를 하느냐 에따라 다르네요.. 네이버를 예를 든다면..
엔터키를 입력받았을때 그냥 패스하게 하면 로그인은 엔터키가 먹히나 검색이 안먹히고요. 뭔가 처리하게 하면 그 반대로 검색은 먹히나 로그인에서 안먹히고 그럽니다. 원인이 무엇을까요?
-----추가 -----
타이머를 이용하여 님의 꼼수를 적용하니 진짜 알맹이가 사라지는 문제가 없어졌네요..
(타이머를 이용하여 2초 후에 Show를 하게 했습니다. 2초 지나면 창 보여주고 타이머 정지)
장성호 님이 쓰신 글 :
: 음...
: 해답이 아니라 그냥 참고만 하시라고..
: 제 경험을 적어 드립니다.
:
:
: 먼저 개발툴이 뭔지 궁금합니다.
: CBuilder6 인지 2007인지..
:
: 첫번째 질문
: 키 입력과 관련된 증상이 CBuilder6에서는 못본것 같은데.. 2007에서는
: 저도 한번 본적이 있었는데... 원인은 잘모르겠습니다.
:
:
: 그리고 두번째 질문..
: 팝업창에서 속에 알맹이인 WebBrowser가 안보이고 사라지는 현상은...
: 저도 종 겪었구요..
: Delphi7 , CBuilder6 등에서 격었네요. 2007은 테스트 해보지 않았구요..
: 여튼 이것도 원인을 못찻았구요
:
: 왕..왕꼼수로.. (쪽팔립니다만..)
: OnNewWindow2 이벤트에서
: * CppWebBrowser 가 올려진 Form을 하나 생성하고 ppDisp 를
: 새로 생성한 Form의 CppWebBrowser로 설정해주고..
: * 그리고 Form을 Show하잖아요
:
: 제가 한 꼼수는
: Form의 Show를 좀 늦게... 하면 그런 문제가 일단은 안보이더군요...
:
:
: 이런 왕꼼수를 얘기하려니.. 쪽팔리네요..
:
: 그래도 혹 도움이 될까해서 몇자 적어봅니다.
:
: 그럼..
:
:
:
:
: 나그네 님이 쓰신 글 :
: : 1. 아래와 같이..
: : void __fastcall TForm1::MyMessageHandler(TMsg &Msg, bool &Handled)
: : {
: : if ((Msg.message==WM_KEYDOWN || Msg.message==WM_KEYUP) && (Msg.wParam == VK_BACK || Msg.wParam == VK_TAB)) return;
: : Handled = IsDialogMessage(CppWebBrowser1->Handle, &Msg);
: : if (!Handled || CppWebBrowser1->Busy) return;
: : if ((Msg.message==WM_KEYDOWN || Msg.message==WM_KEYUP) &&
: : (Msg.wParam==VK_RETURN || Msg.wParam==VK_F5 || Msg.wParam == VK_DELETE || Msg.wParam == VK_CONTROL ||
: : Msg.wParam == Byte('X') || Msg.wParam == Byte('C') || Msg.wParam == Byte('V') || Msg.wParam == Byte('N') || Msg.wParam == Byte('A')
: : || Msg.wParam == Byte('S') || Msg.wParam == Byte('F') || Msg.wParam == Byte('R') || Msg.wParam == Byte('P'))){
: : if (FOleInPlaceActiveObject) FOleInPlaceActiveObject->TranslateAccelerator(&Msg);
: : else{
: : IDispatch *Dispatch = CppWebBrowser1->Application;
: : if(Dispatch){
: : IOleInPlaceActiveObject *iOIPAO;
: : Dispatch->QueryInterface(IID_IOleInPlaceActiveObject, (LPVOID *)&iOIPAO);
: : if(iOIPAO){
: : FOleInPlaceActiveObject = iOIPAO;
: : FOleInPlaceActiveObject->TranslateAccelerator(&Msg);
: : }
: : }
: : }
: : }
: : }
: : 안되는 키 되게 적용했는데요. 엔터키가 되는 곳이 있고 안되는 곳이 있고 그러네요.. 엔터키 어디서나 잘되게 하는 방법 없나요? (위 소스에 뭔가를 추가해야 된다든지..)
: :
: : 2.네이버 에서 로그인 안한 상태에서 카페 글같은거 볼려할때 로그인창 뜨 잖아요 그 창이 창은 뜨는데.. 속에 알맹이(CppWebBrowser1)가 사라지고 안보이네요.. 방법 없나요?
|