Ich möchte VCL Style's in meiner Anwendung verwenden. Ich habe einige Codes in Veranstaltungen OnShow, OnResize ...So deaktivieren Sie Ereignisse, wenn Laufzeit Delphi VCL Style ändert
Beim Wechsel Stil andere Form Ereignisse ausgelöst. (Technologieformulare, FormResize)
Wie Ereignisse, wenn sie auf Stil ändern deaktivieren.
Für Stil ändern i verwenden Code:
TStyleManager.TrySetStyle(cbStyles.Items[cbStyles.ItemIndex], True);
Beispielcode:
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;
Es gibt keinen automatischen Weg, dies zu tun. Sie müssen es selbst programmieren. Lassen Sie alle Ihre Ereignisse frühzeitig ausbrechen, indem Sie einen von Ihnen festgelegten Booleschen Wert testen. –