아낌없이주는나무 님이 쓰신 글 :
: 이전에 제가 만든 모듈에서 일부 발췌하여 exe를 만들어 보았습니다.
:
: 이렇게 동작하는게 맞는 것인지 모르겠네요.
:
: 간단히 MessageLoop 만 추가해서 처리했었습니다.
:
죄송하지만 이 exe 소스점 갈켜주시면 안될까요
TForm1 = class(TForm)
Hwp: THwpCtrl;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
FHwpEditHandle : HWND;
public
{ Public declarations }
procedure MessageLoop(var Msg: TMsg; var Handled: Boolean);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FHwpEditHandle:= FindWindowEx(Hwp.Handle, 0, 'HwpMainEditWnd', ''); //내부 한글 편집기의 핸들을 찾습니다.
Application.OnMessage:= MessageLoop; //애플리케이션 이벤트 루프를 이 함수로 대체합니다.
end;
procedure TForm1.MessageLoop(var Msg: TMsg; var Handled: Boolean);
begin
If (Msg.hwnd = Hwp.Handle) or (Msg.hwnd = FHwpEditHandle) then //메시지의 핸들이 한글 핸들인지 판단해서 한글 핸들이면 편집기로 메시지 전송
SendMessage(FHwpEditHandle, Msg.message, Msg.wParam, Msg.lParam);
end;
사용하니 한글이 한박자씩 느려서요.
|