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.
-
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.
-
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?
-
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