9/17/2018 10:17 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.

Slides:



Advertisements
Similar presentations
マイクロソフトがホスティングする拡張性に優れたサービス ベース アプリケーション プラットフォーム.
Advertisements

Microsoft VDI 事例とクラウド化. あらためて MS VDI と RDP の進化 3 Windows Server 2012 R2 の標準機能 1 platform 1 experience 4 deployment choices サーバーベースの リモートデスクトップ 旧ターミナル.
この部分こそが必 要とされている ! Runtime 自身と Expression が カバーする!
Windows Azure ハンズオン トレーニング Windows Azure Web サイト入門.
Oscar Koenders Principal Group Program Manager Microsoft Corporation
第28回codeseek勉強会 WPF で簡単ビデオ再生 2008年5月27日(火)
D2-301 現時点の本資料は 完成版のスライドではありません。
MSON-B2 .NET Framework Web アプリケーション開発
Microsoft Consumer Channels and Central Marketing Group
Windows Summit /1/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Windows Summit /1/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Windows Summit /1/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
C# Programming .NET / C# Group 検索ワードでみる C#の困り事とその対策
3/2/2017 9:01 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows Phone アプリケーションでの データ視覚化
3/3/2017 8:49 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
3/4/ :37 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Expression Blend 3で始めるSilverlight 3アプリケーション開発
ParadoxのLiveScripting事情
Using connected devices in Metro style apps Metro スタイル アプリで デバイスを使用する
3/11/2017 7:02 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
WindowsストアアプリをC++/CXで作る
Windows Summit /13/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
MIX 09 3/14/2017 9:51 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Microsoft Consumer Channels and Central Marketing Group
表紙です.
3/17/2017 1:49 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
データはお客様に属し、かつ、コントロール可能
HP ProLiant DL980 G7 SQL Server 2008 R2 NUMA 環境 ベンチマークテスト結果報告書
ビジネスにおける オープンソースの利用価値
XAML の勉強不要! WPF アプリケーションは作れます
大学におけるクラウド活用の 最新動向と先進ソリューションの 事例
3/21/2017 3:39 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Using tiles and notifications タイルと通知の使用
[コース: A1] .NET Framework の基礎
Windows Summit /6/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Windows Summit /8/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Windows Summit /9/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Microsoft Consumer Channels and Central Marketing Group
9/17/ :05 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows Summit /11/7 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Microsoft Partner Network Office 365 社内使用ライセンスの有効化
Windows Summit /11/7 こんにちは。Windows Summit へようこそ。
Azure Pack そして災害対策 日本マイクロソフト株式会社 エバンジェリスト 高添 修
11/9/2018 3:35 AM Windows Azure Platform ハンズオン トレーニング Windows Azure アプリケーション開発概要 ~ Windows Azure 入門編 ~ © 2007 Microsoft Corporation. All rights reserved.
11/16/ :27 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows Summit /22/2018 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may.
Windows Summit /11/23 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may.
Windows Summit /24/2018 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may.
Expression Blend 3で始めるSilverlight 3アプリケーション開発
Chad Siefert Senior Test Lead Microsoft Corporation
Windows Azure 通知ハブ.
12/9/ :14 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows Summit /31/2018 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may.
suppose to be expected to be should be
Microsoft Visual Studio 2005 Tools for
Windows Summit /21/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Windows Summit /22/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
MIX 09 2/23/2019 1:22 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Max Morris Principal Program Manager Microsoft Corporation
Windows Summit /24/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
主要関係者の特定用テンプレート Windows 10 and Office 365 導入ステップ 2/24/2019
Yochay Kiriaty Senior Technical Evangelist Microsoft® Corporation
~ 第5回 認証のためのプロキシー Web Application Proxy
Windows Summit /4/10 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Craig Rowland Senior Program Manager Microsoft Corporation
Microsoft Consumer Channels and Central Marketing Group
Windows Summit 2010 © 2010 Microsoft Corporation.All rights reserved.Microsoft、Windows、Windows Vista およびその他の製品名は、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。
Windows Summit /22/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Windows Azure メディアサービス
Presentation transcript:

9/17/2018 10:17 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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 7 : リボン UI 対応アプリケーションの開発 9/17/2018 10:17 PM Session ID : T2-401 Windows 7 : リボン UI 対応アプリケーションの開発 マイクロソフト株式会社 エバンジェリスト 井上 章 Blog : http://blogs.msdn.com/chack/ © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.

現在開発中のテクノロジーを取り扱っています。 仕様および機能は変更される可能性があります。 本セッションでは、 現在開発中のテクノロジーを取り扱っています。 仕様および機能は変更される可能性があります。

Agenda リボン UI とは? Office 2007 リボン Windows Scenic リボン リボン UI の特徴と利点 リボン開発プラットフォーム Scenic リボン アーキテクチャ リボン マークアップ リボン マークアップ コンパイラ 初期化とコールバック ヘッダファイルのインクルード IUIApplication の実装 IUICommandHander の実装 リボン UI の初期化と破棄 コントロールの追加とイベント処理 Scenic リボン コントロール まとめ

リボン UI とは? Office 2007 で採用された新しいユーザーインターフェース タブと大きめに配置されたコントロールで構成 Windows 7 ではリボン UI のための新たな API が標準で用意され、アプリケーションで容易に実装できる Windows 7 の ペイントやワードパッドでリボン UI が採用 以下の2種類に分けられる Office 2007 リボン Windows Scenic リボン

Office 2007 リボン Office ボタン タブ コンテキスト タブ セット ヘルプ クイック アクセス ツールバー グループ(別名 “Chunk”) ダイアログ ボックス ラウンチャー

Windows Scenic リボン Windows 7 に標準搭載, Windows Vista に配置可能 アプリケーション メニュー クイック アクセス ツールバー タブ コンテキスト タブ セット コンテキスト タブ ヘルプ グループ(別名 “Chunk”) ダイアログ ボックス ラウンチャー Windows 7 に標準搭載, Windows Vista に配置可能 Win32 API, COM ベースの開発(まずはネイティブデベロッパを対象) Microsoft Office 2007 リボンとほぼ同等の機能を提供

リボン UI の特徴と利点 統一されたユーザーエクスペリエンスの提供 大きくデザインされたボタンなどのコントロールと、ラベル表記によるコマンド説明 コンテキスト タブ による、選択オブジェクトに関連したコマンドのタブ表示 クイック アクセス ツールバーによるコマンドへの素早いアクセス コマンドを見つけやすい マウスでクリックしやすい 直観的なアプリケーション操作と操作方法の容易な習得 アプリケーションのユーザービリティ向上

リボン開発プラットフォーム ソフトウェアベンダのさまざまなニーズに対応 9/17/2018 10:17 PM リボン開発プラットフォーム ソフトウェアベンダのさまざまなニーズに対応 WPF MFC Scenic ターゲット: Managed ターゲット: MFC ネイティブ ターゲット: ネイティブ .NET Fx 3.5 必須 Windows 2000 以上 Windows Vista 以上 Office 2007 & Windows styles Office 2007 & Windows styles1 Windows styles Coming soon… 2009 年予定 Visual Studio 2008 SP1 に搭載 Coming soon… Windows 7 と同時にリリース Microsoft の リボン Strategy 1 Office 2007 スタイル はリリース済み, Windows スタイル は 2009 年を予定 © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.

Scenic リボン アーキテクチャ マークアップ ベースの UI 小さく高性能なネイティブ コード ランタイム XML によるリボン コントロール定義 小さく高性能なネイティブ コード ランタイム 最上位のメニュー バー機能をオーバーライドし、リボン形式のコマンド UI をレンダリング COM API による初期化処理、およびコールバック メソッドの実装によるイベント処理 アプリケーション固有のビジネス ロジック void DoStuff() { … } Windows Scenic リボン Markup コントロールの構成 <Ribbon> <Tab> <Button … /> </Tab> </Ribbon> COM API 初期化および イベント処理 MyHandler::Execute(…) { DoStuff(); }

リボン マークアップ(1) <Application xmlns="http://schemas.microsoft.com/windows/2009/Scenic/Intent"> <Application.Commands> <!-- tabs --> <Command Name="TabHome" Symbol="cmdTabHome" Id="30000"> <Command.LabelTitle> <StringDef>Home</Stringdef> </Command.LabelTitle> </Command> <!-- chunks --> <Command Name="ChunkClipboard" Symbol="cmdChunkClipboard" Id="31002"> <StringDef>Clipboard</StringDef> <Command.LargeImages> <Image Source="Paste.bmp"/> </Command.LargeImages> <!-- Clipboard commands --> <Command Name="Paste" Symbol="cmdPaste" Id="57637”> <StringDef>Paste</Stringdef> </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.RibbonSample"> <Ribbon.Tabs> <Tab CommandName="TabHome"> <Group CommandName="ChunkClipboard"> <Button CommandName="Paste"/> <Button CommandName="..."/> ... </Group> </Tab> <Tab CommandName=“..."> ... </Tab> </Ribbon.Tabs> </Ribbon> </Application.Views> </Application>

リボン マークアップ コンパイラ IntentCL.exe リボン マークアップ (XML) を検証 バイナリ版 リボン マークアップを生成 アプリケーションビルドで使用するヘッダファイルとリソースファイルを生成 コマンドライン構文 IntentCL <ribbonFile> <binaryFile> /header:<headerFile> /res:<resourceFile> /name:<ribbonName> markup.xml を記述 IntentCL.exeでコンパイル markup.bml ribbonres.h ribbonres.rc を生成 アプリケーションの ビルド リボン マークアップ のアプリケーションへの組み込み ※ リボン マークアップ の詳細は Windows SDK v7.0 ドキュメントを参照 オンライン:http://msdn.microsoft.com/en-us/library/dd371191(VS.85).aspx

初期化とコールバック アプリケーションへの組み込み リボン プラットフォーム アプリケーション CoCreateInstance Initialize(HWND, IUIApplication*) LoadUI( resourceName ) OnCreateUICommand OnDestroyUICommand OnViewChanged IUIFramework IUIApplication

ヘッダファイルのインクルード マークアップコンパイラで生成したヘッダファイルとリソースファイルをインクルード // RibbonApplication.rc #include “ribbonres.h” #include “ribbonres.rc” ATL/COM ヘッダファイルをインクルード // stdafx.h #include <atlbase.h> #include <atlcom.h> #include <initguid.h> リボンインターフェース定義のヘッダファイルをインクルード // RibbonImpl.cpp #include <scenicintent.h> #include <ScenicIntentPropertyHelpers.h>

IUIApplication の実装 class CApplication : public CComObjectRootEx<CComMultiThreadModel> , public IUIApplication , public IUICommandHandler { public: BEGIN_COM_MAP(CApplication) COM_INTERFACE_ENTRY(IUIApplication) COM_INTERFACE_ENTRY(IUICommandHandler) END_COM_MAP() // IUIApplication インターフェースの実装 STDMETHOD(OnViewChanged)(UINT32 viewID, __in UI_VIEWTYPE typeID, __in IUnknown* pView, UI_VIEWVERB verb, INT32 uReasonCode); STDMETHOD(OnCreateUICommand)(UINT32 commandId, __in UI_COMMANDTYPE typeID, __deref_out IUICommandHandler** ppCommandHandler); STDMETHOD(OnDestroyUICommand)(UINT32 commandId, __in IUICommandHandler* pCommandHandler); ... 次スライドへ続く ...

IUICommandHander の実装 ... 前スライドの続き ... // IUICommandHandler インターフェースの実装 STDMETHODIMP Execute(UINT32 commandId, UI_EXECUTIONVERB verb, __in_opt const PROPERTYKEY* key, __in_opt const PROPVARIANT* ppropvarValue, __in_opt IUISimplePropertySet* pCommandExecutionProperties); STDMETHODIMP UpdateProperty(UINT32 commandId, __in REFPROPERTYKEY key, __in_opt const PROPVARIANT* currentValue, __out PROPVARIANT* newValue); };

リボン UI の初期化と破棄 IUIFramework* g_pFramework = NULL; HRESULT InitRibbon(CMainFrame* pFrame) { HRESULT hr = ::CoCreateInstance(CLSID_ScenicIntentUIFramework, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&g_pFramework)); CComPtr<CComObject<CApplication>> pApplication; hr = CComObject<CApplication>::CreateInstance(&pApplication); hr = g_pFramework->Initialize(*pFrame, pApplication); hr = g_pFramework->LoadUI(GetModuleHandle(NULL), L"APPLICATION_RIBBON"); return hr; } void DestroyRibbon() if (g_pFramework){ g_pFramework->Destroy(); g_pFramework->Release(); g_pFramework = NULL;

コントロールの追加とイベント処理(1) ボタンコントロールをタブグループへ追加 Markup.xml の Application.Commands 要素へ Command 要素を追加 Application.Views 要素の Ribbon.Tabs 要素へ Button 要素を追加 <Command Name="Paste" Symbol="cmdPaste" Id="57637”> <Command.LabelTitle> <StringDef>Paste</Stringdef> </Command.LabelTitle> <Command.LargeImages> <Image Source="Paste.bmp"/> </Command.LargeImages> </Command> <Tab CommandName="TabHome"> <Group CommandName="ChunkClipboard"> <Button CommandName="Paste"/> </Group> </Tab>

コントロールの追加とイベント処理(2) IUICommandHandler インターフェース Execute メソッドの実装 STDMETHODIMP Execute(UINT32 commandId, UI_EXECUTIONVERB verb, __in_opt const PROPERTYKEY* key, __in_opt const PROPVARIANT* ppropvarValue, __in_opt IUISimplePropertySet* pCommandExecutionProperties) { switch (verb) case UI_EXECUTIONVERB_EXECUTE: if (commandId == cmdPaste) AfxMessageBox(“Paste!!”); } break; return S_OK;

コントロールの追加とイベント処理(3) IUICommandHandler インターフェース UpdateProperty メソッドの実装 STDMETHODIMP UpdateProperty(UINT32 commandId, __in REFPROPERTYKEY key, __in_opt const PROPVARIANT* currentValue, __out PROPVARIANT* newValue) { BOOL fVal = TRUE; // or FALSE HRESULT hr = E_FAIL; if (key == UI_PKEY_Enabled) hr = UIInitPropertyFromBoolean(UI_PKEY_Enabled, fVal, newValue); } return hr;

Scenic リボン コントロール グループ ダイアログ ラウンチャー ドロップダウン ギャラリー カテゴリ別メニュー ツールチップ グループ ダイアログ ラウンチャー ドロップダウン ギャラリー カテゴリ別メニュー ツールチップ “In-Ribbon” ギャラリー フォント コントロール チェックボックス コンボボックス タブ&グループ ボタン& スプリット ボタン スピナー ミニ ツールバー& コンテキスト メニュー カラー ピッカー ヘルプボタン

統一されたユーザーエクスペリエンスの提供 9/17/2018 10:17 PM まとめ リボン UI 対応アプリケーション リボン UI により直観的なアプリケーション操作が可能になり、ユーザービリティを向上することができる リボンプラットフォームにより基本処理が制御され、リボンを使ったアプリケーションのインターフェースの一貫性が保たれる 今後、MFC および WPF ベースでもリボン UI 対応アプリケーション開発が可能になり、アプリケーションへの実装もさらに容易になる 統一されたユーザーエクスペリエンスの提供 アプリケーションのユーザービリティ向上 Windows Scenic Ribbon SDK Document: http://msdn.microsoft.com/en-us/library/dd371191(VS.85).aspx リボン ガイドライン (MSDN Library): http://msdn.microsoft.com/en-us/library/cc872782.aspx © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.

関連セッション T2-201 Windows 7 機能概要 1月28日 13:15 - 14:25 T2-402 Windows 7:グラフィックス API 詳解 1月28日 16:05 - 17:15

9/17/2018 10:17 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.