私のプログラムの形で単語アプリケーションを埋め込みたいと思います。私は次のコードを使用しています:埋め込みワードドキュメント内のタイトルバーは応答しません
procedure TAMainForm.Button1Click(Sender: TObject);
var
WordApp: Variant;
WordHandle: THandle;
TempTitle: string;
begin
WordApp := CreateOleObject('Word.Application');
TempTitle := 'Temp - ' + IntToStr(Random(1000000));
WordApp.Caption := TempTitle;
WordHandle := FindWindow(nil, PChar(TempTitle));
WordApp.Visible := True;
Windows.SetParent(WordHandle, Handle);
SetWindowPos(WordHandle, 0, Left+20, Top+50, 700, 500, SWP_ASYNCWINDOWPOS);
end;
これは私のフォームに大丈夫と言います。ただし、アプリケーションのタイトルバーはすべて黒で、マウスのクリックに反応しません。私のコードで何が間違っていますか?
SetParentを使用している可能性はまったくありません。または実際には他の方法。クロスプロセスの子育ては、他のアプリに強制することはできません。それを放棄し、別のデザインを見つける。 https://blogs.msdn.microsoft.com/oldnewthing/20130412-00/?p=4683 –
Wordは、*エディタ*をCOMオブジェクトとして埋め込むことをサポートしています。 (または、とにかく、それは以前から使用されていました)*アプリケーション全体の埋め込みをサポートしていません。ユーザーがプログラムから離れることなくWord文書を編集できるようにするには、前者を調べます。 –