Question

J'ai une application Assistant de MFC (CPropertySheet, CPropertyPage) créé avec VS2008. Je suis en train de donner mon application qui est presque terminé un look plus moderne. Je regardais dans CDHtmlDialog mais il semble que beaucoup de travail et pas trop bien documenté. Ensuite, je pensais que je pouvais utiliser certaines des fonctionnalités du Feature Pack. J'ai trouvé une discussion sur ce texte de lien mais ont a ajouté le code mentionné dans le fil à divers endroits dans mon application, mais l'apparence ne change jamais.

CMFCVisualManagerOffice2007 :: SetStyle (CMFCVisualManagerOffice2007 :: Office2007_Silver); CMFCVisualManager :: SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerOffice2007)); CDockingManager :: SetDockingMode (DT_SMART); RedrawWindow (NULL, NULL, RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_UPDATENOW | RDW_FRAME | RDW_ERASE);

ont également remplacé CPropertySheet avec CMFCPropertySheet & CPropertyPage avec CMFCPropertyPage

Merci ...

Était-ce utile?

La solution

Définir «donner mon application look plus moderne. Je suppose que vous ne parlez pas des contrôles communs XP style, mais une mise en page de l'assistant différent. Voulez-vous un graphique en-tête / bannière dans la partie supérieure ou gauche de votre assistant? Regardez les paramètres de configuration de la feuille de propriétés en m_psh.dwFlags: PSH_WIZARD97, PSH_WATERMARK, PSH_HEADER, ...

Si vous parlez en utilisant le style de bureau moderne « skins » pour votre assistant (Feature Pack de style), vous êtes hors de la chance. Ne peut pas le faire pour les boîtes de dialogue avec le Feature Pack. Regardez dans les contrôles BCG -. Ça va coûter de l'argent, mais il est plus à jour et vous obtenez des fonctionnalités supplémentaires

Si c'est quelque chose de complètement différent de ce que vous voulez, s'il vous plaît poster de ce qu'il mockups devrait ressembler, et / ou une capture d'écran de ce qu'il ressemble maintenant et ce que vous ne l'aimez pas.

Autres conseils

Vous devriez avoir:

  • CWinApp remplacé par CWinAppEx dans votre fichier de programme principal;
  • Le manifeste de Windows Common Controls 6.0 mis en œuvre (soit une ressource RT_MANIFEST ou une entrée de #pragma dans votre stdafx.h)
  • Le code ci-dessous au début de la méthode InitInstance() (ce code aurait été ajouté dans l'assistant Nouveau projet):

    // InitCommonControlsEx() is required on Windows XP if an application
    // manifest specifies use of ComCtl32.dll version 6 or later to enable
    // visual styles.  Otherwise, any window creation will fail.
    INITCOMMONCONTROLSEX InitCtrls;
    InitCtrls.dwSize = sizeof(InitCtrls);
    // Set this to include all the common control classes you want to use
    // in your application.
    InitCtrls.dwICC = ICC_WIN95_CLASSES;
    InitCommonControlsEx(&InitCtrls);
    
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top