Q&A

  • [질문]HwpCtrl 컨포넌트
HwpCtrl를 컴포넌트에 등록시키는 거까지 성공하였고
폼위에 올렸습니다.
실행하면 오류 안나고 잘나옵니다.
하지만 HwpCtrl에 글을 적을수 없습니다.
혹시나해서 OpenDialog를 이용하여 한글파일을 불러오니 불러와졌습니다.
하지만 뷰어처럼 보이기만하고 글을 적을수 없습니다.
재가 HwpCtrl 잘못 등록한건가요?
조언부탁드립니다.
1  COMMENTS
  • Profile
    유경민 2009.07.04 06:32
    이곳 저곳 검색하다보니 델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번 쳐지는 경우가 있습니다. 고치는 방법을 찾으로 가야겠네요 퓽~!!