Toon posts:

[c++] mfc dll windows xp style knoppen e.d.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi allemaal,

Ik heb een leuk dll'etje geprogged in c++ gebruik makend van mfc.. maar ik dat m'n knoppen/tabs/e.d. in de xp tyle zijn ipv die 'lelijke' standaard knoppen. Het halve internet (msdn, google, etc) is al afgezocht, maar ik heb nog geen werkende oplossing gevonden.. :(

Kan iemand me verder helpen?

Verwijderd

Ik denk dat er een paar woorden in je post ontbreken waardoor je vraag me niet helemaal duidelijk is. Heb ik het juist als ik zeg dat je een DLL geschreven hebt in C++ en nu de controls in Windows XP style ziet terwijl jij liever de Windows 2000 style had gezien? Of net omgekeerd? En op welk platform draai je het ding? Windows XP? Da's natuurlijk ook interessant om weten, want ik weet niet of je bvb op de oudere Windows systemen (bvb Windows 2000) een Windows XP style tevoorschijn kunt toveren (ik zou in ieder geval niet weten hoe).

In ieder geval weet ik dit nog uit het hoofd: als je de oude style ziet op Windows XP en je wil de XP style krijgen kun je dit doen door een 'manifest'. De details ga ik hier niet beschrijven want die zou ik ook alweer ff moeten opzoeken (grofweg weet ik het nog wel maar enkel de ruwbouw levert jou ook niet veel op natuurlijk). Es zoeken met google op 'xp theme style manifest' ofzo, gegarandeerd hits :) Het omgekeerde (old style controls) op Windows XP heb ik ook es gedaan in een applicatie, maar dat was niet met MFC (gewoon rechtstreeks good old windows code met platform SDK). En daarvoor heb ik wat moeten prutsen met een functie die in UxTheme.dll gedefinieerd is (SetWindowTheme met name). Misschien dat het iets oplevert als je daarmee es gaat zoeken. It's worth a try :)

Verwijderd

Topicstarter
Het gaat inderdaad om xp style knoppen op windows xp.

K ga wel ff zoeken op die tips van jou!

  • jvdmeer
  • Registratie: April 2000
  • Laatst online: 20:43
Volgens mij bepaalt het aanroepende programma het uiterlijk. Het staat anders zo raar, alle schermpjes in XP-stijl en jouw dialogen in "oude"-stijl, of andersom.

Onder Delphi (dus waarschijnlijk ook bij bij BC++B) is het genoeg om TManifest op je form te slepen. Dan wordt er een TXPManifest aan het formulier toegevoegd, en dan ben je klaar.

Verwijderd

Topicstarter
jvdmeer schreef op zondag 19 december 2004 @ 15:25:
Volgens mij bepaalt het aanroepende programma het uiterlijk. Het staat anders zo raar, alle schermpjes in XP-stijl en jouw dialogen in "oude"-stijl, of andersom.
hm.. daar zit ook wat in..

We gaan eea proberen met een manifest, en anders is het jammer...

Maar wat het vreemde is, bijv. de google toolbar in internet explorer is in xp style, maar dat is ook gewoon een dll'tje...

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22:08

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ik geloof niet dat het op applicatie-basis bepaald wordt. De nieuwe styles zitten namelijk in een nieuwere versies van de common controls dll en soortgelijke dlls, en door een manifest mee te linken kun je bepalen welke versie van je dll jij wilt hebben. Omdat een dll prima weer dependencies naar andere dlls kan hebben kan het -denk ik- dus ook zo zijn dat jouw dll een dependency heeft naar een nieuwere versie van een dll dan de main app, en beide versies van die depenency dus worden ingeladen, en de main applicatie een andere dll gebruikt dan jouw dll.

In de MSDN staat een heel stuk over de nieuwe visual styles en het meelinken van die manifest (wat een xml file is).

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1