ToolTip geht nicht



  • Codefragment:

    instance = GetModuleHandle(0);
    if (instance==0) return;
    
    help = CreateWindowEx(0, "tooltips_class32", 0, WS_POPUP|TTS_NOPREFIX|TTS_ALWAYSTIP, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, instance, 0);
    if (help==0) return;
    

    GetModuleHandle geht
    CreateWindowEx liefert stets 0

    Ich weiß nicht woran es liegen könnte...
    Der Code wird ohne Fehler kompiliert und alle Libs wie comctl32 sind eingelinkt



  • Hast du InitCommonControlsEx() aufgerufen?



  • Guck auch mal in die FAQ, wie man XP-Styles einbindet.
    Einfach die #defines einfügen. dann ists xp.



  • InitCommonControlsEx hab ich nicht gemacht... jetzt weiß ich es besser...

    alle Funktionen werden nun ausgeführt... Tooltip erscheint jedoch nicht... ich weiß noch nicht wieso...



  • Setze mal statt CW_USEDEFAULT feste Werte ein.



  • ich wollte es auf so eine static-box einstellen... da klappt es bei mir einfach nicht - wer weiß warum? sind static-boxen nicht fähig ToolTips darzustellen?

    wenn ich auf window oder button draufmache, dann geht es wunderbar... (!)


  • Mod

    Per default sind Statics transparent. Setze mal den Stil SS_NOTIFY dann geht es vermutlich.

    Andernfalls verwende ein Edit control und setze Read-Only. Wenn es um eine Information geht, die man evtl. auch kopieren möcte ist dies sowieso stilistisch besser.



  • oh du hattest recht gehabt - nun geht alles wunderbar

    DANKE



  • hm....

    Jetzt versuche ich so einen tooltip für GROUPBOX hinzukriegen - aber hier scheint BS_NOTIFY nicht zu funktionieren...

    Was kann ich da machen?


  • Mod

    Das hat hier nichts damit zu tun. Die Groupbox ist immer transparent. Wenn sie es nicht wäre, würden Controls in der Groupbox nicht erkannt werden wenn die Groupbox über/nach den Controls in der Z-Order folgt.

    Das geht IMHO nicht vernünftig und ist stilistisch für mich Unsinn.
    Anosnten Subclass und auf WM_NCHITTEST mit HTCLIENT antworten.



  • das ist doch quatsch... genau so kann ich static-BOX-object mit border erstellen und dort neue Objekte platzieren (als childs versteht sich)

    so, aber bei so einer static-BOX kann ich wie oben geklärt ja tooltips einblenden... unverständlich warum es bei groupbox nicht geht (sehe keinen unterschied)

    bleibt wohl nix übrig als so ein "dummy"-static-box innerhalb von group-box zu erstellen...


  • Mod

    TheShadow2000 schrieb:

    das ist doch quatsch... genau so kann ich static-BOX-object mit border erstellen und dort neue Objekte platzieren (als childs versteht sich)

    Was ist Quatsch? Ich verstehe Deinen Ton nicht?

    1. Wenn ein Control auf WM_NCHITTEST mit HTTRANSPARENT reagiert wird kein Tooltip funktionieren, weil das Control selbst eben keine Mausnachrichten empfängt!
    2. Und wenn Du als Child darin was platzierst bekommst Du Ärger mit IsDialogMessage und der Tab Folge, außer Du setzte bestimme WS_EX_... Stile

    TheShadow2000 schrieb:

    so, aber bei so einer static-BOX kann ich wie oben geklärt ja tooltips einblenden... unverständlich warum es bei groupbox nicht geht (sehe keinen unterschied)

    bleibt wohl nix übrig als so ein "dummy"-static-box innerhalb von group-box zu erstellen...

    Klar kannst Du das! Weil SS_NOTIFY verhindert, dass WM_NCHITTEST mit HTTRANSPARENT beantwortet wird. Gleiches geht IMHO bei einer Groupbox nicht. Schau es Dir im Spy++ an!


Anmelden zum Antworten