Speechbubble von Windows (Balloon Tips)
-
WebFritzi, hast wahrscheinlich recht.
Würd' mich mit dir anlegen, aber da du schon viele Probleme sinnvoll gelöst hast und der BCB Faq auch mit Lösungen von dir gefüllt ist, lass ich das.
-
Diabolo schrieb:
WebFritzi, hast wahrscheinlich recht.
Würd' mich mit dir anlegen, aber da du schon viele Probleme sinnvoll gelöst hast und der BCB Faq auch mit Lösungen von dir gefüllt ist, lass ich das.*lol* Mach ruhig. Hab ich kein Problem mit.

Ne, also dir ist schon klar, dass du die Struktur füllen und dann per SendMessage schicken musst, oder?
-
EDITBALLOONTIP ebt; ebt.cbStruct = sizeof( ebt ); ebt.pszText = L"Sprechblase"; ebt.pszTitle = L"Ich bin eine Sprechblase"; ebt.ttiIcon = TTI_INFO; ShowBalloonTip(TrayIcon1->Handle,ebt);So jetzt hab ich nochmal n bisschen nachgedacht und den Tag ausgefüllt.
Mein Problem is:[C++ Error] App.cpp(35): E2451 Undefined symbol 'EDITBALLOONTIP'
[C++ Error] App.cpp(40): E2268 Call to undefined function 'ShowBalloonTip'Und das obwohl ich Commctrl.h geincluded habe
-
ShowBalloonTip gibt es nicht. Du musst schon die Message EM_SHOWBALLOONTIP benutzen.
Außerdem hast du ein veraltetes SDK, in dem diese Message wohl noch nicht definiert ist. Die Struktur musst du dir also selber definieren. Und für die Message brauchst du die Konstante. Wär ja super, wenn dir das hier mal jemand raussuchen würde. Ich habe leider auch kein neues SDK, so dass ich das nicht kann.
-
Muss ich mir die SDK von Microsoft runterladen (bitte nich)
-
Ich lade mir gerade die neue Core SDK von MS runter. Hoffentlich klappts danach!
-
Haha, ich kann ja doch nachschauen, habe ich bemerkt. Also, der Reihe nach:
typedef struct _tagEDITBALLOONTIP { DWORD cbStruct; LPCWSTR pszTitle; LPCWSTR pszText; INT ttiIcon; // From TTI_* } EDITBALLOONTIP, *PEDITBALLOONTIP; #define EM_SHOWBALLOONTIP (ECM_FIRST + 3) // Show a balloon tip associated to the edit controlSo steht's in der CommCtrl.h. So, jetzt müssen wir nur noch wissen, wofür ECM_FIRST steht. Nachgeschaut:
#define ECM_FIRST 0x1500 // Edit control messagesMehr brauchst du nicht.

-
Diabolo schrieb:
Ich lade mir gerade die neue Core SDK von MS runter. Hoffentlich klappts danach!
Nein, danach wird es nicht klappen. Nimm mein oberes Posting.
-
Erstmal danke für deine Mühe. mmh ich sehe das in der Datei. aber was genau hilft mir das?
So wie ich das jetzt angeordnet habe sagt der Debugger folgendes:
[C++ Error] App.cpp(51): E2314 Call of nonfunction
weil
#define EM_SHOWBALLOONTIP (ECM_FIRST + 3)
EM_SHOWBALLOONTIP zwar definiert, aber das irgendwie nicht als Funktion kennzeichnet
-
Hä? Du sollst das einfach übernehmen. Copy-Paste. Klaro?
-
Hab eben was total falsch gemacht. Aber trotzdem hab ich jetzt noch fehler:
typedef struct _tagEDITBALLOONTIP { DWORD cbStruct; LPCWSTR pszTitle; LPCWSTR pszText; INT ttiIcon; // From TTI_* } EDITBALLOONTIP, *PEDITBALLOONTIP; #define ECM_FIRST 0x1500 // Edit control messages #define EM_SHOWBALLOONTIP (ECM_FIRST + 3) // Show a balloon tip associated to the edit control void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString Title = "Bubble"; EDITBALLOONTIP ebt; ebt.cbStruct = sizeof(ebt); ebt.pszText = L"The text contents of the edit balloon tip"; ebt.pszTitle = L"The title text"; ebt.ttiIcon = TTI_INFO; SendMessage(TrayIcon1->Handle,EM_SHOWBALLOONTIP,0, ebt); }Fehler:
[C++ Error] App.cpp(51): E2034 Cannot convert '_tagEDITBALLOONTIP' to 'long'
[C++ Error] App.cpp(51): E2342 Type mismatch in parameter 'lParam' (wanted 'long', got '_tagEDITBALLOONTIP')Kann verstehen wenn de mich inzwischen für blöd hälst
-
Ja, ich habe den Eindruck, dass mein erster Eindruck ein richtiger Eindruck war. Schau nochmal in die MSDN, was da bei der Erklärung von lParam steht.
-
Das lese ich mir schon die ganze Zeit durch:
Pointer to an EDITBALLOONTIPIch weiß nur nich wie zum Teufel ich einen Pointer dafür liefere
-
int a = 2;
int* pa = &a;Alles klar???
-
Hallo,
eine Ausführliche Anweisung wie man ToolTips erstellt verändert
findest du hierhttp://www.derentwickler.de/itr/online_artikel/psecom,id,534,nodeid,56.html
zwar in Delphi aber leicht nachvollziehbar.
-
[deleted]
-
Wieso hast du das jetzt gelöscht?
Ich habe gerade gemerkt, dass es von Anfang an Blödsinn war, denn EM_SHOW... ist eine Message an ein Edit-Control. Schau dir nochmal die MSDN an. Insbesondere hier: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/tooltip/usingtooltips.asp
-
HILFE!!!!!!!!!!!!!!!!!!!!
Ich hatte das gerade ohne FEhler hingekriegt udn germerkt, dass es klappt.ABer naja wenn das klappt versuch ich das eben auch noch
Trotzdem danke für deien Nachsichtigkeit mit mir, WebFritzi.
@VergissEs: Thx, aber ich will unbedingt sone Windows-Box...