Я хочу внедрить приложение Word в форму моей программы. Я использую следующий код:Строка заголовка во встроенном документе Word не реагирует
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, не покидая вашу программу. –