Wie bekomm ich den XpStyle in meine Anwendungen?



  • Hi,
    Ich weiß dieses Thema wurde oft genug gepostet, aber die die ich mir so angeschaut hab, waren nur für VS beschreibungen. Ich code aber unter BCB6 und weiß wirklich nicht wie ich da den Style reinbekomm soll.

    wär cool, wenn mir jemand da hilfe, es ist nämlich echt mies ständig nur sone farblosen Dialoge zusehen ect...

    gruß Tobi.


  • Mod

    Die Tipps müssen identisch sein! Ist Dir das nicht klar geworden beim Lesen der Infos?

    Du musst eben ein Manifest zu Deinem Programm hinzufügen! Nur ein entsprechende XP-Manifest für die Comctl v6 erlaubt auch den XP-Stil.

    Ein externes maifest zu bauen sollte ja anhand der Dir vorliegenden Informationen nicht schwer fallen. 🕶



  • ja, ich habe das aus der faq ausprobiert( @ thread von Jochen Kalmbach ) aber irgendwie hatte ich trotzdem noch den laten hässlichen stil.

    ich habe ganz oben in mein project der .cpp datei

    #if defined _M_IX86 
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") 
    #elif defined _M_IA64 
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"") 
    #elif defined _M_X64 
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"") 
    #else 
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") 
    #endif
    

    das hinzugefügt, dann noch das pragma #pragma commant(lib, "comctl32.lib") geadded, die commoncontrols headerdatei hatte ich schon drin und initiier hatte ich sie auch schon...
    ging aber nicht.

    Gruß Tobi.


  • Mod

    Diese pargams gehen nur wenn Du auch VisualStudio verwendest!
    Du musst bei Borland Dir Deine Manifeste selber basteln. Soweit ich mich erinnere verwendest Du kein VS!



  • VS stinkt xD kommsch net mit klar das teil will nie so wie ich will.

    toll und wie bau ich mir son teil selber...



  • das steht hier schon mehrfach beschrieben und auch auf http://www.winapi.net



  • meinst du das http://www.winapi.net/index.php?inhalt=t8 ?
    das doch aber auch für vs oder?


  • Mod

    Du verstehst es nicht! Und ich frage mich ehrlich ob Du nie Geduld hast zu lesen! 👎

    Ein Manifest ist eine XML Datei mit speziellem Inhalt.
    Was ist daran speziell VS? Diese Datei kann als Ressource eingebundne werden ID1 Typ 24, oder direkt unter dem Namen der EXE Datei mit der Erweiterung .manifest (z.B. MeinProgramm.EXE.manifest) abgelegt werden.

    Wie Du dass in dem Borlang Zeugs machst ist Dein Bier...



  • sry Martin, aber ich ignoriere dich einfach mal kurz 😃

    Also, das Beispiel ist gerade eben nicht nur für VS. Auch wenn es in diesem Tutorial mit VS erstellt wurde, kannst du es trotzdem auch mit anderen Compilern nutzen.

    Mfg Ominion



  • hö? muss ich die .rc datei dann 24 nennen?



  • okay, jetzt ist sogar meine geduld kurz vorm selbstmord...

    NEIN. erstelle eine datei mit dem namen style.bin und schreibe folgendes hinein:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
    <assembly 
       xmlns="urn:schemas-microsoft-com:asm.v1" 
       manifestVersion="1.0">
     <assemblyIdentity 
        processorArchitecture="x86" 
        version="5.1.0.0"
        type="win32"
        name="AUTORNAME"/>
     <description>PROGRAMMNAME</description>
     <dependency>
      <dependentAssembly>
        <assemblyIdentity
             type="win32"
             name="Microsoft.Windows.Common-Controls"
             version="6.0.0.0"
             publicKeyToken="6595b64144ccf1df"
             language="*"
             processorArchitecture="x86"/>
      </dependentAssembly>
     </dependency>
    </assembly>
    

    diese Datei bindest du in der Resource wie folgt ein:

    IDR_XPSTYLE            24      DISCARDABLE     "style.bin"
    

    nachdem du das gemacht hast, definierst du IDR_XPSTYLE wie folgt:

    #define IDR_XPSTYLE          1
    

    IDR_XPSTYLE muss 1 sein, ansonsten klappt es nicht.
    Dann compilierst du das, et voila c'est tout.

    Falls es dann nimmernoch nicht funzt, dann includiere noch comctrl.h und rufe in der WinMain InitCommonControls() auf.

    Mfg Ominion

    EDIT: ich glaube, dazu sollte ich mal einen FAQ-Beitrag schreiben...obwohl...der würde ja eh nicht verschoben werden, da man das überall findet 🙄

    PS: das war gerade ironisch


Anmelden zum Antworten