Einzelnen Beitrag anzeigen

Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: VCL Styles setzen verursacht ListIndex über Maximum Fehler

  Alt 20. Dez 2011, 19:22
Das Ergebnis meiner Spielereien um mal die VCl-Styles auszuprobieren:
Delphi-Quellcode:
procedure TfrmMain.acStylesExecute(Sender: TObject);
var
  i: NativeInt;
  n: NativeInt;
  sl: TStringList;
  s: String;
begin
  dlgStyles := TdlgStyles.Create(self);
  try
    sl := TStringList.Create;
    n := Length(TStyleManager.StyleNames) - 1;
    for i := 0 to n do
    begin
      sl.Add(TStyleManager.StyleNames[i]);
    end;
    n := sl.Count - 1;
    sl.Sort;
    s := TStyleManager.ActiveStyle.Name;
    dlgStyles.lbxVCLStyles.Items.Clear;
    for i := 0 to n do
    begin
      dlgStyles.lbxVCLStyles.Items.Add(sl[i]);
    end;
    i := dlgStyles.lbxVCLStyles.Items.IndexOf(s);
    dlgStyles.lbxVCLStyles.ItemIndex := i;
    if dlgStyles.ShowModal = mrOk then
    begin
      i := dlgStyles.lbxVclStyles.ItemIndex;
      TStyleManager.TrySetStyle(dlgStyles.lbxVclStyles.Items[i]);
    end;
  finally
    FreeAndNil(dlgStyles);
  end;
end;
dlgStyles ist einfach eine Dialogbox mit einer Listbox lbxVclStyles und zwei Buttons btnOk und btnCancel. Das Ganze wird in einer Action acStyles gepackt.

Funktioniert bei mir ohne Probleme...

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat