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

델파이 Q&A
Delphi Programming Q&A
[8498] Re:[질문] TWebBrowser에서 엔터키가 안먹나요?
류종택 [ryujt] 969 읽음    2002-11-27 14:32
    Procedure MessageLoop(var Msg:TMsg; var Handled:Boolean);
  public
    { Public declarations }
  end;

var
  fmWebModule: TfmWebModule;

implementation

{$R *.dfm}

Procedure TfmWebModule.MessageLoop(var Msg: TMsg; var Handled: Boolean);
Const
  DialogKeys : Set of Byte = [VK_RETURN];
  MSJVMClassName = 'MSAWT_Comp_Class';  // for Java Applets
Var
iOIPAO   : IOleInPlaceActiveObject;
Dispatch : IDispatch;
Str      : String;
begin
  // WebBrowser의 도큐멘트 표시 부분의 핸들이 아닌 경우에는 무시
  If Msg.hwnd <> FWebHandle then Exit;

  If ((Msg.Message = WM_KEYDOWN) or (Msg.Message = WM_KEYUP)) and
     (Msg.wParam in DialogKeys) then Begin
    Handled:= IsDialogMessage(WebBrowser.Handle, msg) = True;
    SetLength(Str, MAX_PATH);
    GetClassName(Msg.hwnd, PChar(Str), MAX_PATH);
    SetLength (Str, StrLen (PChar(Str)));
    if (Msg.wParam = VK_DELETE) and (Str = MSJVMClassName) then
    else
      if Handled then
        if FOleInPlaceActiveObject <> Nil then
          FOleInPlaceActiveObject.TranslateAccelerator(Msg)
        else
        begin
          Dispatch := IDispatch(WebBrowser.Application);
          if Dispatch <> Nil then
          begin
            Dispatch.QueryInterface(IID_IOleInPlaceActiveObject, iOIPAO);
            if iOIPAO <> Nil then
              FOleInPlaceActiveObject := iOIPAO;
          end;
        end;
  End Else Handled:= False;
End;

procedure TfmWebModule.FormCreate(Sender: TObject);
begin
  Application.OnMessage:= MessageLoop;
end;

+ -

관련 글 리스트
8497 [질문] TWebBrowser에서 엔터키가 안먹나요? 송득보 701 2002/11/27
8498     Re:[질문] TWebBrowser에서 엔터키가 안먹나요? 류종택 969 2002/11/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.