M
Hi Alex,
beim Stichwort "Tooltip funktioniert auf anderen Rechnern nicht" fällt mir die unterschiedlichen Größen der Struktur TOOLINFO abhängig vom eingesetzten Betriebssystem und eingestellter Compiler-Option _WIN32_WINNT ein.
Der folgende Code ist zwar Win32-API, läßt sich aber genausogut auf MFC übertragen:
TOOLINFO toolinfo;
#if ( _WIN32_WINNT >= 0x0501 )
if ( betriebssystemversion >= NUI32_OS_ID_WIN_XP_HOME )
{
toolinfo.cbSize = sizeof( TOOLINFO );
toolinfo.lpReserved = NULL; //Gibts ab WinXP, muß NULL sein.
}
else
{
toolinfo.cbSize = sizeof( TOOLINFO ) - sizeof( void* );
//Abzüglich Member "void *lpReserved", wurde mit WinXP
//eingeführt. Win95b bis Win98SE unterstützen TOOLINFO
//mit dieser Größe nicht, deshalb alte Größe verwenden.
//Win95 und Win95a unterstützen ohne IE3.0 kein Tooltip!
}
#else
toolinfo.cbSize = sizeof( TOOLINFO );
//Die Größe ist für alle Plattformen Win95b bis heute (Vista bzw. Server 2008) kompatibel
#endif
Da Du aber geschrieben hast:
hal-x schrieb:
Das gilt unabhängig vom Betriebssystem (zumindest haben wir mehrere XP SP3 Systeme die ToolTips anzeigen und eine ganze Reihe XP SP3 die nichts anzeigen).
dürfte mein Vorschlag dann höchstwahrscheinlich doch nicht die Lösung sein?
Checke mal nach, ob die Membervariable cbSize immer den korrekten Wert hat.
Martin
[Nachtrag]
Hab beim schnellen Zusammenkopieren nen Mist gewürfelt
Natürlich heißt die Strukturvariable "toolinfo" und nicht "statusbar"!