![]() |
Formulargröße wird beim Programmstart geändert
Hallo DPler,
ich bin kürzlich von Delphi 3 auf Turbo Delphi umgestiegen. Dabei habe ich jetzt folgendes Problem: Ich erzeuge eine VCL-Formularanwendung für Win 32. Egal was ich als Left, Top, Width und Height des Formulars angebe, beim Start des Programms hat das Form immer die Werte Width = 320 Height = 240 Left und Top schwanken scheinbar zufällig und für mich nicht nachvollziehbar. Sie liegen weder immer auf dem gleichen Punkt noch auf dem, auf dem sie waren, als ich das Programm geschlossen habe. Das betrifft sowohl den Aufruf aus der IDE als auch den direkten Start der .exe. Ich habe schon diesen Thread gefunden ![]() Interessanterweise habe ich auch eine ATI-Grafikkarte mit Hydravision und regmon zeigt mir reihenweise Zugriffe auf die Registry, auch auf ein Hydravision-Verzeichnis. Leider finde ich aber keinen Schlüssel, aus dem ich die Formulargröße erkennen könnte bzw. wüsste ich auch nicht, wie ich das Problem damit lösen könnte (Schlüssel löschen? Hydravision deinstallieren?). Die Schlüssel, die hier m.E. vielleicht passen könnten, habe ich mal hier aufgeführt: 6.73290348 Project1.exe:5456 CreateKey HKCU\Software\ATI\HydraVision2k\Position Memory SUCCESS Access: 0x2000000 6.73292971 Project1.exe:5456 OpenKey HKCU\Software\ATI\HydraVision2k\Position Memory\TForm1 SUCCESS Access: 0x20019 6.73299646 Project1.exe:5456 QueryValue HKCU\Software\ATI\HydraVision2k\Position Memory\TForm1\LastPosition SUCCESS "88,116,408,356" 6.73301125 Project1.exe:5456 QueryValue HKCU\Software\ATI\HydraVision2k\Position Memory\TForm1\LastPosition SUCCESS "88,116,408,356" 6.73302984 Project1.exe:5456 QueryValue HKCU\Software\ATI\HydraVision2k\Position Memory\TForm1\LastStyle SUCCESS 0x6CF0000 6.73304367 Project1.exe:5456 QueryValue HKCU\Software\ATI\HydraVision2k\Position Memory\TForm1\NormalPosition SUCCESS "88,116,408,356" 6.73305607 Project1.exe:5456 QueryValue HKCU\Software\ATI\HydraVision2k\Position Memory\TForm1\NormalPosition SUCCESS "88,116,408,356" 6.73309183 Project1.exe:5456 CloseKey HKCU\Software\ATI\HydraVision2k\Position Memory\TForm1 SUCCESS 6.73310757 Project1.exe:5456 CloseKey HKCU\Software\ATI\HydraVision2k\Position Memory SUCCESS Zwar kann ich nachträglich zur Laufzeit Größe und Position ändern, aber das ist dann ja doch etwas komisch. Wie rey003 in dem Thread oben hat die Einstellung von Width und Height im OnCreate-Ereignis übrigens gar keine Wirkung. Ich hoffe, Ihr habt eine Idee für mich. Ich bin hier nämlich mit meinem Latein am Ende. Grüße Martin |
Re: Formulargröße wird beim Programmstart geändert
hallo,
was haeltst Du davon, im OI den Wert "Position" des Formulares auf z.b "poScreencenter"(etc.) zu setzen? |
Re: Formulargröße wird beim Programmstart geändert
Hmm, das ist doch aber auch nicht wirklich eine Lösung, oder?
|
Re: Formulargröße wird beim Programmstart geändert
genau, position auf dem screen festlegen und dann event im on create die breite und die höhe manuell noch mal festsetzen, dann sollte es eigentlich lappen..
|
Re: Formulargröße wird beim Programmstart geändert
Welchen Wert hat den das Property Position deines Formulars ?
Ich verwende hier sehr gerne den Wert poDefaultPosOnly. Würde aber pdDefault eingestellt sein, dann wäre dein beschriebenes Verhalten erklärbar. |
Re: Formulargröße wird beim Programmstart geändert
Zitat:
|
Re: Formulargröße wird beim Programmstart geändert
Wow! Das waren jetzt aber wirklich schnelle Antworten.
@sx2008: Da hatte ich tatsächlich gepennt. Mit poDesigned klappts. Mein Fehler. ABER mein Hauptproblem ist die GRÖßE des Formulars: Wie schaffe ich es, dass die Größe, die ich im OI eingestellt habe auch tatsächlich verwendet wird? @lbccaleb: Leider reagiert das Form nicht auf Änderungen von Width und Height im OnCreate-Ereignis. Ich hoffe, Ihr habt noch eine andere Idee. Grüße Martin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:40 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