开发者社区> 问答> 正文

Delphi MDI Application和MDI Children的标题栏

我有一个用Delphi 2006编写的MDI应用程序,该应用程序以默认主题运行XP。

有没有一种方法可以控制MDI Children的外观,从而避免每个窗口上都有大型XP样式的标题栏?

我已经尝试设置BorderStyle的MDIChildren到bsSizeToolWin,但他们仍然呈现正常的形态。

展开
收起
游客ufivfoddcd53c 2020-01-03 19:40:09 837 0
1 条回答
写回答
取消 提交回答
  • 您所有需要的-重载过程CreateWindowHandle,如下所示:

    unit CHILDWIN;
    interface
    uses Windows, Classes, Graphics, Forms, Controls, StdCtrls;
    
    type
      TMDIChild = class(TForm)
      private
        { Private declarations }
      public
        { Public declarations }
        procedure CreateWindowHandle(const Params: TCreateParams); override;
      end;
    
    implementation
    
    {$R *.dfm}
    procedure TMDIChild.CreateWindowHandle(const Params: TCreateParams);
    begin
      inherited CreateWindowHandle(Params);
      SetWindowLong(Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
    end;
    end.
    
    2020-01-03 19:40:26
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载