gpt4 book ai didi

delphi - 嵌入式Word文档中的标题栏无响应

转载 作者:行者123 更新时间:2023-12-03 19:49:35 26 4
gpt4 key购买 nike

我想将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;


它可以将单词正确地输入我的表单中,并且看起来还可以。但是,单词应用程序的标题栏全为黑色,并且不响应鼠标单击。我的代码有什么问题?

最佳答案

从技术上讲,拥有Windows的跨进程父子关系可能是合法的,但管理起来非常困难,并且需要涉及的两个进程都注意这种情况。 Raymond Chen在其博客文章Is it legal to have a cross-process parent/child or owner/owned window relationship?中对此进行了详细解释。这种跨进程的关系很可能是您所面临问题的原因。

如果您试图使表格保持在Word之上,则可以基于Application.WindowActivate事件实现替代方法。每当激活Word窗口时,您都可以将自己的表单置于顶部,例如使用SetWindowPos

关于delphi - 嵌入式Word文档中的标题栏无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39094697/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com