Uxtheme.h versursacht Fehlermeldung



  • Hallo,
    Beim experimentieren mit den XP-Styles hat sich folgendes ereignet.
    Ich hab mich in der MSDN etwas ungesehen zum Thema Themes und Styles von Windows. Dabei bin ich auf einen Artikel gestoßen der zeigte wie man einem Custom Control XP-Style zuweist. Dort war beschrieben das man die Uxtheme.h header-Datei einbinden soll.
    Beim Einbinden wirft mir der BCB Fehlermeldungen aus.
    Die erste bei

    typedef enum THEMESIZE
    {
        TS_MIN,             // minimum size
        TS_TRUE,            // size without stretching
        TS_DRAW,            // size that theme mgr will use to draw part
    };
    

    Fehler : Need an identifier to declare.
    ,die zweite bei

    typedef enum PROPERTYORIGIN
    {
        PO_STATE,           // property was found in the state section
        PO_PART,            // property was found in the part section
        PO_CLASS,           // property was found in the class section
        PO_GLOBAL,          // property was found in [globals] section
        PO_NOTFOUND         // property was not found
    };
    

    , die Fehlermeldung ist die selbe.

    Was läuft da falsch.



  • lass das typedef weg.



  • Meinst du wirklich.
    Der Code den ich gepostet habe ist doch aus der Uxtheme.h.
    Ich hab mir auch schon nen aktuelles platform-SDK runtergeladen aber das hat auch nischt gebracht. Ich dachte das die Datei vielleicht veraltet ist, oder so.
    Kann deinen Vorschlag grad nich ausprobieren, da ich meinen Rechner nich am Start hab, aber ich probiers auf jeden Fall aus.
    Dake soweit erst mal!



  • du hast da Dateien für MFC zu packen. Die Header wird der BCB so nicht schlucken. Das typedef von nicht nicht definierten lässt der BCB nicht zu. Der Compiler von Misrosoft ist da etwas großzügiger.

    Angesichts der Tatsache dass die enums in der Header definiert werden ist es eigentlich kein Problem dieses typedef zu löschen.

    Mach aber vorher eine Sicherung der Dateien.

    Dan musst du die Microsoft dll irgend wo haben und eine Borland- Lib erstellen. Das machst du mit der "implib.exe" aud em Bin- Verzeichnis des BCBs. Anleitungen dazu findest du im Internet.

    Wenn du eine Borland-Lib haben solltest, hast du auch irgendwo auch eine angepasste Header.



  • Hat wunderbar Funktioniert. Vielen Dank für deine Hilfe!


Anmelden zum Antworten