+ All Categories
Home > Documents > Nicolas Brun Senior Development Lead Microsoft Corporation PC14.

Nicolas Brun Senior Development Lead Microsoft Corporation PC14.

Date post: 15-Dec-2015
Category:
Upload: ryley-perritt
View: 224 times
Download: 1 times
Share this document with a friend
Popular Tags:
21
Introducing The Windows Scenic Ribbon Nicolas Brun Senior Development Lead Microsoft Corporation PC14
Transcript

Introducing The Windows Scenic Ribbon

Nicolas BrunSenior Development LeadMicrosoft Corporation

PC14

Office 2007 Ribbon

Office Button

Quick Access Toolbar

Tab Contextual Tab SetContextual Tab

Help

Group (aka “Chunk”) Dialog Box Launcher

Windows Scenic Ribbon

Application Menu

Quick Access Toolbar

Tab Contextual Tab SetContextual Tab

Help

Group (aka “Chunk”) Dialog Launcher

In-box with Windows 7, redistribution available to Vista Win32 API, COM-based (targets native developers first) Feature parity (or close) with Microsoft Office 2007 Ribbon

Windows 7 Paint

demo

Should I use a Ribbon?

video

Important: What type of application am I? Some great advantages

Rich ways to present your features Enhances command discoverability Excellent user reviews/intuitive

and easy to learn Looks slick—a chance to

revitalize your application! Excellent Resource: Ribbon Guidelines

http://msdn.microsoft.com/en-us/library/cc872782.aspx

Should I Use A Ribbon?

The Ribbon LandscapeSoftware vendors have diverse needs

1 Office 2007 style available now, Windows style available 2009

Microsoft’s Ribbon Strategy

MFC ScenicWPF

Target:Managed

Target:MFC native

Target:Native

needs .NET 3.5 Win2K or newer Vista or newer

Office 2007 & Windows styles

Office 2007 & Windows styles1

Windows visual style

Coming soon…Official release in 2009

Available now in Visual Studio 2008 SP1

Coming soon…Ships with Windows 7

Challenging to author Windows UI in Win32 Following guidelines takes effort

Windows Scenic RibbonKey platform goals

Goal 1 Provide a great authoring story

Goal 2 Drive toward a consistent user experience

Strong Model View Controller separation Code and markup decoupling Small C++ API surface

Architecture

MarkupOrganization of

controls

<Ribbon> <Tab> <Button … /> </Tab></Ribbon>

COM APIInitialization andEvents handling

MyHandler::Execute(…){ DoStuff();}

Windows Scenic Ribbon Application-specific Business

Logic

void DoStuff() { … … }

Hello Ribbon

demo

InitializationIntegrate into your application

ApplicationRibbon Platform

IUIApplicationIUIFramework

CoCreateInstance

Initialize (HWND, IUIApplication*)

LoadUI( resourceName )

OnCreateCommand

Events Handling

IUICommandHandler interface

Execute(UINT32 commandId, UI_COMMAND_EXECUTIONVERB verb, const PROPERTYKEY* key, const PROPVARIANT* currentValue, IUISimplePropertySet* commandExecutionProperties)

UpdateProperty(UINT32 commandId, REFPROPERTYKEY key, const PROPVARIANT* currentValue, PROPVARIANT* newValue)

Hello Ribbon

demo

Categorized Menus

Tabs & Groups

Scenic Ribbon Controls

Color Pickers

Mini Toolbar &Contextual Menu

Dropdown GalleriesTooltips

Check Boxes

Spinners

Help Button

Font Control

Group Dialog Launchers

“In-Ribbon” Galleries

Combo Boxes

Buttons & Split Buttons

Behaviors are abstracted from specific controls Visual style automatically chosen

based on location Consistency and “basics” handled by platform Pay for play

Programming Model

Hello Ribbon

demo

Programming model Consistency Authoring path

Ribbon also available with MFC and WPF Is the Ribbon for you? Hands-on Lab at PDC

Last WordsWindows Scenic Ribbon

Evals & Recordings

Please fill

out your

evaluation for

this session at:

This session will be available as a recording at:

www.microsoftpdc.com

Please use the microphones provided

Q&A

© 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.

[email protected]@microsoft.com


Recommended