我使用的是Application.MessageBox展现在我的VCL应用程序的消息,但是当应用程序有一个VCL样式应用显示与windows风格,而不是目前的VCL风格的消息窗口.
示例代码
Application.MessageBox('Hello World', 'Hello', MB_OK + MB_ICONINFORMATION);
Run Code Online (Sandbox Code Playgroud)
示例图像

如何显示当前vcl样式的消息框?
是VclStyle Bug吗?T ^ TI试图找到BugFix列表(http://edn.embarcadero.com/article/42090/),但我不能
ProgressBar不起作用
抱歉.我的英语不好 :(
我在XE2遇到了一个奇怪的问题:
我正在使用HWND_TOPMOST和SetWindowPos将表单设置在顶部,但是如果我在运行时切换VCL样式,那么窗口不再是最顶层的,并且取消设置/重新设置它也不会修复它.
有任何解决这个问题的方法吗?
我正在尝试制作TActionMainMenuBar显示风格的MDI按钮,就像TMainMenu一样.

有什么建议?我不能停止在这个项目中使用MDI.
我已经在Delphi XE2中将样式应用于VCL应用程序,但它工作正常,但似乎主菜单忽略了样式.见附图.这是正常行为吗?
关于如何在主菜单中应用样式的任何建议?
我使用的是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

谢谢你的帮助.
有没有办法从样式化系统对话框的边框中排除VCL样式.
特别是通过调用MessageDlg或ShowMessage显示的对话框.
我读了一些关于"德尔福之路"的文章(这是一个很棒的网站顺便说一句)但找不到答案.
这是我想要实现的目标:
现在(带有样式边框的碳风格):

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

我仍然想要样式控件但没有样式边框.
seBorder从父表单中删除StyleElements不起作用.

谢谢!
如何在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安装文件夹的完整路径是我想要避免的.
我试图为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 ×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