이곳 저곳 검색하다보니 델X당에서 나비스님의 글을 보고 고쳤습니다.
혹시 저랑 비슷한 경우에 처한분이 있을까봐 나비스님의 글을 남길께요.
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;
하지만 이소스로 하면 영타는 잘되는대 한글이 한박자식 느려 2번 쳐지는 경우가 있습니다. 고치는 방법을 찾으로 가야겠네요 퓽~!!
혹시 저랑 비슷한 경우에 처한분이 있을까봐 나비스님의 글을 남길께요.
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;
하지만 이소스로 하면 영타는 잘되는대 한글이 한박자식 느려 2번 쳐지는 경우가 있습니다. 고치는 방법을 찾으로 가야겠네요 퓽~!!