<address id="rf17h"><dfn id="rf17h"></dfn></address>
    <address id="rf17h"><var id="rf17h"></var></address> <sub id="rf17h"><var id="rf17h"><ins id="rf17h"></ins></var></sub><address id="rf17h"></address>

    <address id="rf17h"><listing id="rf17h"><ins id="rf17h"></ins></listing></address>

    <sub id="rf17h"><var id="rf17h"></var></sub>
    <sub id="rf17h"><var id="rf17h"><output id="rf17h"></output></var></sub>

      <address id="rf17h"></address>
      <sub id="rf17h"><var id="rf17h"></var></sub>
          <sub id="rf17h"><dfn id="rf17h"><ins id="rf17h"></ins></dfn></sub>

          如何在Delphi中禁用VCL样式

          我在Delphi XE2中使用新的VCL风格系统。它的功能非常好,但我希望禁用它的一个特定的形式,其上有一些图像(一个飞溅/关于表单)。问题是,我似乎找不到将其与特定样式相关联的窗体的属性,因此无法禁用该窗体。只有似乎是全局TStyleManager类似乎是静态的。

          考虑到这一点,实现这一点的唯一方法是调用TStyleManager.TrySetStyle(‘Windows’),显示窗体,然后在窗体关闭时将其设置回原始样式?

          VCL样式将皮肤应用于所有VCL应用程序,但您可以禁用特定控件类的VCL样式。因此,如果要禁用特定表单的VCL样式,可以使用传递表单类型的 RegisterStyleHook函数和作为空样式钩子类的TStyleHook类。

          这行代码将禁用所有类型为TFormChild的VCL样式:

          TStyleManager.Engine.RegisterStyleHook(TFormChild, TStyleHook);

          现在,如果您运行此代码,则表单的所有控件,TFormChild仍将使用VCL样式绘制,因此要修复,您必须使用此类技巧禁用表单的所有控件的默认样式钩子

          unit uChild;
          
          interface
          
          uses
            Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
            Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
          
          type
            TButton   = class(Vcl.StdCtrls.TButton); //This declaration is only for disabling the TButton of this form
            TFormChild = class(TForm)
              Button1: TButton;
            private
              { Private declarations }
            public
              { Public declarations }
            end;

          现在,您可以使用此代码禁用此表单的TButton的VCL样式

          TStyleManager.Engine.RegisterStyleHook(uChild.TButton, TStyleHook);

          如果您想了解有关使用TStyleHook类的更多信息,请查阅文章Exploring Delphi XE2 – VCL Styles Part II

          相关文章
          相关标签/搜索
          王中王中特免费公开资料选料 阿勒泰市| 曲松县| 翁牛特旗| 寿光市| 金坛市| 平武县| 保山市| 临夏市| 义乌市| 东至县| 宣城市| 长寿区| 绥中县| 双桥区| 台北县| 龙泉市| 峨边| 土默特左旗| 麻阳| 昌图县| 东台市| 浦城县| 东阳市| 托克逊县| 堆龙德庆县| 泾川县| 榆中县| 凌海市| 泊头市| 稻城县| 天镇县| 成都市| 斗六市| 浙江省| 金山区| 桂阳县| 班玛县| http://fa.hz0j0r2vo.fun http://fa.hz0j1r2vo.fun http://fa.hz0j1r4vo.fun http://fa.hz0j1r7vo.fun http://fa.hz0j2r4vo.fun