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
[9181] Re:[질문] 코드 해석좀 부탁드립니다. 죄송해요..
박지훈.임프 [cbuilder] 887 읽음    2004-04-24 05:15
밑도 끝도 없이, 뭐하는 코드인지도 알려주지 않고 해석해달라니요. --;;
살펴보니 TWebBrowser 컴포넌트에서 일부 키들이 안먹는 걸 해결하기 위한 코드이군요.
이 코드는 별 생각 없이 써도 상관없는 코드이고, 수정할 일도 없을 겁니다.

어디서부터 어디까지 모르시는 건지 조금도 알려주시지 않으셨으니 답변으로 강좌를 쓸 수도 없고...
참고할 만한 것들을 알려드리지요.

포럼 사이트 내에도 이 소스가 몇번 언급된 곳이 있습니다.
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=6289

위 글에도 있지만 이 소스의 최초 출처는 HHF Innovations(http://members.shaw.ca/iedelphi/)라는 사이트입니다.
그리고 해당 소스가 있는 구체적인 위치는, http://members.shaw.ca/iedelphi/webbrowser.htm#bugs2 이고요.

다음 문서도 참고하세요.
http://support.microsoft.com:80/support/kb/articles/q168/7/77.asp&NoWebContent=1&NoWebContent=1


꼬꼬닭 님이 쓰신 글 :
: 코드 해석좀 부탁드립니다. 첨보는 코드인지라.  죄송합니다.
:
: type
:   Tfrm = class(TForm)
:
:  private
:     FOleInPlaceActiveObject: IOleInPlaceActiveObject;
:
: end;
:
: procedure Tfrm.FormActivate(Sender: TObject);
: begin
:  Application.OnMessage := MessageLoop;
: end;
:
:
: procedure Tfrm.MessageLoop(var Msg: TMsg; var Handled: Boolean);
:
: const
:     DialogKeys: set of Byte = [VK_TAB, VK_RETURN, VK_DELETE, VK_EXECUTE, VK_ESCAPE, VK_CANCEL,
:                                VK_UP, VK_DOWN, VK_LEFT, VK_RIGHT, VK_F10, VK_TAB];
:     MSJVMClassName = 'MSAWT_Comp_Class'; // for Java Applets
: var
:     iOIPAO : IOleInPlaceActiveObject;
:     Dispatch: IDispatch;
:     Str : String;
: begin
:     if (WebBrowser1 <> nil) and((Msg.Message = WM_KEYDOWN) or (Msg.Message = WM_KEYUP)) and
:     (Msg.wParam in DialogKeys) then
:     begin
:       Handled := IsDialogMessage(WebBrowser1.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 := WebBrowser1.Application;
:           if Dispatch <> nil then
:           begin
:               Dispatch.QueryInterface(IOleInPlaceActiveObject, iOIPAO);
:               if iOIPAO <> nil then FOleInPlaceActiveObject := iOIPAO;
:           end;
:       end;
:     end else Handled := False;
: end;

+ -

관련 글 리스트
9179 [질문] 코드 해석좀 부탁드립니다. 죄송해요.. 꼬꼬닭 759 2004/04/23
9181     Re:[질문] 코드 해석좀 부탁드립니다. 죄송해요.. 박지훈.임프 887 2004/04/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.