Deutsch
Forum

großes Icon im ToolTip

 

Georg
Hovenbitzer
Hallo zusammen,

ich versuche nun schon seit einiger Zeit die Icongröße in einem ToolTip zu ändern,
welches ein eigenes Icon zugewiesen bekommen hat.
Mehr als 16x16 oder es könnte auch 24x24 sein ist mir nicht gelungen.
Geht dies überhaupt und wenn wie ?
KompilierenMarkierenSeparieren
Def LoadImage(6) !USER32.DLL,LoadImageA
Def DestroyIcon(1) !USER32.DLL,DestroyIcon
Declare Font&
Declare Dll&
Declare Icon&
Declare Name$
Declare Button&
Declare ToolTip&
Font& = @Create(FONT,ARIAL,24,0,0,0,0)
Cls
Dll& = @UseDLL(SHELL32.DLL)
Name$ = #20 + @Chr$(0)
Icon& = LoadImage(DLL&,@Addr(Name$),1,48,48,$2000)
Button& = @Control(BUTTON,,$5000804A,100,100,64,64,%hWnd,100,%hInstance,$10000)
@SendMessage(Button&,$00F7,1,Icon&)
ToolTip& = @Create(Tooltip,%Hwnd,Button&,Wieso geht es nicht?)
SetStyle ToolTip&,$D000040
@SendMessage(ToolTip&,$30,Font&,0) WM_SetFont
Name$ = großes Icon ? + @Chr$(0)
@SendMessage(ToolTip&,$0420,Icon&,@Addr(Name$)) TTM_SetTitle
@SendMessage(ToolTip&,$0403,$2,15000) TTM_SetDelayTime ~TTDT_AutoPop
@SetFocus(%hWnd)

While 1

    Waitinput

Wend

DeleteObject Font&
DestroyIcon(Icon&)
FreeDLL DLL&
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
20.11.2005  
 




Frank
Abbing
Hm, unter XP Home tut sich da gar nix. Kommt überhaupt kein Tooltext, geschweige denn einer mit Icon...
 
21.11.2005  
 




Rolf
Koch
@Frank
Liegt an dieser Zeile:
Setstyle Tooltip&,$D000040

hast bestimmt auch die Bubbles abgeschaltet.

Rolf
 
21.11.2005  
 




Frank
Abbing
Klar, Rolf. Nerven ja sonst zu viel
Hab den Code nur kurz überflogen und dann getestet.
 
21.11.2005  
 




Rolf
Koch
Georg, zum Problem kurz:
Vor dieser Frage stand ich auch mal (Danke Dir für die Erinnerung mit dem Icon, denn habs vergessen in Noctramic einzubauen *lol* ).
Als ich dann irgendwann die Schnauze voll hatte, hab ich kurzerhand die Icons mit einem Staticbitmap überlagert. Funktioniert. Und ein Staticbitmap (Hintgrundfarbe ident mit Tooltip Hintergrundfarbe) lässt sich sehr bequem in der Grösse anpassen.
Die Fläche ansich ist ja bereits gross genung um dort ein Bitmap einzupflanzen.
(aber vielleicht gibt ja noch einer eine richtige Lösung)

Hier ein Beispiel:
KompilierenMarkierenSeparieren
Def Loadimage(6) !USER32.DLL,LoadImageA
Def Destroyicon(1) !USER32.DLL,DestroyIcon
Declare Font&,icon1&
Declare Dll&
Declare Icon&
Declare Name$
Declare Button&
Declare Tooltip&

PROC ICONPIC

    Declare h&,abx#,statbild&
    Parameters bild$,mausx%,mausy%,breitobj&,hochobj&,handl&
    Dim abx#,Add(Len(bild$),1)
    String abx#,0=bild$
    Let h&=LoadImage(%hinstance,abx#,0,breitobj&,hochobj&,$50)
    Let statbild&=@Control(STATIC,,$05000010E,mausx%,mausy%,breitobj&,hochobj&,handl&,$7918,%hinstance)
    SendMessage(statbild&,$172,0,h&)
    DISPOSE abx#
    Return statbild&

ENDPROC

Font& = @Create(FONT,ARIAL,24,0,0,0,0)
Cls
Dll& = @Usedll(SHELL32.DLL)
Name$ = #20 + @Chr$(0)
Icon1& = Loadimage(Dll&,@Addr(Name$),1,48,48,$2000)
Button& = @Control(BUTTON,,$5000804A,100,100,64,64,%Hwnd,100,%Hinstance,$10000)
@Sendmessage(Button&,$00F7,1,Icon1&)
Tooltip& = @Create(Tooltip,%Hwnd,Button&,Wieso geht es nicht?)
@Sendmessage(Tooltip&,$30,Font&,0)WM_SetFont
Name$ = großes Icon ? + @Chr$(0)
@Sendmessage(Tooltip&,$0403,$2,15000)TTM_SetDelayTime ~TTDT_AutoPop
ICONPIC Pic1.bmp,2,2,30,30,Tooltip&
Pic1.BMP mit gleichem Hintergrund wie Tooltip am besten
ICON&=&(0)
@Sendmessage(Tooltip&,$0420,Icon&,@Addr(Name$))TTM_SetTitle
@Setfocus(%Hwnd)

While 1

    Waitinput

Wend

Deleteobject Font&
Destroyicon(Icon&)
Freedll Dll&

Rolf
 
21.11.2005  
 




Georg
Hovenbitzer
Hallo Rolf,

vielen Dank für den Tip.
Ich werde ihn mir morgen mal genauer ansehen.

Was mich nur wundert ist, dass man mit der TTM_GETTITLE Message die Größe des Icons auslesen kann. Der Umkehrschluss wäre doch, dass man mit TTM_SETTITLE die Größe setzen kann, was leider nicht der Fall ist.
Woran macht Windows die Größe des Icons fest ?

Ich melde mich morgen nochmals, sobalt ich es getestet habe.
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
21.11.2005  
 




Georg
Hovenbitzer
Hallo Rolf,

ich hatte nun Zeit mir den code mal genauer anzusehen, klappt super klasse
Klasse Idee es so zu machen !
Wenn man folgendes ändert geht es auch mit Icons:
KompilierenMarkierenSeparieren
Statbild&=@Control(STATIC,,$50000903,Mausx%,Mausy%,0,0,Handl&,$7918,%hInstance)
Sendmessage(Statbild&,$172,1,H&)
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
22.11.2005  
 




Rolf
Koch
... gut zu wissen

Rolf
 
22.11.2005  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.464 Betrachtungen

Unbenanntvor 0 min.
Langer19.12.2021

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie