2008-09-16 11 views

Antwort

0

Sie müssen das Manifest für allgemeine Steuerelemente zu Ihren Projektressourcen hinzufügen. Hier ist der Code für die Manifest-Datei:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
<assemblyIdentity 
version="1.0.0.0" 
processorArchitecture="X86" 
name="Program Name" 
type="win32" 
/> 
<description>Description of Program</description> 
<dependency> 
<dependentAssembly> 
<assemblyIdentity 
    type="win32" 
    name="Microsoft.Windows.Common-Controls" 
    version="6.0.0.0" 
    processorArchitecture="X86" 
    publicKeyToken="6595b64144ccf1df" 
    language="*" 
/> 
</dependentAssembly> 
</dependency> 
</assembly> 
+0

Dies aktiviert nur die Common Controls V6 (alias Windows XP Aussehen). Was das OP anstrebte, war das "thematische" Aussehen (Office 2007-Stil, VS2005 oder eines der anderen, die in MFC Next enthalten sind). – Roel

0

Ich glaube, Sie durch einige MFC-Feature-Pack Funktionen können OnApplicationLook auf Basis CDialog (überprüfen Schritt 4 auf this page) zu implementieren. Es wäre besser, die ganze OnApplicationLook Methode zu implementieren, aber Sie können einfach Ihre Anwendung testen, indem Sie diese auf OnInitDialog Zugabe:

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); 
0

Dies ist die geringste Menge an Code ist die Visual Styles zu ermöglichen. Sie sollten in der Lage sein, Ihren CDialog leicht in den Rahmen zu stecken. Der IDR_MAINFRAME ist eine Menüressource.

class CMFCApplication2Dlg : public CFrameWndEx 
{ 
    CMFCMenuBar bar; 
public: 
    CMFCApplication2Dlg() : CFrameWndEx() 
    { 
     LoadFrame(IDR_MAINFRAME); 
     bar.Create(this); 
    } 
}; 

class CMFCApplication2App : public CWinAppEx 
{ 
public: 
    virtual BOOL InitInstance() 
    { 
     CWinAppEx::InitInstance(); 

     CMFCVisualManagerOffice2007::SetStyle(
      CMFCVisualManagerOffice2007::Office2007_ObsidianBlack); 

     CMFCVisualManager::SetDefaultManager(
      RUNTIME_CLASS(CMFCVisualManagerOffice2007)); 

     SetRegistryKey(_T("Local AppWizard-Generated Applications")); 

     m_pMainWnd = new CMFCApplication2Dlg(); 

     m_pMainWnd->ShowWindow(SW_SHOW); 
     m_pMainWnd->UpdateWindow(); 

     return TRUE; 
    } 
}; 

CMFCApplication2App theApp; 
Verwandte Themen