Konstante TBSTYLE_FLAT nicht gefunden



  • Hallöchen,

    wiedermal ein seltsames Problem. Ich hab in der MSDN und zahlreichen Beispielen im Internet immer wieder diese Konstante "TBSTYLE_FLAT" gefunden, welche die Toolbar flach macht. Mein Problem ist, mein Compiler kennt diese Konstante wohl nicht. Mit einer anderen Programmiersprache hab ich jetzt herausgefunden, dass die Konstante den Wert 2048 hat und damit geht es. Allerdings würd ich doch gern die Konstante anstelle des Werts eingeben.
    Wo genau wird denn diese Konstante definiert, dass ich diese Lib einbinden muss?
    Komischerweise gibt es auch in der ganzen Win32.hlp Datei keinen Hinweis auf diese Konstante. Ist die erst später hinzu gekommen oder wie?

    windows.h und commctrl.h sind bereits eingefügt für die Common Controls und die WinAPI Befehle... Gelinkt sind die libgdi32.a und die libcomctl32.a Dateien.
    (Dev C++ IDE mit dessen Standard-Compiler)

    mfg.

    Ynnus



  • Ich glaube das gibt's erst ab Windows-Version >= 5.
    Du müßtest also (glaube ich) vorm includen jeglicher Header ein #define WINVER 0x501 packen.

    Schau mal in der commctrl.h nach, ob die Definition von TBSTYLE_FLAT entsprechend mit #ifdef eingezäunt ist.



  • Es steht tatsächlich in der commctrl.h eingekästelt, aber wie folgt:

    #if (_WIN32_IE >= 0x0300)
    #define TBSTYLE_FLAT 2048
    #define TBSTYLE_LIST 4096
    #define TBSTYLE_CUSTOMERASE 8192
    #endif
    

    Ich hab also jetzt #define _WIN32_IE 0x501 gesetzt und jetzt läufts. Danke für den Hinweis, der hat ja letztlich dazu geführt, dass es dann geklappt hat. 🙂

    (Woher bekommt man die Infos, dass man dieses Zeug davor definieren muss, damit es geht? Steht das irgendwo in der MSDN oder so?)



  • Toolbar Control and Button Styles

    TBSTYLE_FLAT
    Version 4.70 [...]

    [b]Version	  Distribution Platform[/b]
    4.7	 Microsoft Internet Explorer 3.x.
    

Anmelden zum Antworten