2008-12-24 6 views
1

J'ai un projet que j'ai démarré dans Turbo Delphi, que j'ai récemment mis à jour vers D2009, et j'ai remarqué un peu de bizarrerie dans le concepteur de formulaires. Toutes les anciennes formes ont un style Win98 appliqué à eux. Les boutons sont gris avec des bords carrés pointus, par exemple. Mais tout nouveau formulaire que j'ai créé depuis la mise à niveau affiche ses contrôles dans le style WinXP. Si je copie un contrôle d'un ancien formulaire et le collez à un nouveau, le style change. À l'exécution, tous les contrôles de tous les formulaires sont affichés dans le style XP.Concepteur de formulaires incohérent dans le style d'affichage de contrôle pour le projet mis à jour

Une idée de ce qui fait que mes anciens formulaires sont affichés dans un style ancien? J'ai regardé à travers la liste des propriétés, mais rien ne me saute aux yeux. Mais il y a évidemment quelque chose, et c'est persistant parce que la sauvegarde et le rechargement ne le changent pas. Quelqu'un sait où cette propriété est et comment je peux le réparer?

Répondre

2

Vous devez activer les thèmes d'exécution.

Avez-vous vérifié?

Project | Options | Application | [ ] Enable Run Time Themes 
+0

Il est permis, et ma question concerne l'apparence temps de conception de toute façon. –

1

regarde la clause uses à la fois dans une ancienne et une nouvelle, il peut y avoir quelque chose de différent. Je sais que dans Delphi 7, vous deviez ajouter xpman (ou somerthing comme ça) pour obtenir la peau de Windows.

+0

Non. Rien là non plus ... –

0

Avez-vous vérifié les fichiers dfm? Parfois, il y a quelque chose qui n'est pas montré dans le propertylist.

+0

Rien là non plus. Quoi qu'il en soit, il se cache dans un coin perdu de mon projet ... –

0

Peut-être avez-vous un paramètre Ctl3D (sp?) Dans votre dfm?

0

bien en utilisant D2007,

eu le même problème sur mes forfaits d'exécution. Ils peuvent créer en utilisant D5 ou D7.

Pour résoudre ce problème: ajoutez simplement un "XP Theme ManiFest" à votre fichier coupable "res".

Exemple d'un manifeste D2007:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <assemblyIdentity 
    type="win32" 
    name="CodeGear RAD Studio" 
    version="11.0.2902.10471" 
    processorArchitecture="*"/> 
    <dependency> 
    <dependentAssembly> 
     <assemblyIdentity 
     type="win32" 
     name="Microsoft.Windows.Common-Controls" 
     version="6.0.0.0" 
     publicKeyToken="6595b64144ccf1df" 
     language="*" 
     processorArchitecture="*"/> 
    </dependentAssembly> 
    </dependency> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> 
    <security> 
     <requestedPrivileges> 
     <requestedExecutionLevel 
      level="asInvoker" 
      uiAccess="false"/> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 
</assembly> 
Questions connexes