gpt4 book ai didi

delphi - 按 Alt 键清除嵌入的 TWebBrowser

转载 作者:行者123 更新时间:2023-12-03 15:55:29 25 4
gpt4 key购买 nike

我在 TForm 中嵌入了 TWebBrowser。每当我按下 Alt 按钮时,浏览器窗口就会变成白色。如果我拖动表单,它会正确重新绘制。

我做错了什么?

我有 DevExpress Bars 和 Quantum Grid,如果这很重要的话?

我使用 Delphi 2010 以及 Windows 7 和 XP SP2。 IE 版本为 7 和 8。在所有版本上均可重现。

按 Alt 之前: Before pressing the Alt

按 Alt 后:

After pressing Alt

我已经通过使用以下方法解决了这个问题:

procedure TMainForm.WndProc(var Message: TMessage);
begin
inherited WndProc(Message);
if Message.Msg = WM_UPDATEUISTATE then
begin
if Assigned(ProblematicWebBrowser) then
ProblematicWebBrowser.Repaint;
end;
end;

最佳答案

你没有说你正在使用什么版本的Delphi,你正在使用什么版本的Windows,或者你安装了什么版本的IE,即what TWebBrowser wraps 。 (一般来说,因为您是这里的新用户,所以在提出这样的问题时,您确实需要提供更多信息。假设是您的软件的用户报告了此错误 - 您会举起手说“呸,没有复制。为什么他们不能告诉我他们在做什么?”当我们阅读你的问题时也是如此。)

但是,也就是说,当您按 Alt 键时它会消失,这是一个提示。 Windows 有一个选项可以隐藏加速键(下划线标记,例如文件菜单上带下划线的 F),直到用户按下 Alt 键。当它出现时,控件将被发送 WM_DRAWITEM指示某些内容已更改的消息。另请参阅WM_CHANGEUISTATE .

过去版本的 Delphi 处理此问题 ( see this example bug ) 时存在错误,其中包括 controls completely vanished when the Alt key was pressed 的错误。 TWebBrowser 并未列在该 QC 项目中,但它很可能受到影响。

所以我的猜测是:

  • 您使用的是 Delphi 7 或更早版本
  • 您使用的是 XP 或更高版本,并且正在运行主题
  • 您遇到this bug ,这正在影响TWebBrowser 控件或其父控件

解决方案:升级 Delphi 或应用 the QC item 中列出的修复程序.

关于delphi - 按 Alt 键清除嵌入的 TWebBrowser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3680674/

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