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
[42019] [해결]Re:CppWebBorwser를 포함한 EXE에서 CppWebBrowser로 키이벤트보내기?
김찬성 [cskimair] 1227 읽음    2005-09-27 18:21
이 기능만 단위테스트(??)하면 이상없는데 이 소스를 메인소스에 붙이면
동작하지 않네요..쩝..

http://groups.google.co.kr/group/borland.public.cppbuilder.internet/browse_thread/thread/5f96ec0062bab92a/2a76492cfdebd1a0?lnk=st&q=CppWebBrowser++key&rnum=12&hl=ko#2a76492cfdebd1a0

여기 참조하시면 될겁니다..

메인에 머지하면 저는 안되니... 흐.. 머리아픕니다.. -.- 즐프....

In the Header file include in the private section the declaration:
---------------------------------------------------------------------------­-
-----
  void __fastcall OwnMessageHandler(tagMSG &Msg, bool &Handled);
  IOleInPlaceActiveObject *OleInPlaceActiveObject;


The messagehandler must be connected:
-----------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
  // Installation of an own Messagehandler to catch right mouse button
events
  // and to adjust problems with key input in TWebBrowser
  Application->OnMessage = OwnMessageHandler;



}


and now the Messagehandler itself:
--------------------------------------------------
void __fastcall TForm1::OwnMessageHandler(tagMSG &Msg, bool &Handled)
{
  if (Msg.message == WM_RBUTTONDOWN || Msg.message == WM_RBUTTONDBLCLK)
    Handled = true;
  else if (CppWebBrowser1 && (Msg.message == WM_KEYDOWN || Msg.message ==
WM_KEYUP) &&
   (Msg.wParam == VK_RETURN || Msg.wParam == VK_EXECUTE) )
  {
    Handled = IsDialogMessage(CppWebBrowser1->Handle, &Msg);
    if (Handled)
    {
      if (!OleInPlaceActiveObject)

CppWebBrowser1->Application->QueryInterface(IID_IOleInPlaceActiveObject,
(void **)&OleInPlaceActiveObject);
      if (OleInPlaceActiveObject)
        OleInPlaceActiveObject->TranslateAccelerator(&Msg);
    }
  }
  else
    Handled = false;



}

+ -

관련 글 리스트
41961 CppWebBorwser를 포함한 EXE에서 CppWebBrowser로 키이벤트보내기? 김찬성 920 2005/09/21
42019     [해결]Re:CppWebBorwser를 포함한 EXE에서 CppWebBrowser로 키이벤트보내기? 김찬성 1227 2005/09/27
41982     Re:CppWebBorwser를 포함한 EXE에서 CppWebBrowser로 키이벤트보내기? 아제나 1177 2005/09/22
42000         PostMessage(CppWebBrowser->Handle, WM_KEYDOWN, 'A', 0)도 안됩니다.. -.- 김찬성 1793 2005/09/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.