![]() |
Fehler beim Maximieren eines Delphi-Programmes unter Windows
Ich hab folgendes Phänomen:
Wenn ich unter Windows XP ein in Delphi 6 geschriebenes Programm auf Bildschirmgröße maximiere, dann ist die Breite korrekt, doch die Höhe nicht. Das Programm ordnet sich ganz unten hinter der Taskleiste an und läßt oben einen Spalt in der Höhe der Taskleiste frei. Woran liegt das ? |
Sicher, dass das nur bei Delphi-Programmen passiert? Klick mal mit der rechten Maustaste auf die Taskleiste und deselektiere "Taskleiste fixieren".
|
Taskleiste fixieren
Andere Programme passen sich automatisch der Größe an. Meine VB-Programme tun das ganz locker. Man kann doch nicht von jedem verlangen, erst "Taskleiste fixieren" abzuwählen, damit meine Delphi-Programme sauber laufen (oder doch) ?
|
Wenn ich "Taskleiste fixieren" nicht ausgewählt habe, dann ist bei jedem Fenster ein kleiner Rand zwischen Fenster und Leiste.
Anhand deines Posts nehm ich aber an, dass das nur bei selbstgeschriebenen Delphi-Apps passiert. Da weiß ich leider auch keinen Rat. |
Tests
Also ich hab verschiedene Programme asuprobiert und auch mal eben schnell eines neu gemacht. Der Effekt tritt nicht bei allen auf bzw. nur halb. Die Ursache habe ich bis jetzt nicht ermitteln können. Alle Programme, die sich zum größten Teil so verhalten, wurden unter Windows 2000 entwickelt. Unter XP entwickelte zeigen bisher nicht dieses Verhalten. Sind etwa einkompilierte DLL-Funktionen schuld oder werden die falschen Infos aus den Ressourcen gezogen bzw. gesetzt ? Ich weiß es nicht. Wie sooft wird das sicherlich eine unbedeutende Kleinigkeit sein, über die man Wochen später zufällig stolpern wird.
|
Ich hatte mal das gleiche Problem, allerdings unter Windows98. Bei mir hat da ein Neustart geholfen und seitdem ist es nicht mehr aufgetaucht, vielleicht hilft's ja bei XP immer noch :roll:
|
bei mir war das so als ich vom form position=poScreenCenter in Kombination mit WindowStyle=wsMaximized hatte. dann sah das maximierte fenster sehr komisch aus (von der höhe her)... (übrigens auch, wenn ich das fenster manuell maximierte)
|
Fenster maximieren
Weder Neustart, noch Änderungen am Handling der Positionierung von Fenster oder Fenstergröße bewirkten bei einigen Programmen Änderungen zur korrekten Positionierung (unter Windows 2000 kompilierte) bzw. provozierten das falsche Verhalten (unter XP kompilierte). Für mich sieht das nach einem Bug aus, denn sowohl Windows XP als auch Delphi 6 sind frisch und sauber installiert. Vielleicht hilft ein Update der Delphi-Runtime, das Borland zum Download anbietet.
|
Also ich glaub eher, dass das an deinem Projekt liegt..! Behandelst du irgendwo das OnResize/OnMaximize-Ereignis oder hast du Message-Handler für WM_SIZE/WM_WINDOWPOSCHAGED/WM_SYSCOMMAND o.ä. ?
|
Resize
Bei einigen ja, bei einigen nein.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:55 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 by Thomas Breitkreuz