gpt4 book ai didi

delphi - 将按键从 TWebBrowser 重定向到 ParentForm 的方法

转载 作者:行者123 更新时间:2023-12-01 19:23:18 25 4
gpt4 key购买 nike

第一个问题。如果需要,请帮忙格式化。

上下文
我的主窗体中有一个 TWebBrowser,它的行为就像打印机一样。
因此,当用户在真实打印机中执行一些命令时,我会在其中加载一些 HTML 文本...
我希望用户能够从 Web 浏览器中单击并选择文本。

问题
当用户在 Web 浏览器中单击时,从操作注册的某些快捷方式将不再起作用。例如,有一个带有快捷键 F7 的操作。如果用户单击 Web 浏览器并按 F7,它不会调用我的快捷方式。
我知道这是 WebBrowser 的设计。

所以,我想:我想将每个组合键发送回表单。
问题是:如何?
如果是另一个控件,我可以在 OnKeyDown 事件中使用 perform(WM_KeyDown,...)

替代方案或建议也将不胜感激。这两天我很累,所以我可能会错过一些东西。

最佳答案

使用 IDocHostUIHandler 的实现派生 TWebBrowser 或使用著名的 EmbeddedWB

通过在 TranslateAccelerator 中调用的事件 OnTranslateAccelerator 实现该接口(interface)

在您的浏览器实例上设置事件

像这样检测您的 key :

function TBrowserPageIE.DoTranslateAccelerator(const lpMsg: PMSG; const pguidCmdGroup: PGUID; const nCmdID: DWORD): HRESULT;
begin
result := S_FALSE;

if lpMsg.message = WM_KEYDOWN then begin
if lpMsg.wParam = VK_F7 then begin
// do something here...
result := S_OK;
end;
end;
end;

关于delphi - 将按键从 TWebBrowser 重定向到 ParentForm 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5796029/

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