31
Microsoft Visual Studio: Building Applications With MFC Damien Watkins Program Manager Microsoft Corporation PC26

Damien Watkins Program Manager Microsoft Corporation PC26

Embed Size (px)

Citation preview

Page 1: Damien Watkins Program Manager Microsoft Corporation PC26

Microsoft Visual Studio: Building Applications With MFC

Damien WatkinsProgram ManagerMicrosoft Corporation

PC26

Page 2: Damien Watkins Program Manager Microsoft Corporation PC26

Agenda Visual C++ Strategy MFC Specifically

Major MFC additions in Visual Studio 2008 SP1 Upcoming MFC additions

Summary Objectives

Understand Visual C++ strategy and direction Recognize our commitment

to enhance MFC(and other native) libraries

Agenda

Page 3: Damien Watkins Program Manager Microsoft Corporation PC26

Enable developer success on Microsoft platforms by providing world-classnative tools

Our customers care about: Investment Scalability Compliance Interoperability

Visual C++ Strategy

Page 4: Damien Watkins Program Manager Microsoft Corporation PC26

MFC

Halloween Myth

Page 5: Damien Watkins Program Manager Microsoft Corporation PC26

Applications to look and feel like Windows/Office applications

Goal is to provide a smooth and easypath to platform technologies The ability to customize functionality is vital

MFC Developers Want

Page 6: Damien Watkins Program Manager Microsoft Corporation PC26

Modernized MFC Ribbon Bar (Office 2007 Look & Feel and Visual Studio) Visual Manager Improved floating and docking panes New Controls

TR1 (“Technical Report 1”) shared_pointer Regular expression parsing New Containers (tuple, array,

unordered set, etc.)

MFC First Step: Visual Studio 2008 SP1

Page 7: Damien Watkins Program Manager Microsoft Corporation PC26

Visual Studio 2008 SP1MFC Office 2007Look & Feel

demo

Page 8: Damien Watkins Program Manager Microsoft Corporation PC26

As Easy As …

Page 9: Damien Watkins Program Manager Microsoft Corporation PC26

Visual Studio 2008 SP1 MFCThe new picture

G

CWinApp

Doc/View

OLE Support

Exceptions

File Services

Database Support

Containers

Frames

Control Bars

Dialogs

Views

Window Controls

GDI Support

Visual Manager

Tabbed MDI

Office Ribbon

ToolBar, Menu

Docking Panes

Common Dlgs

Common Controls

New Controls

More…

GeneralPurpose

GUISupport

ApplicationArchitecture NEW!

Page 10: Damien Watkins Program Manager Microsoft Corporation PC26

Designed to be easily customizableand extendable

Ribbon

CMFCRibbonApplicationButtonCMFCRibbonQuickAccessToolBar

CMFCRibbonBar

CMFCRibbonCategory

CMFCRibbonPanelCMFCRibbonButtonCMFCRibbonColorButton

Page 11: Damien Watkins Program Manager Microsoft Corporation PC26

MFC Second Step: Visual Studio 2010

Application Recovery and Restart Manager Task Dialog Live Icons & Rich Preview Taskbar Windows Scenic Ribbon D2D DPI Awareness

Page 12: Damien Watkins Program Manager Microsoft Corporation PC26

Application RecoveryAnd Restart Manager

Update your MFC applications seamlessly Automatic backup and recovery of

user documents Provide error recovery mechanism for

unexpected crashes

Page 13: Damien Watkins Program Manager Microsoft Corporation PC26

Visual Studio 2010Restart Manager

demo

Page 14: Damien Watkins Program Manager Microsoft Corporation PC26

Live Icon And Rich Preview

Live Icons show an icon based onthe contents of a file

Rich Preview provides a richeruser experience

Page 15: Damien Watkins Program Manager Microsoft Corporation PC26

Live Icons And Rich Preview

Page 16: Damien Watkins Program Manager Microsoft Corporation PC26

Windows 7 Taskbar

Jump Lists Recent Category (get by default) APIs for

Frequent Category Custom Categories and User Tasks

Thumbnail previews for tabbed documents Overlay Icons Progress Bar

Page 17: Damien Watkins Program Manager Microsoft Corporation PC26

Visual Studio 2010Taskbar

demo

Page 18: Damien Watkins Program Manager Microsoft Corporation PC26

Microsoft’s Ribbon Strategy

MFC

Goal: Enable a range of apps to use Ribbons

Future Plans: Markup for

MFC Ribbon Designer tools

The Ribbon LandscapeSoftware vendors have diverse needs

Target: MFC Native

Win2k or newer

Office 2007 and Windows Style¹

Available now in Visual Studio 2008 SP1

Scenic

Target: Native

Vista or newer

WindowsVisual Style

Coming Soon… Ships with Windows 7

WPF

Target: Managed

Needs .NET 3.5

Office 2007 and Windows Style

Coming Soon.. Official Release in 2009

1 Office 2007 style available now, Windows style available 2009

Page 19: Damien Watkins Program Manager Microsoft Corporation PC26

Visual Studio 2010Ribbon Support

demo

Page 20: Damien Watkins Program Manager Microsoft Corporation PC26

D2D

2D vector graphics, bitmaps and text

Hardware accelerated on graphics card Software fallback (CPU) – but still faster than GDI

Interoperates with GDI, D3D Built on Direct3D 10.1

Page 21: Damien Watkins Program Manager Microsoft Corporation PC26

Visual Studio 2010D2D

demo

Page 22: Damien Watkins Program Manager Microsoft Corporation PC26

DPI Awareness

Matching the hardware and OS resolutions provides the highest fidelity experience

However as the resolution increases screen elements become smaller

The solution is to make your applications DPI aware

Page 23: Damien Watkins Program Manager Microsoft Corporation PC26

DPI Awareness

Page 24: Damien Watkins Program Manager Microsoft Corporation PC26

Summary

Visual C++: Enabling developer success on Microsoft Platforms is our goal

MFC: Providing quick access to new platform functionality via the MFC Framework is a cornerstone of our plan

Page 25: Damien Watkins Program Manager Microsoft Corporation PC26

PDC Related Talks: Concurrency

Visual C++ Microsoft Visual C++: 10 Is the New 6

Parallel runtime and libraries Concurrency Runtime Deep Dive: How to Harve

st Multicore Computing Resources

Parallel Symposium: Addressing the Hard Problems with Concurrency

Parallel Programming for C++ Developers in the Next Version of Microsoft Visual Studio

Page 26: Damien Watkins Program Manager Microsoft Corporation PC26

PDC Related Talks: Windows 7

Windows 7 Windows 7: Integrate with the Windows 7 Desktop Windows 7: Developing Multi-touch Applications Windows 7: New APIs to Find, Visualize, and Organize Windows 7: Unlocking the GPU with Direct3D Windows 7: Web Services in Native Code Windows 7: Welcome to the Windows 7 Desktop Windows 7: Writing Your Application to Shine on Modern

Graphics Hardware

Page 27: Damien Watkins Program Manager Microsoft Corporation PC26

Resources

VC Team Blog: http://blogs.msdn.com/vcblog

C++ Channel9 Videos: http://channel9.msdn.com/tags/C++/

VC++ MSDN: http://msdn.microsoft.com/en-us/visualc/default.aspx

VC++ MSDN Forums: http://social.msdn.microsoft.com/Forums/en-US/category/visualc/

Page 28: Damien Watkins Program Manager Microsoft Corporation PC26

Evals & Recordings

Please fill

out your

evaluation for

this session at:

This session will be available as a recording at:

www.microsoftpdc.com

Page 29: Damien Watkins Program Manager Microsoft Corporation PC26

Questions?

Q&A

Page 30: Damien Watkins Program Manager Microsoft Corporation PC26

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

Page 31: Damien Watkins Program Manager Microsoft Corporation PC26