![]() |
EditBoxen frei verschiebbar
Ich hab hier mehere EditBoxen ist es möglich das der Benutzer diese Frei verschieben kann?
|
Re: EditBoxen frei verschiebbar
|
Re: EditBoxen frei verschiebbar
Danke :thumb:
Gibt es auch eine Möglichkeit diese Anordnung dann zu speichern und wieder zu laden... |
Re: EditBoxen frei verschiebbar
Ja du merkst dir die Position beim Beenden und schriebst sie in eine INI. :)
|
Re: EditBoxen frei verschiebbar
Soetwas hatte ich schon probiert leider komme ich damidt zurecht kannst du mir einen Tipp geben wenn du Zeit hast...
|
Re: EditBoxen frei verschiebbar
Es sollte schon reichen, wenn du durch Components der Form iterierst und die Position jedes Edits speicherst (TPoint in typisierte Datei / Filestream). Da sich die Reihenfolge der Edits nach dem Speichern und vor dem Laden nicht ändert, werden die Positionen auch wider in der richtigen Reihenfolge zugewiesen.
|
Re: EditBoxen frei verschiebbar
Hast du nen Code Beispiel daran lerne ich besser
.... |
Re: EditBoxen frei verschiebbar
Ich habe mal ein kleines Beispiel zum Schreiben der Edits erstellt.
Vielleicht kannst Du damit ja was anfangen und daraus eine prozedure zum Einlesen herleiten? In diesem Beispiel siehst Du wie man die Edit-Daten lef und top in eine Ini schreibt und das ganze einfach beim Beenden des Programmes aufruft. Du müsstest nun eine Routine zum Laden schreiben und diese onActivate einbinden.
Delphi-Quellcode:
Viel Spass damit
uses
IniFiles; //wird benötigt zum schreiben von ini´s var App_Pfad:String; //globale Variable procedure TForm1.FormCreate(Sender: TObject); begin App_Pfad:=ExtractFileDir(Application.ExeName); if not(AnsiLastChar(App_Pfad)='\') then App_Pfad:=App_Pfad+'\'; end; procedure TForm1.SaveEdits; var ini:TIniFile; i:integer; begin ini:=TIniFile.Create(App_Pfad+'settings.ini'); for i:=0 to ComponentCount-1 do begin if (Components[i] is TEdit) then begin ini.WriteInteger(Components[i].Name,'left',(Components[i] as TEdit).Left); ini.WriteInteger(Components[i].Name,'top',(Components[i] as TEdit).Top); end; end; end; procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin SaveEdits; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz