![]() |
Re: Form.Top und Height während des Verschiebens ermitteln
Hallo Freunde,
so jetzt weiss ich warum ich so verzweifelt bin... :wink: Ich habe bei meinem (schon etwas älterem) Laptop unter Systemsteuerung -> System -> Reiter "Erweitert" -> Systemleistung Einstellungen -> Visuelle Effekte den Haken bei "Für optimale Leistung anpassen" ausgewählt und dann funktioniert das alles nicht. Wichtig ist wohl der Haken bei "Fensterinhalt beim Ziehen anzeigen", denn wenn man den auswählt, funktioniert es. Kann man das zur Laufzeit des Programmes einschalten? Könnte man dem Benutzer ja per Checkbox auswählen lassen. Allerdings hab ich jetzt noch ein neues Problem. Wenn ich jetzt "Für optimale Darstellung anpassen" auswähle, verschwinden bei mir zwei Panels die eigentlich rechts und links unten jeweils ein Pixel vom Rand in der Form liegen zur Hälfte im unteren Bildschirmrand... :( Ich hatte ![]() Ich rede von den beiden grünen Punkten unten in der Form ohne Rahmen. Hat da jemand eine Idee zu? Nachtrag: Meine Panels verschwinden am unteren Bildrand, wenn unter Systemsteuerung -> System -> Reiter "Erweitert" -> Systemleistung Einstellungen -> Visuelle Effekte der Haken bei "Visuelle Stile für Fenster und Schaltflächen verwenden" ausgewählt ist. Muss man auf diese Einstellung irgendwie im Programm reagieren, damit alles richtig gezeichnet wird? Gruss, Andy. |
Re: Form.Top und Height während des Verschiebens ermitteln
Wenn das Fenster natürlich nicht gleich verschoben wird, dann ändert sich die Position ja auch nicht. Der Prozentsatz an PCs mit dieser Einstellung dürfte allerdings verschwindend gering sein. Was mich daran erinnert, dass ich da bei einer meiner Komponenten evtl. auch nicht 100% kompatibel dazu bin. ;-)
Bei den visuellen Stilen werden die Komponenten anders dargestellt, Panels z.B. transparent, alles mit abgerundeten Ecken, aber die Position sollte sich nicht ändern. Ein XP-Manifest bzw. die Komponente TXPManifest hast du aber drin? |
Re: Form.Top und Height während des Verschiebens ermitteln
Liste der Anhänge anzeigen (Anzahl: 2)
Die Ursache scheint folgender zu sein. Ich habe die visuellen Stile
unter Windows abgestellt und erstelle mein Formular. Ich positioniere die Panels am unteren Rand (Anchors: Left,bzw.Right und Bottom) und alles sieht gut aus. Läuft mein Programm jetzt auf einem PC mit visuellen Stilen ist der Rahmen breiter und um diese Differenz werden die Panels nach unten verschoben. Kann das sein? Anbei 2 Bilder. Gruss, Andy. |
Re: Form.Top und Height während des Verschiebens ermitteln
Das ist richtig, aber damit hatte ich nie Probleme, da ich die Komponenten nie direkt an den Rand gesetzt habe, es sei denn mit Align = alClient oder so. Ganz ohne Rand sieht das doch ohnehin meistens nicht gut aus. :stupid:
Außerdem gibt es das Problem auch nur bei älteren Delphiversionen, zumindest ab Delphi 2006 / Turbo Delphi ist das behoben... ;-) Deshalb könntest du evtl. einfach das kostenlose Turbo Delphi zumindest zum Kompilieren benutzen, welches im übrigen ohnehin sehr viel besser funktioniert und deutlich mehr Funktionen hat als die von dir angegebene Delphi 2005 PE (wo ich gedacht hätte, dass es da auch schon korrekt ginge). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:25 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