![]() |
VCL Styles zeichnen teilweise unsauber
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
ich habe einer meiner Applikationen ein dunkles VCL-Style verpasst. Das funktioniert soweit auch alles. Leider werden die Ecken von Panels teilweise unsauber gezeichnet und es gibt unsaubere Kanten. Hier mal ein Beispiel was ich meine: Anhang 53374 (der weiße Punkt in der Mitte ist das Problem) Schalte ich meine Applikation in Vollbild ist alles gut. Das mache ich momentan so:
Delphi-Quellcode:
Wenn ich wieder zurück auf die normale Ansicht schalte bleibt auch alles gut. Die weißen Punkte sind verschwunden.
BorderStyle := bsNone;
// full-screen only possible if form is maximized if WindowState = wsMaximized then begin // detect the current monitor Monitor := Screen.MonitorFromWindow(Self.Handle); BoundsRect := Monitor.BoundsRect; end; Nun zu meiner Frage: Gibt es eine Möglichkeit das VCL-Style initial "richtig" zu zeichnen. Ist schlecht zu erklären und eine Dokumentation zu VCL-Styles ist praktisch nicht vorhanden (oder ich habe sie noch nicht gefunden). Viele Themen werden bei Emba gar nicht beschrieben oder mit dem altbekannten Satz "...verfügen derzeit über keine Informationen..." oder so ähnlich Kommentiert... Bin für jeden Tip, Hinweis, Idee etc. dankbar. Die App macht einfach einen unsauberen Eindruck wenn da nach dem Start überall solche Artefakte erscheinen. Alex |
AW: VCL Styles zeichnen teilweise unsauber
Von Styles und auch dem Selbstmalen im FMX war ich bisher immer nur enttäuscht. (überall unsaubere Probleme)
Klar, maximieren und zurück ist blöd, wenn der Nutzer das dann kurz sehen muß, aber versuchmal vor dem Anzeigen (Show bzw. Vibisle=True) die Form zu Zeichnen. -> vielleicht
Delphi-Quellcode:
im OnCreate
Self.PaintTo(EinBitmap.Canvas)
PS: Self.Monitor = Screen.MonitorFromWindow(Self.Handle) :zwinker: |
AW: VCL Styles zeichnen teilweise unsauber
Nur Interesse halber nachgefragt
warum self.* ist man eigentlich nicht schon der Eigentümer über "Monitor" wenn man es innerhalb der Classe TForm aufruft? |
AW: VCL Styles zeichnen teilweise unsauber
Vielleicht als "Dokumentation", damit man sieht, dass keine globale Variable Monitor gemeint ist?
Oder sicherheitshalber, falls mal jemand auf die saudumme Idee kommen würde und ein WITH drumrum baut. :lol: Aber ja, es geht auch ohne. PS: TMonitor in System.pas und anderes TMonitor in Vcl.Forms.pas ![]() |
AW: VCL Styles zeichnen teilweise unsauber
Zitat:
|
AW: VCL Styles zeichnen teilweise unsauber
Hi,
danke für die Antworten / Infos. Das mit PaintTo bringt nicht wirklich was. Irgendwie habe ich das Gefühl, es hat mit den Berechnungen der Koordinaten zu tun (Round...). Manche Panels ins korrekt, manche werden an den Rändern nicht sauber gezeichnet... Werde mal weiter versuchen. Wenn ich was habe poste ich es. Evtl. interessiert es ja jemand :-). Ach ja, soviel weiß ich schon: Wenn ich das Hauptfenster ohne Rahmen start (BorderStyle := bsNone), dann ist alles ok... Alex |
AW: VCL Styles zeichnen teilweise unsauber
Betrifft das alle Styles oder nur einen bestimmten?
|
AW: VCL Styles zeichnen teilweise unsauber
Ist bei allen Styles so...
Fällt halt nur bei den dunklen Styles wirklich auf, da es sich um helle Pixel handelt... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 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