Announcement

Collapse
No announcement yet.

Farbe verändern ColorDialog

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Farbe verändern ColorDialog

    Hallo,

    mit der unten aufgeführten procedure kann ich den Hintergrund von Form2 farblich verändern. Kann man diese Einstellung beibehalten, so das nach dem Neustart des Programmes, die zuvor über die procedure eingestellte Farbe wieder angezeigt wird?.
    Kann man mir einen Tipp geben?. Vielen Dank ph

    procedure TForm2.Button2Click(Sender: TObject);

    begin

    if ColorDialog1.Execute then Form2.Color := ColorDialog1.Color;

  • #2
    Hallo Peter,

    Dazu mußt Du den Farbwert irgendwo speichern und beim Programmstart wieder einlesen. Die meisten Programme verwenden dazu die Registry von Windows. Du mußt Deine Routine folgendermaßen erweitern:<br>
    if ColorDialog1.Execute then <br>
    begin<br>
    Form2.Color := ColorDialog1.Color; <br>
    Reg := TRegistry.Create; <br>
    Reg.RootKey := HKEY_CURRENT_USER; <br>
    Reg.OpenKey('Software/Meine_Firma/Mein_Programm', True); <br>
    Reg.WriteInteger('Color', Form2.Color); <br>
    Reg.CloseKey; <br>
    Reg.Free; <br>
    end; <br>
    <br>
    In die Ereignisbehandlung OnActivate deines Forms schreibst Du: <br>
    Reg := TRegistry.Create; <br>
    Reg.RootKey := HKEY_CURRENT_USER; <br>
    Reg.OpenKey('Software/Meine_Firma/Mein_Programm', True); <br>
    Form1.Color := Reg.ReadInteger('Color'); <br>
    Reg.CloseKey; <br>
    Reg.Free; <br>
    end; <br>
    <br>

    Kann sein, das noch der eine oder andere Tippfehler drin ist, aber im Prinzip funktioniert es so.

    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Hallo Falk,

      ich bedanke mich für den Hinweis. Nachdem ich die procedure fertig erstellt habe wird der Wert
      zwar in die Registry geschrieben, beim Programmstart bleibt aber alles beim alten.

      Gruss p

      Comment


      • #4
        Hallo Falk,
        dummer Fehler von mir. Die procedure funktioniert wie gewünscht. Danke p

        Comment

        Working...
        X