benutzerdefiniertes icon in controlbox hinzufügen

15/01/2009 - 20:48 von Udo Schwinkens | Report spam
Hallo allerseits,

ich stehe mal wieder auf dem Schlauch und brauche Rat. Die rumgooglelei
bringt mich auch nicht wirklich weiter.

Ich suche nach einer Möglichkeit in/neben die Controlbox einer Form (oben
rechts - min/max/close button) ein eigenes Icon einzufügen.

Entsprechende Postings die ich gefunden habe blieben leider alle
unbeantwortet, oder es hieß "geht nicht".

Das muss aber gehen. Ich habe auf dem Notebook ein Multimonitor Tool,
welches genau das macht. Also muss es gehen.


Hat da jemand einen praktikablen Vorschlag?

Gruß
Udo
 

Lesen sie die antworten

#1 Timo Kunze
15/01/2009 - 22:53 | Warnen spam
Thorsten Albers schrieb:
Udo Schwinkens schrieb im Beitrag
...
ich stehe mal wieder auf dem Schlauch und brauche Rat. Die rumgooglelei
bringt mich auch nicht wirklich weiter.
Ich suche nach einer Möglichkeit in/neben die Controlbox einer Form (oben



rechts - min/max/close button) ein eigenes Icon einzufügen.
...
Das muss aber gehen. Ich habe auf dem Notebook ein Multimonitor Tool,
welches genau das macht. Also muss es gehen.



Sicher geht das, allerdings nicht mit VB-Bordmitteln sondern über nicht
ganz unaufwendige Windows-API-Programmierung. Eine grobe Skizze:
- betroffene Form 'subclassen'
- 'Non-client'-Nachrichten (WM_NC*, z.B. WM_NCPAINT) behandeln

Das Icon mußt Du (in Reaktion auf WM_NCPAINT) selbst zeichnen (laß zunàchst
die Original-Fensterprozedur die Titelleiste vollstàndig zeichnen und
zeichne dann erst das Icon), und Du mußt auch selbst feststellen, ob ein
Klick in die Titelleiste Dein Icon betrifft, und ggfs. entsprechend darauf
reagieren.


Hier entsprechender Beispielcode:
http://www.timosoft-software.de/stu...Button.zip

Timo
www.TimoSoft-Software.de - Unicode controls for VB6
"Those who sacrifice freedom for safety deserve neither."
"Demokratie ist per Definition unsicher. Ihr Schutz entsteht aus der
Überzeugung, dass die demokratischen Kràfte überwiegen und sich – auf
demokratischem Wege – durchsetzen."

Ähnliche fragen