Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Combobox Einstellungen Speichern

  Alt 21. Okt 2004, 08:55
Hai,
ich habe mal schnell das hier getippelt. Die Zuordnung welche ComboBox bei was die Farbe ändert mache ich einfach über die TAG-Eigenschaft der Combobox. Bei mir ist:

Tag = 0 = Memo1
Tag = 1 = ListBox1

Das sollte sich leicht erweitern lassen

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  ini : TIniFile;
begin
  ComboBox1.Clear;
  ComboBox2.Clear;
  ComboBox1.Items.AddObject('blau',TObject(clblue));
  ComboBox1.Items.AddObject('rot',TObject(clred));
  ComboBox1.Items.AddObject('grün',TObject(clgreen));

  ComboBox2.Items.Assign(ComboBox1.Items); // Einträge in zweite CB kopieren

  ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'farben.ini');
  try
    ComboBox1.ItemIndex := ini.ReadInteger('farben','memo1',0);
    ComboBox2.ItemIndex := ini.ReadInteger('farben','listbox1',0);
  finally
    ini.Free;
  end;

  ComboBox1.OnChange(ComboBox1); // Das OnChange auslösen
  ComboBox1.OnChange(ComboBox2);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
  ini : TIniFile;
begin
  ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'farben.ini');
  try
    ini.WriteInteger('farben','memo1',ComboBox1.ItemIndex);
    ini.WriteInteger('farben','listbox1',ComboBox2.ItemIndex);
  finally
    ini.Free;
  end;
end;

procedure TForm1.AlleComboBoxChange(Sender: TObject);
var
 myCombo : TComboBox;
begin
  mycombo := Sender As TComboBox;
  Case (myCombo.Tag) of
    0: Memo1.Color := TColor (myCombo.Items.Objects[myCombo.ItemIndex]);
    1: ListBox1.Color := TColor (myCombo.Items.Objects[myCombo.ItemIndex]);
  end;
end;
P.S.: Allen Comboboxen ist das selbe OnChange-Ereigniss zugewiesen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat