标签: vcl-styles

当vcl样式被激活时,我如何为我的应用程序的消息框设置外观?

我使用的是Application.MessageBox展现在我的VCL应用程序的消息,但是当应用程序有一个VCL样式应用显示与windows风格,而不是目前的VCL风格的消息窗口.

示例代码

 Application.MessageBox('Hello World', 'Hello', MB_OK + MB_ICONINFORMATION);
Run Code Online (Sandbox Code Playgroud)

示例图像

在此输入图像描述

如何显示当前vcl样式的消息框?

delphi delphi-xe2 vcl-styles

7
推荐指数
1
解决办法
2243
查看次数

是VclStyle Bug吗?TProgressBar.Style:= pbstMarQuee不起作用

是VclStyle Bug吗?T ^ TI试图找到BugFix列表(http://edn.embarcadero.com/article/42090/),但我不能

  1. 文件>新建> VCL应用程序
  2. TProgressBar把主窗体> TProgressBar.Style:= pbstMarQuee
  3. 项目选项>外观>设置自定义样式>设置默认样式
  4. Ctrl + F9

ProgressBar不起作用

抱歉.我的英语不好 :(

delphi delphi-xe2 vcl-styles

7
推荐指数
1
解决办法
2156
查看次数

Delphi XE2,如何在更改VCL样式后保持表单ON TOP

我在XE2遇到了一个奇怪的问题:

我正在使用HWND_TOPMOST和SetWindowPos将表单设置在顶部,但是如果我在运行时切换VCL样式,那么窗口不再是最顶层的,并且取消设置/重新设置它也不会修复它.

有任何解决这个问题的方法吗?

delphi delphi-xe2 vcl-styles

7
推荐指数
2
解决办法
1130
查看次数

TActionMainMenuBar,VCL-Styles和MDI按钮(最小化,关闭等)没有被设计样式.

我正在尝试制作TActionMainMenuBar显示风格的MDI按钮,就像TMainMenu一样.

VCL样式问题

有什么建议?我不能停止在这个项目中使用MDI.

delphi mdi vcl-styles delphi-xe3

7
推荐指数
1
解决办法
1001
查看次数

Delphi XE2样式:忽略主菜单

我已经在Delphi XE2中将样式应用于VCL应用程序,但它工作正常,但似乎主菜单忽略了样式.见附图.这是正常行为吗?在此输入图像描述

关于如何在主菜单中应用样式的任何建议?

delphi menu delphi-xe2 vcl-styles

7
推荐指数
1
解决办法
1256
查看次数

DLL中的VCL样式正在影响应用程序中的TMenuItem

我使用的是Delphi XE6和VCL样式.我有主要的应用程序和dll.我的主应用程序启用了运行时主题,我正在使用vcl样式文件.我对我的DLL做了类似的事情.我启用了运行时主题,并在其中添加了VCL.Themes,VCL.Styles以及其中包含VCL样式文件的资源文件.当加载DLL时,我从资源加载VCL样式并将其设置为DLL gui.主应用程序和DLL不是使用运行时包构建的.

现在我有主要的应用程序GUI风格与自己的风格和DLL gui风格也有自己的风格.这似乎工作正常,直到......

当我点击我的主应用程序中的按钮时,该事件打开TPopupMenu,它的样式与DLL GUI相同,而不是主应用程序样式.如果我浏览菜单,我也会得到AV并且程序崩溃.看一下附图.

我究竟做错了什么?我目前看到的唯一解决方法是使我自己定制的TPopupMenu来自其他一些控件.在此输入图像描述


正如我所承诺的,我准备了一个类似于我的应用程序的简单演示程序.它由具有自己样式的主机应用程序和添加到资源的样式的DLL组成.运行它并单击Popup按钮然后尝试从弹出窗口中选择一些内容.它会崩溃并停在一些StdWindowProc或类似的东西.此外,如果您在尝试从该菜单中选择某些内容时转到窗口系统菜单(左上角),您会注意到系统菜单的样式为DLL gui并且也崩溃了.链接到rar文件:dropbox.com/sh/f2jmbsmw18akpyg/AAA6SWdBmVhf6n6K-mvYLLmua?dl=0

在此输入图像描述

谢谢你的帮助.

delphi dll vcl vcl-styles delphi-xe6

7
推荐指数
2
解决办法
1610
查看次数

从样式Dialog/ShowMessage边框中排除VCL样式

有没有办法从样式化系统对话框的边框中排除VCL样式.

特别是通过调用MessageDlg或ShowMessage显示的对话框.

我读了一些关于"德尔福之路"的文章(这是一个很棒的网站顺便说一句)但找不到答案.

这是我想要实现的目标:

现在(带有样式边框的碳风格):

现在

目标(带标准窗口边框的碳风格):

在此输入图像描述

我仍然想要样式控件但没有样式边框.

seBorder从父表单中删除StyleElements不起作用.

在此输入图像描述

谢谢!

delphi vcl vcl-styles delphi-xe7

7
推荐指数
1
解决办法
1428
查看次数

使用VCL样式时,程序图标在标题栏中看起来很奇怪

在Windows 7 Pro 64位系统上使用Delphi XE7.如果我选择"Charcoal Dark Slate"VCL风格,那么从32x32程序图标缩小的16x16像素标题栏图标看起来并不像预期的那样. 在此输入图像描述

它应该看起来像下面的小图标.如果我以16x16像素格式加载程序图标,它在标题栏中看起来不错,但由于16到32像素的放大,在任务栏中看起来很难看.

delphi icons vcl-styles

7
推荐指数
2
解决办法
1180
查看次数

嵌入在DLL中的VCL-Styles?

如何在dll中嵌入Delphi XE2 VCL-Styles?在DLL项目的项目设置中看不到"应用程序 - 外观"页面.

我尝试在一个包含在$ R指令中的rc文件中定义它们,但是如果有更好的方法我想知道它.

RC文件示例:

GOLDENGRAPHITE VCLSTYLE "C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\Redist\styles\vcl\GoldenGraphite.vsf"
CARBON VCLSTYLE "C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\Redist\styles\vcl\Carbon.vsf"
Run Code Online (Sandbox Code Playgroud)

特别是必须指定XE2安装文件夹的完整路径是我想要避免的.

delphi delphi-xe2 vcl-styles

6
推荐指数
1
解决办法
3154
查看次数

我如何申请VCLStyle for TLinkLabel

我试图为TLinkLabel应用VCLStyle.

可悲的是,我无法显示下划线(标签的标签)

TLinkLabel.Caption := 'Sma<a>pl</a>e';
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

要解决这个问题,但是这个"Sample"可能不会出现标签 在此输入图像描述

procedure TgLinkLabelHook.Paint(Canvas: TCanvas);
var
  LDetails: TThemedElementDetails;
  ParseStr: String;
  DrawRect: TRect;
  DC: HDC;
  TextSize: TSize;
  SaveFont: HFont;
  ThemeTextColor: TColor;
begin
  ParseStr := ParseLinks;
  LDetails := StyleServices.GetElementDetails(tbPushButtonPressed);
  DC := GetDC(0);
  try
    SaveFont := SelectObject(DC, TLinkLabel(Control).Font.Handle);
    try
      GetTextExtentPoint32(DC, PWideChar(ParseStr), Length(ParseStr), TextSize);
    finally
      SelectObject(DC, SaveFont);
    end;
  finally
    ReleaseDC(0, DC);
  end;
  Canvas.Font := TLinkLabel(Control).Font;
  Canvas.Font.Style := Canvas.Font.Style + [fsUnderline];
  Canvas.Font.Size := TLinkLabel(Control).Font.Size;
  if StyleServices.GetElementColor(LDetails, ecBodyTextColor, ThemeTextColor) then
    Canvas.Font.Color := ThemeTextColor;
//  DrawRect := Rect(0, 0, TextSize.cx, TextSize.cy);
  DrawRect …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-xe2 vcl-styles

6
推荐指数
1
解决办法
999
查看次数

标签 统计

delphi ×10

vcl-styles ×10

delphi-xe2 ×6

vcl ×2

delphi-xe3 ×1

delphi-xe6 ×1

delphi-xe7 ×1

dll ×1

icons ×1

mdi ×1

menu ×1