Microsoft Bashing ?
Aber das ist ja auch was ganz anderes.
Aber egal. Gehen wir mal von den Fensterkoordinaten aus :
FormShow :
Delphi-Quellcode:
try
FensterIni := TIniFile.Create(FensterDateiName);
Left := FensterIni.ReadInteger(Name,'Left',Left);
Top := FensterIni.ReadInteger(Name,'Top',Top);
(*
Width := FensterIni.ReadInteger(Name,'Width',Width);
Height := FensterIni.ReadInteger(Name,'Height',Height);
*)
finally
FensterIni.Free;
end;
Jetzt fummelt da einer an den Forms rum und schiebt sie sinnlos durch die Gegend. Deshalb muß der letzte Zustand für den nächsten Programmstart wieder verfügbar sein. Also :
FormClose :
Delphi-Quellcode:
try
FensterIni := TIniFile.Create(FensterDateiName); //FensterDateiName));
FensterIni.WriteInteger(Name,'Left',Left);
FensterIni.WriteInteger(Name,'Top',Top);
(*
FensterIni.WriteInteger(Name,'Width',Width);
FensterIni.WriteInteger(Name,'Height',Height);
*)
finally
FensterIni.Free;
end;
Es wäre ein leichtes, da jetzt noch Voreinstellungen von Checkbooxen usw. unterzubringen. Und das Wort "Name" ist nicht zu unterschätzen ! Das´ist der Form-Name aus dem Quelltext und man braucht somit auch nur eine INI. Speichert man nun diese INI auch noch im User-Verzeichnis, dann kann jeder angemeldete Benutzer sich seinen eigenen Desktop zusammenbauen. Und ein Servicetechniker, der eventuell vor Ort was machen muß, der kann bei total verkorksten Einstellungen durch einfaches kopieren zumindest schnell wieder den Ursprungszustand wiederherstellen.