首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ActiveX弹出对话窗口在任务列表中隐藏IE

ActiveX弹出对话窗口在任务列表中隐藏IE
EN

Stack Overflow用户
提问于 2011-02-16 20:56:09
回答 1查看 497关注 0票数 0

这似乎只在IE6中发生。

我有一个用Delphi7编写的activex窗体。从IE6中的activex控件中打开的对话窗口显示在任务栏上-用户(出于某种原因)不希望对话框显示在任务栏中。

因此,我将对话的borderStyle设置为bsToolwindow。这将在任务栏中隐藏对话框,但也有一个副作用,即在窗口中的任务列表中隐藏IE,这意味着如果您使用Tab键离开,则无法返回到IE。

问:如何在任务栏中隐藏activex弹出对话框,但仍然在任务列表中列出IE6?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-16 23:49:57

将窗体的所有者窗口设置为activex窗体(或ie窗口)。你可以做到这一点。通过在创建窗体时将activex窗体作为所有者组件传递,并覆盖实例化窗体的CreateParams

代码语言:javascript
运行
复制
// in the activex form's unit
procedure TActiveFormX.Button1Click(Sender: TObject);
var
  f: TForm;
begin
  f := TForm1.Create(Self);
  f.BorderStyle := bsToolWindow;
  f.Show;
end;

// in the dialog unit
type
  TForm1 = class(TForm)
  private
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  [...]

[...]
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.WndParent := TCustomForm(Owner).Handle;
end;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5016683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档