Visual Styles - wie BGC MFC Feature Pack



  • Hallo!
    Wie kann ich in der Assembly einstellen, dass meine Controls den Style von Office 2007 bekommen, mit Ribbons usw. in der WinAPI? Das kam ja für die MFC im Feature Pack. MFC ist ja WinAPI, wie (Funktionen, Assemblys) kann ich auf den Visuak Style und auf Ribbons zugreifen? 🙂

    Danke!



  • Ist das überhaupt möglich? 😢



  • Also den Visual Style bekommste so:
    resource.h ganz oben:

    #include <commctrl.h> 
    #pragma comment(lib, "comctl32.lib")
    

    in der .cpp ganz oben:

    #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
    

    In der WinMain:

    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                       PSTR szCmdLine, int iCmdShow)
    {
    
    	InitCommonControls();
    }
    

    MfG Tim



  • Bei den Ribbons hab ich keine Ahnung aber schau dir mal den Artikel hier an:
    http://www.codeproject.com/KB/miscctrl/rib.aspx

    MfG Tim



  • Cool. Das schaue ich mir an, aber ich habe es weniger auf Ribbons als auf diesen Visual Style abgesehen. Dein Code da macht ja nur die Visual Standart-Styles, aber nicht das Office 2007-Design 😞
    Ist das etwa mit ActiveX wie die Ribbons gelöst?


  • Mod

    Mit dem VS-2008 SP1 ist das Feature Pack integriert.
    Damit lassen sich MFC Anwendungen! Nicht WinAPI Anwednungen im Office 2007 Stil schreiben.



  • Ich wollte aber die WinAPI benutzen, kein C++, sondern nur C. 😞
    Wenn die MFC auf WinAPI basiert, muss die API-Funktionalität doch irgendwo implementiert sein? Nur wo?



  • Die MFC ist zwar auch ein Wrapper für die WinAPI, das aber nur für Sachen, die auch in der WinAPI implementiert sind. Für die Office-Styles enhält das Feature Pack eigene Funktionen, die nicht durch die WinAPI abgedeckt sind.

    Die neu in Windows 7 enthaltenen Ribbons sind allerdings direkt über die WinAPI ansprechbar. Näheres dazu findest Du im Blog von Kay Giza: http://www.giza-blog.de/Windows7RibbonsImCodeeinsatz.aspx


  • Mod

    Styl0r schrieb:

    Ich wollte aber die WinAPI benutzen, kein C++, sondern nur C. 😞
    Wenn die MFC auf WinAPI basiert, muss die API-Funktionalität doch irgendwo implementiert sein? Nur wo?

    Sagen wir mal so: Das wird alles einzeln gemalt, alles mit GDI Funktioneb und zwar massenhaft vielen, aber der Code steckt nur in der MFC bzw. in Office...


Anmelden zum Antworten