<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 XE2 VCL风格教程 – 如何在运行时更改样式

          有没有一个很好的VCL样式教程,我们看到如何动态(在运行时)加载/更改样式?
          我正在添加一个答案,因为本地信息通常仅仅是链接.

          在开始之前,您需要了解的主要事实:

          >许多VCL控件具有颜色属性,但是当样式打开时,这些属性将被忽略,而像Button这样的默认“常用控件”将由Delphi自己绘制,而不是使用XP或Windows 2000样式“自带窗户“.
          >不知何故,在您的应用程序中,VCL样式将挂钩插入绘制控件.它可以处理的一切,将使用常规控件顶部的“皮肤”绘制.许多人称之为“剥皮vcl”,在VCL风格之前,您可能已经找到了第三方皮肤系统.现在它内置了
          >任何不挂钩的东西,仍然会得到普通的风格.所以大多数第三方的控制,VCL的一些位将不会主题.不要期待完美的即时结果.此外,您有时会看到由于皮肤造成的瞬间闪烁或毛刺,这是预期的.在运行时加载样式,结果的最终质量是任何人的猜测.您不一定会保证在运行时加载的样式将包含您可能希望包含的所有内容.你也不能保证一个您静态地包含在您的应用程序中,但至少您静态包含的可以由您的质量检查团队(可能是您)进行验证.

          这里是最简单的开始步骤:只有步骤#2到#4是必不可少的.

          >单击文件 – >新 – > VCL表单项目.
          >右键单击“项目管理器”窗格中的项目选项,然后单击属性.导航到应用程序 – >出现
          >点击自定义样式将其打开. (Amakrits是我的列表中的第一个,所以我点击).
          >单击默认样式组合框并将其更改为默认值以外的其他内容.
          把东西放在你的表单上,所以它不是空的. (A按钮,列表框等).
          >运行你的应用程序

          现在,高级的东西:在运行时改变你的风格:

          我用这个按钮点击并创建formcreate来做到这一点:

          添加fdefaultStyleName:String;到您的表单的私人部分.

          确保Vcl.Themes在你的uses子句中.

          procedure TForm1.Button1Click(Sender: TObject);
          begin
           if Assigned(TStyleManager.ActiveStyle) and (TStyleManager.ActiveStyle.Name<>'Windows') then begin
             TStyleManager.TrySetStyle('Windows');
           end else begin
             TStyleManager.TrySetStyle(fdefaultStyleName); // whatever was in the project settings.
           end;
          
          end;
          
          procedure TForm1.FormCreate(Sender: TObject);
          begin
          if Assigned(TStyleManager.ActiveStyle) then
            fdefaultStyleName := TStyleManager.ActiveStyle.Name;
          
          end;
          相关文章
          相关标签/搜索
          王中王中特免费公开资料选料 德阳市| 株洲县| 富裕县| 宁化县| 五华县| 高安市| 仪陇县| 六盘水市| 木里| 凤凰县| 兰溪市| 陕西省| 霍山县| 乌拉特中旗| 昌吉市| 陕西省| 郸城县| 汝州市| 饶阳县| 肥东县| 苏尼特左旗| 台州市| 清河县| 龙里县| 丹棱县| 临澧县| 远安县| 通州市| 军事| 沈丘县| 绥江县| 秦皇岛市| 湖南省| 云南省| 楚雄市| 昌吉市| 孝昌县| http://fa.hz0j2r4vo.fun http://fa.hz0j0r5vo.fun http://fa.hz0j0r0vo.fun http://fa.hz0j2r6vo.fun http://fa.hz0j2r6vo.fun