Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Farbverlauf im Titel (https://www.delphipraxis.net/23667-farbverlauf-im-titel.html)

moritz 7. Jun 2004 20:35

Re: Farbverlauf im Titel
 
War nicht wirklich ernst gemeint :mrgreen:

Der Aufwand ist schon recht groß, kommt drauf an wie wichtig es dir ist. Aber du lernst was dabei.

Gruß

Onkel Dagobert 7. Jun 2004 20:36

Re: Farbverlauf im Titel
 
Achso, mit wieviel Code muss man denn da so üngefair rechnen, wenn man's selber zeichnet?

moritz 7. Jun 2004 20:38

Re: Farbverlauf im Titel
 
Es kommt nicht auf den Code an, manchmal ist der Code fürchterlich kurz, aber der Aufwand dahinter riesig. Probier's aus :)

Luckie 7. Jun 2004 20:43

Re: Farbverlauf im Titel
 
Ich würde es nicht machen, weil es mich immer selber ärgert, wenn sich Windowsporgramme nicht an meine Windowseinstellungen halten.

negaH 7. Jun 2004 21:46

Re: Farbverlauf im Titel
 
Zitat:

Hmm, wenn das nur Luckie macht, ist es dann überhaupt sinnvoll, ich meine, steht es in Relation zum Aufwand?
Oder ist Luckie noch icht so erfahren in Delphi?
Ich meine, es muss ja einen grund haben, warum nur er es macht.
[JOKE]
Luckie macht das weil er mit der VCL nicht so zurecht kommt, und in Luckie's Programmen steht nichts in Relation zum Aufwand. Dies liegt daran das Luckie ein blutiger Anfänger ist und nicht so erfahren mit Delphi ist ;)
[/JOKE]

@Luckie, habe ich's so getroffen ?

*schmunzel* Hagen ;)

Zurück zum Thema:
wm_NCPaint reicht bei weitem nicht aus. Die Titelzeile der Windows-Fenster wird auch zB. bei wm_NCLButtonDown/wm_NCLButtonUp oder wm_NCHitTest unter Umständen neu gezeichnet. Das blöde daran ist aber der Punkt das diese Neuzeichen-Routinen innerhalb des Windows-USER-Interfaces in eigenen Messageloops durchgeführt wird.
Um dieses mal zu verdeutlichen:
In einer Titelzeile liegen die 3 Buttons zum Verkleinern, Maximieren und Schließen des Fensters. Diese Buttons liegen auf der eingefärbten Titelzeile. Mit wm_NCPaint müsstest du nun diese Titelzeile einfärben und an richtiger Stelle die 3 Buttons einzeichnen. Schön soweit kein Problem. Aber was passiert wenn man auf einen der Button mit der Maus klickt ? Es entsteht ein wm_NCLButtonDown Event, dieses wird normalerweise weitergeleitet an den Windows-Fensterhandler aus dem Betriebssystem. Nun im Windows wird damit aber eine interne Schleife betreten die erst zurückkehrt wenn der Benutzer den Button loslässt. Diese Schleife überprüft fortwährend ob der Mauscursor noch innerhalb des Buttons ist. Ist dies nicht mehr der Fall so wird nun der Button SAMT Titelzeile neu dargestellt. Aber nicht wie logisch richtig indem ein wm_NCPaint ausgelösst wird, sondern durch eine interne Windows-Zeichenroutine die NICHT gehookt werden kann. Schwups, in diesem Falle sieht man in deiner Regenbogen-Titelleiste sofort wieder Buttons und Farbverläufe die dem Originaldesign entsprächen.

Bei viele solchen Spielerei-Anwendungen kann man dieses Verhalten reproduzieren.

Der einzigste Ausweg ist es neben dem wm_NCPaint, noch die Messages wm_NCLButtonUp,wm_NCLButtonDown,wm_NCHitTest,wm_Wi ndowPosChanging, wm_SetText usw. usw. usw. selber zu coden. Dies kommt zum Schluß dem Programmieren einer vollständig eigenen Fensterbedienung gleich !!

Zum Glück gibt es aber nun WindowsXP das über die Manifeste diese Einstellungen vereinfachen kann.

Gruß Hagen

nailor 7. Jun 2004 21:50

Re: Farbverlauf im Titel
 
oder man nimmt einfach garkeine windows-titelleiste, sondern macht was eigenes. mit einer fläche zum verschieben, einer zum minimieren, einer zum maximieren und einer zum schließen. dann hat luckie zwar nicht mehr seine windosw-standards, aber du dafür die volle kontrolle, ohne dass windwos dazwischenfunkt

negaH 7. Jun 2004 22:02

Re: Farbverlauf im Titel
 
Korrekt, aber wozu ??

Ich gebe Luckie absolut recht, ein Programmierer der Zeit hatte sich um solche Gimmecks zu kümmern konnte diese Zeit nicht investieren um die eigentliche Funktionalität der Software zu verbessern.
Ok, ich will hier keinen davon abhalten es denoch zu probieren, und es gibt auch Einzelfälle wo sowas eventuell angebracht wäre, und finally ich selber habe es auch schon programmiert ;) Aber grunsätzlich lohnt sich dieser Aufwand wirklich nicht.

Gruß Hagen

Luckie 7. Jun 2004 22:26

Re: Farbverlauf im Titel
 
Zitat:

Zitat von negaH
Ich gebe Luckie absolut recht, ein Programmierer der Zeit hatte sich um solche Gimmecks zu kümmern konnte diese Zeit nicht investieren um die eigentliche Funktionalität der Software zu verbessern.

Dito, meine Worte. ;)

EDIT:
@Hagen: Ach so, ja, nein, also ich habe keinen Plan von der VCL und von WinAPI, meine Sourcecodes entstehen immer nur durch zufälliges Rumgehämmer auf der Tastatur, in so fern hast du durch aus recht. :zwinker:

Nicodius 8. Jun 2004 05:37

Re: Farbverlauf im Titel
 
ich mags auch nicht das meine titelleisteneinstellung nicht an programme angepasst wird :? natürlich wenns eine GANZ eigene ist dann ok aber die farbkombination ändern/machen ist nicht so meine sache, und was bringts überhaupt. es nimmt das schema der titelleisten(einheitlichkeit) weg :roll:

Onkel Dagobert 8. Jun 2004 11:17

Re: Farbverlauf im Titel
 
Wow, schön, dass ihr euch so bemüht. :)

Ich denke, ich zeichne es nicht selber, klingt zu kompliziert. :roll: ;)


Vielen Dank für die zahlreichen Antworten!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:33 Uhr.
Seite 2 von 2     12   

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