Tooltips auf static Controls
-
ichiban schrieb:
have fun
fake mich nicht man
sorry peter das war ich nicht
-
Ich habe vergessen eine Frage zu stellen.
-
peteur schrieb:
Ich habe vergessen eine Frage zu stellen.
dann mach lieber nen neuen fred auf dieser hier ist verhunzt! scheiß faker!
-
Stimmt, habe ich echt
Naja, der Titel stellt eine Art indirekte Frage dar.
Thema steht oben, ich hoffe, dass mir trotz des Spams jemand helfen kann
-
Die passende Frage (eine à la "Wie mache ich das?") kannst du dem ersten Beitrag ja im Gedanken hinzufügen...
-
Geht das denn?
-
nö ist technisch nicht möglich
-
Ich habe aber schon mehrere Applikationen gesehen, die Tooltips auf Bildern implementiert haben.
In VB kann man, soweit ich weiß, doch auch der Tooltip-Eigenschaft eines Bildes einfach einen Wert zuweisen und es funktioniert.
In MFC scheint es ja auch möglich zu sein...
-
Ok jetzt mal was konstruktives. Hier eine mögliche Vorgehensweise:
- du erzeugest ein Tooltip-Fenster (CreateWindowEx(0, TOOLTIPS_CLASS,.......)
- das Fenster das Tooltips anzeigen soll subclassed du, vorausgesetzt es hat noch keinen eigenen Eventhandler. (mit Fenster meine ich in diesen Fall das Handle zum Bild)
- in dem zuständigen Eventhandler fängst du nun die Messages "WM_MOUSELEAVE" und "WM_MOUSEMOVE" abMeiner Meinug nach ist ein händisch erstellte Tooltipfenster viel flexibler zu handhaben als das teilweise eingebaute pondon.
-
Geht! IMHO muss man nur den Stil SS_NOTIFY setzen.
-
@guggstdu:
Dann müsste ich doch aber das Erscheinen und Verschwinden alles selber regeln, oder nicht?...@Martin Richter:
Ich fange Klicks auf das static Control ab, was ja zwangsweise auch SS_NOTIFY benötigt.
Ein Tooltip füge ich mittooltipstruct.hwnd = hwnd; SendMessage(ToolTip, TTM_ADDTOOL, 0, (DWORD)&tooltipstruct);
hinzu.
Wenn ich hwnd zu einem Button ändere funktioniert es auch.
Nur bei einem static Control nicht, obwohl ich SS_NOTIFY eingestellt habe
-
Also es geht wirklich mit SS_NOTIFY:
http://sarathc.wordpress.com/2007/09/29/simple-way-to-enable-tooltip-for-static-controls/
-
Das habe ich auch gefunden, aber das ist halt für MFC...
Was genau ist denn
3. In the PreTranslateMessage function of your window class, add the following.
m_ToolTip.RelayEvent( pMsg );
?
Vielleicht liegt es da daran, da ich den Rest so eingestellt habe, wie dort beschrieben.