Tooltipps
-
Danke für Deinen Beitrag. Allerdings kann ich damit garnichts anfangen?!
Ich habe auch unter codeproject.com geschaut. Aber diese ganze Beschreibung scheitert schon am Anfang:
Using the code
Before anything elseBefore using the code you must include atlctrls.h and ToolTipDialog.h in your VC project. The best place to insert the code is the end of your stdafx.h file, otherwise you have to add it in each of your (existing and future) dialog file headers.
//
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
...
...
#include <atlctrls.h>
#include "ToolTipDialog.h"Nur habe ich die ToopTipDialog.h nirgends?! Muss man sich die runterladen, bevor man ToolTipps nutzen kann?

-
Wieso macht ihr es euch so schwer??? In der SDK-Doku gibts doch ein riesiges Kapitel über ToolTips. Einfach mal nach ToolTip Control Reference suchen...
-
Hast Du nen Link? Unter google finde ich alles mögliche (und ich weiss ja nicht genau was Du meinst). Allerdings gibt es viel zu .NET, das kann ich leider nicht nehmen, genau wie die MFC. Also nur das was man in VC60 + ATL/WTL einsetzen kann.
-
-> http://msdn2.microsoft.com/en-us/library/ms650446.aspx
Da sollte alles drinstehen wonach du suchst...
-
die ToolTipDialog.h aus dem CodeProject ist offenbar eine Resourcen-Headerdatei, die bei der Erstellung der Toolbar-Ressourcen erstellt wird. Die kannst Du nicht runterladen, sondern mußt sie selbst einrichten.
-
0xDEADBEEF schrieb:
-> http://msdn2.microsoft.com/en-us/library/ms650446.aspx
Da sollte alles drinstehen wonach du suchst...
Hmm, damit krieg ich nichts zusammen.
Z.B. von dem Quelltext. Braucht man das alles für einen ToolTip?!? Dann krieg ich das nie hin...
/* CREATE A TOOLTIP CONTROL OVER THE ENTIRE WINDOW AREA */ void CreateMyTooltip (HWND hwnd) { // struct specifying control classes to register INITCOMMONCONTROLSEX iccex; HWND hwndTT; // handle to the ToolTip control // struct specifying info about tool in ToolTip control TOOLINFO ti; unsigned int uid = 0; // for ti initialization char strTT[30] = "This is your ToolTip string."; LPTSTR lptstr = strTT; RECT rect; // for client area coordinates /* INITIALIZE COMMON CONTROLS */ iccex.dwICC = ICC_WIN95_CLASSES; iccex.dwSize = sizeof(INITCOMMONCONTROLSEX); InitCommonControlsEx(&iccex); /* CREATE A TOOLTIP WINDOW */ hwndTT = CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASS, NULL, WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hwnd, NULL, ghThisInstance, NULL ); SetWindowPos(hwndTT, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); /* GET COORDINATES OF THE MAIN CLIENT AREA */ GetClientRect (hwnd, &rect); /* INITIALIZE MEMBERS OF THE TOOLINFO STRUCTURE */ ti.cbSize = sizeof(TOOLINFO); ti.uFlags = TTF_SUBCLASS; ti.hwnd = hwnd; ti.hinst = ghThisInstance; ti.uId = uid; ti.lpszText = lptstr; // ToolTip control will cover the whole window ti.rect.left = rect.left; ti.rect.top = rect.top; ti.rect.right = rect.right; ti.rect.bottom = rect.bottom; /* SEND AN ADDTOOL MESSAGE TO THE TOOLTIP CONTROL WINDOW */ SendMessage(hwndTT, TTM_ADDTOOL, 0, (LPARAM) (LPTOOLINFO) &ti); }
-
Ich bekomme folgende Fehlermeldungen (wär ja auch ein Wunder, wenn mal was sofort compilieren würde
) zur Compilezeit:error C2065: 'ghThisInstance' : nichtdeklarierter Bezeichner error C2661: 'SetWindowPos' : Keine ueberladene Funktion akzeptiert 7 Parameter error C2660: 'GetClientRect' : Funktion akzeptiert keine 2 Parameter error C2440: '=' : 'int' kann nicht in 'struct HINSTANCE__ *' konvertiert werden
-
Kann niemand weiterhelfen?

-
Denk doch mal etwas selbst nach. Was könnte 'ghThisInstance' wohl sein? Was die anderen Meldungen sollen, was weiss ich. Benutzt du MFC oder irgendwas? Die normalen WinAPI Funktionen 'SetWindowPos' und 'GetClientRect' erwarten zumindest 7 bzw. 2 Parameter.
-
Ich nutze ATL/WTL.
Ich habe es auch genau wie im Link versucht. Es werden auch Tooltipps angezeigt, zumindestens sieht es so aus. Nur ist der Tooltipp mini-klein (ca. 3x3 Pixel), so dass man natürlich keinen Text lesen kann. Hat jemand ne Ahnung wie man dieses Problem beheben kann?
http://www.codeproject.com/wtl/CToolTipDialog.asp?df=100&forumid=26030&exp=0&select=1642497
-
Ok, konnte das "Problem" lösen. Es war wohl einfach die Breite nicht breit genug gewählt.