CToolTipCtrl



  • Hallo,
    ich weise Buttons einer Toolbar in meinem Hauptfenster (wo die Toolbar erzeugt wird) folgendermassen Tooltips zu:

    ...
    CToolTipCtrl *tt = m_wndToolBar.GetToolBarCtrl().GetToolTips();
    tt->UpdateTipText("Datei öffnen",&m_wndToolBar,ID_FILE_OPEN);
    ...
    

    Das funktioniert auch solange der Messagehandler für den Button ebenfalls in diesem Hauptfenster existiert.
    Es gibt aber auch Buttons, deren Messagehandler einer View-Klasse zugeordnet sind. Vorteil: Button wird erst aktiv, wenn View geöffnet ist.
    Nachteil: oben erwähnte Tooltips werden nicht aktiviert.

    Was kann ich nun tun, damit die Tooltips nach öffnen der View (und Aktivierung des Buttons) angezeigt werden ?

    Gruss,
    MiP


  • Mod

    Wenn Du einen normalen Toolbar hast und normale ID_'s verwendest dann kanst Du einfach eine String Ressource anlegen und dieser Tooltip wird automatisch angezeigt ohne Deine Klimmzüge!



  • Ich lese in der Regel die Strings zur Laufzeit aus einer Ini-Datei je nach eingestellter Sprache. Da das Projekt mittlerweile sehr gross ist, will ich das auch nicht ändern.
    MiP



  • Manchmal ersparen einem unfassende Änderungen aber mühsames Suchen. 😉
    (Ich hab selbst ein Monsterprojekt, ich weiß wovon ich rede. Einen Programmteil habe ich in den letzten paar Tagen fast komplett durchgemixt und dann neu sortiert. Ist jetzt viel besser und übersichtlicher finde ich. 😃 )



  • Hallo Martin,
    meine Toolbar ist eine CToolBar mit einer ID. Die Buttons haben natürlich auch je eine ID. Alles mit dem Resourcen-Editor erstellt. Ich glaube das ist normal !?
    Wie kann ich nun 2 String-Resourcen anlegen, so dass je nach eingestellter Sprache der richtige String als Tooltip angezegt wird?
    MiP


  • Mod

    Ich arbeite mit Satelite DLLs, lies meinen Artikel:
    http://www.mpdvc.de/artikel/MultilingualeProgramme.htm


Anmelden zum Antworten