PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Eigenes Design der Windows-Elemente?


me-$-on
20.03.2007, 09:16
Hallo.
Ich habe mal ne Frage, die ich auch nur in den Basics beantwortet haben muss, wenn es denn möglich wäre.
Und zwar kennt sicher jeder von euch so Programme wie winamp, oder BPM music, mous-o-meter, den AV-Rack , oder das ICQ-Panel.
Mich juckt es nun, was ich tun muss, damit ich, wenn ich schonmal mit der Winapi n ganz einfaches Fenster baue, dieses mal z.B. als Ellipse zeigen kann, und wie ich das Aussehen so gestalte, dass es zwar von MS-FENSTERN abweicht, aber dennoch alle Win-Api funktionalitäten bietet.
So ein rundes ICQ-Panel zB, mit c und WinApi, was ist DRINGEND nötig?
Den Rest ergoogle ich dann schon!!!
DANKE schonmal.
--------------
Sorry, erst suchen, dann fragen!
http://www.coding-board.de/board/showthread.php?t=19359&highlight=eigene+Fenster
gab es schon!!!


mnemonic
20.03.2007, 09:37
Wenn ich mich recht erinnere, nennt sich das Stichwort dazu "owner draw".

HTH

TheBubble
22.03.2007, 21:16
Schau nach WM_NCPAINT und den dazugehörige Nachrichten.

Pukys
30.03.2007, 10:15
Hallo.
Ich habe mal ne Frage, die ich auch nur in den Basics beantwortet haben muss, wenn es denn möglich wäre.
Und zwar kennt sicher jeder von euch so Programme wie winamp, oder BPM music, mous-o-meter, den AV-Rack , oder das ICQ-Panel.
Mich juckt es nun, was ich tun muss, damit ich, wenn ich schonmal mit der Winapi n ganz einfaches Fenster baue, dieses mal z.B. als Ellipse zeigen kann, und wie ich das Aussehen so gestalte, dass es zwar von MS-FENSTERN abweicht, aber dennoch alle Win-Api funktionalitäten bietet.
So ein rundes ICQ-Panel zB, mit c und WinApi, was ist DRINGEND nötig?
Den Rest ergoogle ich dann schon!!!
DANKE schonmal.
--------------
Sorry, erst suchen, dann fragen!
http://www.coding-board.de/board/showthread.php?t=19359&highlight=eigene+Fenster
gab es schon!!!

Wenn du die normalen GUI-Elemente wie Button oder Edit-box "skinnen" willst, so ist das Stichwort "local subclassing" der entsprechenden Fensterklasse, bei Buttons hieße das, du müßtest die Windowclass "BUTTON" subclassen und die entsprechenden Window-Funktionen wie WM_PAINT, NC_CREATE, NC_CALCRECT etc. überladen.
Bei CodeGuru oder in der MSDN findest du unter diesem Stichwort einige wertvolle Informationen.
Für abgerundendete Fenster mit eigener Fensterklasse findest du in den Messages WM_NCPAINT, WM_PAINT und WM_ERASEBKGND die richtigen Ausgangspunkte. Deine Fensterklasse sollte dabei den Stil TRANSPARENT haben.
Unter Windows2000 und WindowsXP gibt es Hilfsfunktionen um Fenster mit einer globalen (Teil-)Transparenz (W2k, WXP) oder mit einer Maske (WXP, verhalten ist nicht explizit in der MSDN beschrieben, Tutorials sind online zu finden) zu versehen.

me-$-on
02.04.2007, 09:10
Werde mich mal damit auseinandersetzen.
Sub- und Superklassing habe ich mir mal durchgelesen ( und n ausrufezeichen hintergeschrieben, mit nem Vermerk: So oft lesen, bis es sitzt).
Also , danke erstmal!

Hotshot
11.04.2007, 14:48
Ne ganz einfache Möglichkeit wäre, einfach Labels zu benutzen, dessen Hintergrundbilder deine Buttonskins sind.
Dann einfach auf das Click Event reagieren -> fertig.