Managed MFC NET Fx 3 5 Windows 2000
- Slides: 25
リボン開発プラットフォーム ソフトウェアベンダのさまざまなニーズに対応 ターゲット: Managed ターゲット: MFC ネイティブ ターゲット: ネイティブ . NET Fx 3. 5 必須 Windows 2000 以上 Windows Vista 以上 Office 2007 & Windows styles 1 Windows styles Coming soon… 2009 年予定 Visual Studio 2008 SP 1 に搭載 Coming soon… Windows 7 と同時 にリリース WPF MFC Scenic Microsoft の リボン Strategy 1 Office 2007 スタイル はリリース済み, Windows スタイル は 2009 年を予定
リボン マークアップ(1) <Application xmlns="http: //schemas. microsoft. com/windows/2009/Scenic/Intent"> <Application. Commands> <!-- tabs --> <Command Name="Tab. Home" Symbol="cmd. Tab. Home" Id="30000"> <Command. Label. Title> <String. Def>Home</Stringdef> </Command. Label. Title> </Command> <!-- chunks --> <Command Name="Chunk. Clipboard" Symbol="cmd. Chunk. Clipboard" Id="31002"> <Command. Label. Title> <String. Def>Clipboard</String. Def> </Command. Label. Title> <Command. Large. Images> <Image Source="Paste. bmp"/> </Command. Large. Images> </Command> <!-- Clipboard commands --> <Command Name="Paste" Symbol="cmd. Paste" Id="57637”> <Command. Label. Title> <String. Def>Paste</Stringdef> </Command. Label. Title> <Command. Large. Images> <Image Source="Paste. bmp"/> </Command. Large. Images> </Command> </Application. Commands> <Application. Views>. . . </Application. Views> </Application>
リボン マークアップ(2) <Application xmlns="http: //schemas. microsoft. com/windows/2009/Scenic/Intent"> <Application. Commands>. . . </Application. Commands> <Application. Views> <Ribbon Name="Microsoft. Scenic. Intent. Ribbon. Sample"> <Ribbon. Tabs> <Tab Command. Name="Tab. Home"> <Group Command. Name="Chunk. Clipboard"> <Button Command. Name="Paste"/> <Button Command. Name=". . . "/>. . . </Group> </Tab> <Tab Command. Name=“. . . ">. . . </Tab>. . . </Ribbon. Tabs> </Ribbon> </Application. Views> </Application>
初期化とコールバック アプリケーションへの組み込み リボン プラットフォーム アプリケーション Co. Create. Instance Initialize(HWND, IUIApplication*) Load. UI( resource. Name ) On. Create. UICommand On. Destroy. UICommand On. View. Changed IUIFramework IUIApplication
ヘッダファイルのインクルード マークアップコンパイラで生成したヘッダファイルと リソースファイルをインクルード // Ribbon. Application. rc #include “ribbonres. h” #include “ribbonres. rc” ATL/COM ヘッダファイルをインクルード // stdafx. h #include <atlbase. h> #include <atlcom. h> #include <initguid. h> リボンインターフェース定義のヘッダファイルをイン クルード // Ribbon. Impl. cpp #include <scenicintent. h> #include <Scenic. Intent. Property. Helpers. h>
IUIApplication の実装 class CApplication : public CCom. Object. Root. Ex<CCom. Multi. Thread. Model> , public IUIApplication , public IUICommand. Handler { public: BEGIN_COM_MAP(CApplication) COM_INTERFACE_ENTRY(IUICommand. Handler) END_COM_MAP() // IUIApplication インターフェースの実装 STDMETHOD(On. View. Changed)(UINT 32 view. ID, __in UI_VIEWTYPE type. ID, __in IUnknown* p. View, UI_VIEWVERB verb, INT 32 u. Reason. Code); STDMETHOD(On. Create. UICommand)(UINT 32 command. Id, __in UI_COMMANDTYPE type. ID, __deref_out IUICommand. Handler** pp. Command. Handler); STDMETHOD(On. Destroy. UICommand)(UINT 32 command. Id, __in UI_COMMANDTYPE type. ID, __in IUICommand. Handler* p. Command. Handler); . . . 次スライドへ続く. . .
IUICommand. Hander の実装. . . 前スライドの続き. . . // IUICommand. Handler インターフェースの実装 STDMETHODIMP Execute(UINT 32 command. Id, UI_EXECUTIONVERB verb, __in_opt const PROPERTYKEY* key, __in_opt const PROPVARIANT* ppropvar. Value, __in_opt IUISimple. Property. Set* p. Command. Execution. Properties); }; STDMETHODIMP Update. Property(UINT 32 command. Id, __in REFPROPERTYKEY key, __in_opt const PROPVARIANT* current. Value, __out PROPVARIANT* new. Value);
リボン UI の初期化と破棄 IUIFramework* g_p. Framework = NULL; HRESULT Init. Ribbon(CMain. Frame* p. Frame) { HRESULT hr = : : Co. Create. Instance(CLSID_Scenic. Intent. UIFramework, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&g_p. Framework)); CCom. Ptr<CCom. Object<CApplication>> p. Application; hr = CCom. Object<CApplication>: : Create. Instance(&p. Application); hr = g_p. Framework->Initialize(*p. Frame, p. Application); hr = g_p. Framework->Load. UI(Get. Module. Handle(NULL), L"APPLICATION_RIBBON"); } return hr; void Destroy. Ribbon() { if (g_p. Framework){ g_p. Framework->Destroy(); g_p. Framework->Release(); g_p. Framework = NULL; } }
コントロールの追加とイベント処理(1) ボタンコントロールをタブグループへ追加 Markup. xml の Application. Commands 要素へ Command 要素を追加 <Command Name="Paste" Symbol="cmd. Paste" Id="57637”> <Command. Label. Title> <String. Def>Paste</Stringdef> </Command. Label. Title> <Command. Large. Images> <Image Source="Paste. bmp"/> </Command. Large. Images> </Command> Application. Views 要素の Ribbon. Tabs 要素へ Button 要素を追加 <Tab Command. Name="Tab. Home"> <Group Command. Name="Chunk. Clipboard"> <Button Command. Name="Paste"/> </Group> </Tab>
コントロールの追加とイベント処理(2) IUICommand. Handler インターフェース Execute メソッドの実装 STDMETHODIMP Execute(UINT 32 command. Id, UI_EXECUTIONVERB verb, __in_opt const PROPERTYKEY* key, __in_opt const PROPVARIANT* ppropvar. Value, __in_opt IUISimple. Property. Set* p. Command. Execution. Properties) { switch (verb) { case UI_EXECUTIONVERB_EXECUTE: if (command. Id == cmd. Paste) { Afx. Message. Box(“Paste!!”); } break; } return S_OK; }
コントロールの追加とイベント処理(3) IUICommand. Handler インターフェース Update. Property メソッドの実装 STDMETHODIMP Update. Property(UINT 32 command. Id, __in REFPROPERTYKEY key, __in_opt const PROPVARIANT* current. Value, __out PROPVARIANT* new. Value) { BOOL f. Val = TRUE; // or FALSE HRESULT hr = E_FAIL; if (key == UI_PKEY_Enabled) { hr = UIInit. Property. From. Boolean(UI_PKEY_Enabled, f. Val, new. Value); } return hr; }
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U. S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
- Windows media player 9 windows 2000
- Sysprep windows 2000
- Windows server 2000 caracteristicas
- Bento windows 8
- Sistema operativo windows 2000
- Upgrade windows 7 to windows 10
- Windows xp mode for windows 10
- Herramientas de movie maker
- Virtual machine windows xp download
- Windows live movie make
- Windows media player skins windows 10
- Windows mobile center windows 10
- Mailprogramma windows 7
- Windows identity foundation windows 10
- Windows vista windows 10
- Windows live movie maker 2012
- Windows driver kit windows 7
- Mfc critical section
- Mfc hierarchy chart
- Dll
- Mfc vs wpf
- Guia del matrimonio promotor mfc primer nivel
- Mfc internals
- Mfc feature pack
- Mfc cmas
- Mfc-002