Tooltip auf bestimmte fläche anzeigen
-
Falls du das meinst, habs schon versucht, jedoch ohne Erfolg
TOOLINFO ti = { 0 };
Andernfalls hab ich auch schon ein RECT erstellt und damit dann damit versucht. Auch ohne Erfolg.
ti.rect.top = rectTT.top;
-
Damit setzt Du doch nur einen top Wert. Wo setzt Du dort das ganze rectangle?
-
Sorry, ich hab vergessen auch noch den Rest zu Posten.
Also ich hab das RECT nach der Zeile angegeben:
ti.lpszText = "Test";
-
falsche Beispiele !
-
Die sind beide nur für Custom Tooltips, und warum sollte ich es mir so schwer machen, wenn es leichter auch geht?
Es müsste doch eigentlich eine Lösung dafür geben, wie man das ganz einfach hinbekommt. Mit Google find ich leider auch nichts passendes...
-
...dann mache es eben leichter.
http://www.codeproject.com/Articles/20729/Tool-Tip-Class
-
Erst mal danke für den Link. Jedoch glaub ich, ich hab mich nicht ganz verständlich ausgedrückt
Ich habe den Tooltip schon erstellt, mithilfe der MSDN. Nun, ich möchte nicht, dass der Tooltip beim ganzen Window erscheint, sondern nur bei einem bestimmten Bereich. zB. RECT rect = { 0, 0, 50, 50 };
Ich weiß nur nicht welchen Code ich einfügen muss, damit ich das Ergebnis bekomme.
-
Stichwort: SetWindowPos, RECT
http://blogs.msdn.com/b/oldnewthing/archive/2006/06/26/647365.aspx
-
Irgendwie funktoniert das bei mir nicht :|
Ich hab jetzt so gemacht, jedoch funktioniert es nicht.
RECT rc = { 0, 0, 50, 50 }; SendMessage(hWndTooltip, TTM_ADJUSTRECT, TRUE, (LPARAM)&rc); SetWindowPos(hWndTooltip, HWND_TOPMOST, 0, 0, rc.right, rc.bottom, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
-
Hab es nun hinbekommen
Ich habe ein RECT erstellt und dann darauf hingewiesen:
[code="cpp"]hWndTooltip = CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASS, NULL, WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hWnd, NULL, hInstTooltip,NULL);RECT rect = { 0, 0, 50, 50 };
SetWindowPos(hWndTooltip, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
TOOLINFO ti = { 0 };
ti.cbSize = sizeof(TOOLINFO);
ti.uFlags = TTF_SUBCLASS;
ti.hwnd = hWnd;
ti.hinst = hInstTooltip;
ti.lpszText = "Test";
ti.rect.left = rect.left;
ti.rect.top = rect.top;
ti.rect.right = rect.right;
ti.rect.bottom = rect.bottom;GetClientRect (hWnd, &rect);
SendMessage(hWndTooltip, TTM_ADDTOOL, NULL, (LPARAM) (LPTOOLINFO) &ti);[/code]