【发布时间】:2016-11-29 06:09:00
【问题描述】:
我想在我的应用程序中使用 VCL 样式。 我在事件 OnShow、OnResize 中有一些代码...
当更改样式触发其他表单事件时。(FormShow, FormResize)
如何在更改样式时禁用事件。
为了改变风格,我使用代码:
TStyleManager.TrySetStyle(cbStyles.Items[cbStyles.ItemIndex], True);
示例代码:
procedure TForm1.AddLog(AMsg: String);
begin
if cbEnableLog.Checked
then Memo1.Lines.Append(AMsg);
end;
procedure TForm1.bChangeClick(Sender: TObject);
begin
TStyleManager.TrySetStyle(cbStyles.Items[cbStyles.ItemIndex],True);
end;
procedure TForm1.FormResize(Sender: TObject);
begin
AddLog('FormResize');
end;
procedure TForm1.FormShow(Sender: TObject);
begin
AddLog('FormShow');
end;
【问题讨论】:
-
没有自动的方法可以做到这一点。你必须自己编码。通过测试您设置的布尔值,让您的所有事件尽早退出。
标签: delphi delphi-xe3 vcl-styles