Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi EditBoxen frei verschiebbar (https://www.delphipraxis.net/59223-editboxen-frei-verschiebbar.html)

Knotti2005 19. Dez 2005 17:48


EditBoxen frei verschiebbar
 
Ich hab hier mehere EditBoxen ist es möglich das der Benutzer diese Frei verschieben kann?

MisterNiceGuy 19. Dez 2005 18:08

Re: EditBoxen frei verschiebbar
 
Ja das ist möglich und wie's geht steht hier:

GENAU HIER!

Knotti2005 19. Dez 2005 18:43

Re: EditBoxen frei verschiebbar
 
Danke :thumb:

Gibt es auch eine Möglichkeit diese Anordnung dann zu speichern und wieder zu laden...

Neotracer64 19. Dez 2005 18:46

Re: EditBoxen frei verschiebbar
 
Ja du merkst dir die Position beim Beenden und schriebst sie in eine INI. :)

Knotti2005 19. Dez 2005 18:47

Re: EditBoxen frei verschiebbar
 
Soetwas hatte ich schon probiert leider komme ich damidt zurecht kannst du mir einen Tipp geben wenn du Zeit hast...

Khabarakh 19. Dez 2005 18:56

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.

Knotti2005 19. Dez 2005 19:14

Re: EditBoxen frei verschiebbar
 
Hast du nen Code Beispiel daran lerne ich besser
....

torud 21. Dez 2005 13:27

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:
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;
Viel Spass damit


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz