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 Spezielle Titelleiste bei Windows 7 (https://www.delphipraxis.net/167731-spezielle-titelleiste-bei-windows-7-a.html)

MiKaEr 15. Apr 2012 14:25

Spezielle Titelleiste bei Windows 7
 
Liste der Anhänge anzeigen (Anzahl: 1)
hallo, ich frage mich schno lange zeit wie genau man eigentlich diese spezielle windows 7 (vista evtl auch) titelzeile mit delphi implementieren kann.
gibt es dafür vorgefertigte klassen oder ähnliches?

hier ein screenshot:

mkinzler 15. Apr 2012 14:36

AW: Spezielle Titelleiste bei Windows 7
 
Was meinst du? Glasframe?

MiKaEr 15. Apr 2012 14:43

AW: Spezielle Titelleiste bei Windows 7
 
in dieser "speziellen" titelzeile ist ein zurück-knopf und die titelzeile ist ansich viel höher als eine normale titelzeile.

edit:
hat sich erledigt.
GlassFrame
- Enabled = True
- Top = 50

den button muss man wohl selbst hinsetzen

himitsu 15. Apr 2012 14:46

AW: Spezielle Titelleiste bei Windows 7
 
Vorgefertigt ja, also in neueren Delphis ist das Glass-Feature in der TForm schon eingebaut.

[edit]
Manchmal wünschte ich, ich währe schneller und wir hätten eine Redbox, die mich warnt.

MiKaEr 15. Apr 2012 14:47

AW: Spezielle Titelleiste bei Windows 7
 
meine lösung funktioniert aber nicht zu 100%.

meine caption ist oben. im original ist sie unten.

himitsu 15. Apr 2012 14:49

AW: Spezielle Titelleiste bei Windows 7
 
Der Button erinnert mich irgendwie an die Ribbons.

Daniel 15. Apr 2012 14:51

AW: Spezielle Titelleiste bei Windows 7
 
Unter der Bezeichnung "Bei Google suchenAero Wizard" findet sich mehr zu dem Thema. Ribbons scheinen eine andere Baustelle zu sein.

Codehunter 18. Apr 2012 10:17

AW: Spezielle Titelleiste bei Windows 7
 
Mal so bescheiden in den Raum hinein gefragt: Kann man den Glass-Krams auch mit älteren Delphis (7 Pro) implementieren?

jaenicke 18. Apr 2012 10:43

AW: Spezielle Titelleiste bei Windows 7
 
Kann man, aber das ist dort logischerweise ein wenig Aufwand. Stichwort DwmExtendFrameIntoClientArea:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Allerdings gibt es bei Delphi 7 Anwendungen ab Vista ja auch noch diverse andere Probleme (Randberechnung, Vorschauanzeige, ...), insofern ist die Frage, ob sich der Aufwand lohnt...

himitsu 18. Apr 2012 10:50

AW: Spezielle Titelleiste bei Windows 7
 
Natürlich geht das.
Im MSDN steht drin, was du alles machen mußt.

(Es sei denn jemand hat das für dich schon gemacht und stellt es als fertige Komponente irgendwo bereit)



[edit]
Komisch, grad eben war noch keine neue Antwort zu sehn. :shock:

Zitat:

Allerdings gibt es bei Delphi 7 Anwendungen ab Vista ja auch noch diverse andere Probleme (Randberechnung, Vorschauanzeige, ...), insofern ist die Frage, ob sich der Aufwand lohnt...
Unsichtbare Buttons. :stupid:

Codehunter 19. Apr 2012 10:44

AW: Spezielle Titelleiste bei Windows 7
 
Zitat:

Zitat von jaenicke (Beitrag 1162484)
Allerdings gibt es bei Delphi 7 Anwendungen ab Vista ja auch noch diverse andere Probleme (Randberechnung, Vorschauanzeige, ...), insofern ist die Frage, ob sich der Aufwand lohnt...

Also ich habe ehrlich gesagt noch keine Probleme feststellen können. Eher dann, wenn ich D7-Anwendungen unter XP öffne, welche dann manchmal aus der ClientArea "hinauslaufen". Also habe ich mir angewöhnt, gründlicher in Sachen Align und Anchors hinzuschauen bei der Entwicklung und seitdem ist Ruhe an der Baustelle.

In Sachen Vorschauanzeige (gemeint ist sicherlich das Thumbnail vom Fenster was erscheint wenn man in der Win-7-Superbar (Taskleiste) die Maus über einem Button stehen lässt) konnte ich ebenfalls noch keine Probleme feststellen.

Aber wie gesagt, ich habe auch noch nichts in Sachen "Glass" unternommen. Vielleicht hapert es ja dann... Wobei ich keinen praktischen Nutzen von Glass sehe sondern eigentlich nur Platzverschwendung, etwas kompensiert durch die exorbitanten Auflösungen heutiger Bildschirme und Grakas.

Auf Anwenderseite sehe ich in letzter Zeit immer öfter, dass die Leute gar nicht mehr die native Auflösung ihres Monitors fahren sondern darunter bleiben und hochskalieren lassen. Denen ist schlichtweg die Schrift zu klein. Da wird sogar die qualitative Schwäche des Bildskalierers im Monitor in Kauf genommen.

Ok, sei's drum, ich werd mir bei passender Langeweile die Grundlagen zu Glass @ Delphi 7 mal anschauen :-)

Grüße
Cody

jaenicke 19. Apr 2012 11:24

AW: Spezielle Titelleiste bei Windows 7
 
Zitat:

Zitat von Codehunter (Beitrag 1162645)
Also ich habe ehrlich gesagt noch keine Probleme feststellen können. Eher dann, wenn ich D7-Anwendungen unter XP öffne, welche dann manchmal aus der ClientArea "hinauslaufen".

Das ist genau eines der Probleme. Delphi 7 hat die äußere Größe gespeichert. Beim Laden wird diese nun gesetzt. Wenn du nun unter Vista oder höher entwickelst, hat der Rand in der Regel 8 Pixel, unter XP aber in der Regel nur 2...
Deshalb gibt es für unter Vista oder höher kompilierte Anwendungen unter XP Probleme und umgekehrt.

Das kann man lösen, wenn man mit Align, Anchors usw. arbeitet und diese gut setzt, aber das sind eben nur Workarounds. Der eigentliche Fehler bleibt dennoch.

himitsu 19. Apr 2012 12:56

AW: Spezielle Titelleiste bei Windows 7
 
Mit Anchors kann man sehr gut arbeiten, allerdings muß man dafür auf die Form z.B. ein TPanel mit alClient und ohne Rahmen legen
und dann alles Andere dort rein, anstatt auf die Form.
Ist nur etwas umständlich in der Verwendung.

Ich nutze noch ein paar meiner alten D7 Anwendungen (hab nur leider keinen funktionierenden Quellcode mehr davon und keine Zeit/Lust die neu zu schreiben).
Das Problem mit dem Align und den verschwundenen Buttons taucht da eigentlich sehr oft auf.

jaenicke 19. Apr 2012 13:07

AW: Spezielle Titelleiste bei Windows 7
 
Die Buttons verschwinden meistens, wenn man Alt drückt. Wenn man DoubleBuffered auf True hat, wird der Rand auch oft unschön schwarz.
(Alles bei D7 natürlich, nicht bei einigermaßen aktuellen Versionen)

Codehunter 19. Apr 2012 15:29

AW: Spezielle Titelleiste bei Windows 7
 
Wie gesagt, ordentlich mit Align und Anchors gearbeitet und man hat viele Probleme nicht. Das hab ich mir aber schon zu 98-Zeiten angewöhnt als diese lästige systemweite Schriftgrößenskalierung eingeführt wurde (Form.Scaled). Das hat einem auch ordentlich das Layout versaut.

Letztendlich wird man das immer haben zwischen verschiedenen Windows-Versionen. Entweder kauft man sich dann ein neues Delphi oder man umschifft die Klippen. Angesichts der aktuellen Preise bei Emba ist der diesbzgl. Leidensdruck aber noch gering ;-)

Krampus 10. Nov 2012 15:26

AW: Spezielle Titelleiste bei Windows 7
 
Und falls sich noch jemand jahrelang die Zähne daran ausbeisst, weil rechtsbündig ge'anchor'te Controls (cnt.Anchors := [akRight, (akBottom)] )
von unter XP compilierte Apps unter Win7 TROTZDEM rechts/unten aus dem Clientbereich rauslaufen, hier ist des Rätsels Lösung:

Form.AutoScroll := FALSE :cyclops::cyclops::cyclops:

Delphi speichert dann nämlich ClientWidth/ClientHeight im DFM-File
und nicht Width/Height...

...und alles ist (spät, aber doch) gut... :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:35 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