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 Formulargröße wird beim Programmstart geändert (https://www.delphipraxis.net/110322-formulargroesse-wird-beim-programmstart-geaendert.html)

M123 16. Mär 2008 16:06


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

http://www.delphipraxis.net/internal...t.php?t=123017

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

Der.Kaktus 16. Mär 2008 16:10

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?

taaktaak 16. Mär 2008 16:12

Re: Formulargröße wird beim Programmstart geändert
 
Hmm, das ist doch aber auch nicht wirklich eine Lösung, oder?

lbccaleb 16. Mär 2008 16:13

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..

sx2008 16. Mär 2008 16:14

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.

Der.Kaktus 16. Mär 2008 16:16

Re: Formulargröße wird beim Programmstart geändert
 
Zitat:

Zitat von taaktaak
Hmm, das ist doch aber auch nicht wirklich eine Lösung, oder?

ich glaub schon ;-) falls Du meine Ausfuehrung meintest!?

M123 16. Mär 2008 16:29

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 12:49 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