![]() |
Abgeschnitten Formulare
Moin Moin.
Ich weiß nicht so recht ob ich mit der Frage in der richtigen Abteilung bin, Multimedia vielleicht.... VCL Anwendung, in der FormCreate
Delphi-Quellcode:
Es wird die Formulargröße definiert und dient dann der Positionierung auf dem Monitor. Die Property des Formulars Position steht auf poDefault, BorderStyle is bsSingle. Klappt anstandslos.MainForm.Width := 1680; MainForm.Height := 855; MainForm.Left := (ABS(Screen.Width - MainForm.Width) div 2); MainForm.top := (ABS(Screen.Height - MainForm.Height) div 2); Aber auf einigen wenigen unerer Monitore (alle zumindest Full-HD 1920*1024) werden so um die 20 Pixel unten abgschnitten, wobei die Form hübsch mittig sitzt. Was kann das sein? Die Treiber sind aktuell bei den fraglichen Geräten. creehawk Gehe ich über ClientHeight/Width ist das Problem auch da.... |
AW: Abgeschnitten Formulare
Welchen Wert hat in diesen Fällen denn Screen.Height?
|
AW: Abgeschnitten Formulare
Ich kann mich an nichts genaues mehr erinnern, aber ich habe solche Sachen aus dem
Delphi-Quellcode:
-Event üblicherweise so verschoben dass sie beim ersten Aufruf von
OnFormCreate
Delphi-Quellcode:
ausgeführt werden.
OnActivate
Vielleicht hilft es ja... |
AW: Abgeschnitten Formulare
Wäre ein
Delphi-Quellcode:
nicht zielführender?
Position = psScreenCenter
|
AW: Abgeschnitten Formulare
Zitat:
|
AW: Abgeschnitten Formulare
Vielen Dank für die Vorschläge!
Der erste Preis geht an @Der schöne Günther : den obigen Codeschnipsel in OnActivate verschoben. Das war's.:lol: Die Ausgabe der Formluarabmessungen zu verschiedenen Zeitpunkten gab übrigens immer das zurück was erwartet wurde. Besten Dank an alle! creehawk |
AW: Abgeschnitten Formulare
Zitat:
|
AW: Abgeschnitten Formulare
Zitat:
Zitat:
Da braucht man dann 'nen Schalter, der beim ersten Aufruf entsprechend gesetzt wird, so dass die Routine nachher nicht mehr aufgerufen wird. Dabei ist es dann egal, ob sie nach dem ersten Aufruf beim OnActivate oder beim OnShow nicht mehr aufgerufen wird ;-) Und das hat den Vorteil, dass das Fenster nach dem ersten Aufruf nicht mehr an dieser Stelle neu positioniert wird, wenn es zur Progammlaufzeit mal an 'ne andere Stelle verschoben wurde. Enthält das Ereignis OnActivate nur die Logik zur Positionierung, kann man statt 'nen Schalter zu benutzen auch einfach die Ereigniszuweisung entfernen
Delphi-Quellcode:
;-)
OnActivate := Nil;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 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