Welcome to MSDN Blogs Sign in | Join | Help

Quick Tour Of New MFC Functionality

Hi I’m Pat Brenner, a developer on the Visual C++ libraries team.  I’m pleased to give you a sneak peek at a major MFC update we’ve been working on.  Since we’re adding a number of cool new user interface components to MFC, this blog post is going to be graphics heavy.  I’d much rather show you some of these components than just describe them!  I hope you enjoy this quick tour through the new portions of the library.

 

Modern user interface elements

 

This update to the MFC library will enable developers to build modern user interfaces with support for the Office 2007 Ribbon Bar, Office-style menus, Visual Studio-style docking toolbars, tabbed documents and much more.   All of the components included in the update will run on Windows 2000 and above.

 

Let’s take a look at some of the Office 2007 Ribbon Bar support.  Below is an image of an MFC application built with the Office look and feel:

 

 Ribbon Application

The ribbon support includes support for the application button (the large round button at the top left), the quick access toolbar (the small set of tools just to the right of the application button) and the standard ribbon components.  Each tab on the ribbon (e.g., the “Home” tab above) allows access to a category of tools.  Each category is divided up into a set of panels (e.g., “Clipboard” and “Font” above) and each panel contains a set of ribbon elements.  These ribbon elements can have a wide variety of styles—I’ll go into more detail about these later.

 

Perhaps many of you would like to build applications that utilize some of the functionality we’ve had in Visual Studio.  For example, one of the most requested features is support for the smart docking we added in Visual Studio 2005.  With this new release, all the cool user interface features you’ve seen in the past versions of Visual Studio are at your disposal.

 

Let’s take a look at some of the Visual Studio support.  Below is an image of an MFC application built with the Visual Studio look and feel:

VS2005 Docking (edit)

 

MFC now implements its own menu bar and toolbar, which is fully customizable like the Visual Studio toolbar and menu bar.  This means that buttons can be moved between toolbars, and even from the toolbar to the menu bar and vice versa.   Custom toolbars can be created, and commands can be added to them.  And the images for the individual toolbar buttons can even be changed, and custom images can be created and used.  Support for docking panes is also included—these panes can be grouped into one docking frame as above, they can be floating as well as docked, and they support auto-hide mode like in Visual Studio, so a docked pane will slide out from the edge of the frame when its tab is hovered over, mimicking the Visual Studio behavior.  There is also support for tabbed MDI documents (which can be grouped) like in Visual Studio.

                                                                                                                                                                                                                                                        

Ribbon Elements

 

In addition to all the features supporting Office, Internet Explorer and Visual Studio “look and feel” there are a number of built-in cool elements you can use in the ribbon in your application.  In the images below, we provide a quick visual introduction to what’s included in the library.  The images come from the RibbonGadgets example that ships with the library.

 

In the image below you can see large and small buttons, as well as check boxes.  The buttons can be simple (so they just respond to a click), or they can drop down a menu or be a split button which responds to the click or drops a menu depending on the click location.

RibbonGadgets 1 (edit) 

In the image below you can see what we call palette buttons.  These can be a set of buttons that have associated images, so the user can see what he will get when he clicks on a button in the palette.  These palettes can be embedded in the ribbon, or they can be dropped down from a button in a window which can be resized dynamically by the user.

 RibbonGadgets 2 (edit)

In the image below you can see a variety of color choosers.  These can be embedded in the ribbon, or they can be attached to a button.  The table of colors associated with the chooser can be customized in your application.  There is a color picker dialog which offers even more flexibility, including the ability to choose the color of any pixel on the screen and use that color.

RibbonGadgets 3 (edit)

In the image below you can see groups of commands.  A ribbon group can be built from an existing toolbar, so if your application has a large number of toolbars, you can place them on the ribbon with ease.

                           

RibbonGadgets 4 (edit)                         

In the image below you can see support for edit boxes, combo boxes and spin controls, as well as the font picker control, which can display the font names in the font (as in Word) so you get an instant preview of the font appearance.

RibbonGadgets 5 (edit) 

Below you can see a few more ribbon elements.  Several of these, including the progress indicators and the links and sliders, actually make more sense on the ribbon status bar, which you can see in the first image at the top of this article.

                 

RibbonGadgets 6 (edit)                                                         

Powerful application wizard

 

We’ve also beefed up the MFC Application Wizard (see the images below) quite a bit to enable easy use of these new features in MFC.  We’ve added a couple of options to the “Project Style” category which will allow you to build a project that looks something like Visual Studio or an Office application by default.  We’ve added the option to use tabbed MDI document windows rather than the old MDI style.  And we’ve added the ability to choose the look and feel of your application with the “Visual Style and Colors” combo box.

 

An option that is hidden in this image is a checkbox that allows your application look and color to be changed at runtime.  You can choose your application look and color at design time, but if the user wants to change it, he can do so easily.  This is possible because the drawing of all the user interface elements is done via what is called a “visual manager”.  The visual manager takes care of all the drawing of elements, so if a different look is desired, all that is required is to switch to a different visual manager, and redraw the window, and your application instantly has a completely new look.  As you can see in the image below,  a number of schemes are supported, including Office 2003, Visual Studio 2005, and several different Office 2007 schemes which use different colors.  All of these are implemented using visual managers.

 

 wizard1

An option that is disabled in the image below (because ribbon was chosen instead of menu bar) is a checkbox that enabled “personalized menu behavior”.  This means that the menus will not show all commands by default, just like in Office applications.  When a menu is hovered over briefly, the menu will expand to contain its full set of commands.  And as the application is used, the most-used commands are added to the menu by default, so over time, the menu will become personalized to how it is being used.

 

 wizard2

 

Below is a screenshot of a running application which uses a ribbon.  This is actually the application created by the Application Wizard when the “Office” project style is chosen.  There is an Outlook-style navigation bar docked on the left side of the frame, and a caption (or message) bar at the top of the client area.  Note that the application button, quick access toolbar buttons, and the ribbon elements have keyboard hotkeys which are available when the Alt key is pressed.  On the right hand side of the ribbon is a drop-down element named “Style”, and from it you can choose which color you’d like the application to be presented in.

Wizard Generated with accelerator tips

Easy to update existing MFC code

 

One of the great things about the new components is that they’re easy to incorporate into existing applications.  All of the new behavior is encapsulated in new classes, and none of the existing classes have been modified.  If you want to update your existing MFC application to use the new menu bar and toolbar support, all that is required to update your application to the new look is to change the base classes of your application and frame windows, and add a few lines of code, and you’ve just updated your application to have a more modern interface. 

 

Below is an image of the new DrawClient sample.  This is a remodel of the DrawCli sample that ships with MFC—it’s been updated to include Ribbon support.  Most of the modifications to the source code were in mainfrm.h and mainfrm.cpp.  The ribbon is currently built entirely in code.  The ribbon is created and then the various ribbon elements (application button, quick access toolbar, categories, etc.) are added via calls to ribbon member functions.  However, the underlying command architecture did not have to change—all the ribbon controls can be associated with a command identifier, and when the command is fired, it is handled via the existing command handlers.  The object drawing code did not have to change in any substantial way—it was only augmented to allow a few new capabilities.  One of these capabilities is something I’ll call “command preview”.  This means that, just like in the new Office applications, you can see the effect of a command before actually choosing it.  For example, the purple rounded rectangle is active below.  As you float the mouse over the large color buttons in the ribbon, the rectangle will temporarily change color to match the color of the button the mouse is hovered over.  When you click on the button, the color of the rectangle will then be changed.

 

 drawcli (edit)

We’re pretty excited about all these new additions to MFC, and we hope you are too!  Feel free to ask any questions you have about the new features and I’ll do my best to answer.

 

Pat Brenner

Visual C++ Libraries Development 

Published Friday, November 09, 2007 2:12 PM by vcblog

Comments

Friday, November 09, 2007 5:43 PM by Andre

# re: Quick Tour Of New MFC Functionality

Blah blah blah. Anything new which can't be found here?

http://www.bcgsoft.com/FeatureTour/bcgcontrolbar-tour.htm

*thumbs down*

Friday, November 09, 2007 6:01 PM by Tony

# re: Quick Tour Of New MFC Functionality

Hi Pat,

This is great stuff... Are these examples in the SDK, or should I just figure them out all myself. Surely the application wizard doesn't just create me a VS look and feel app out of the box.?!

Wish there were more new MFC examples on CodePlex, or is that just for the managed world?

Friday, November 09, 2007 6:04 PM by WhatDoesItMatter

# re: Quick Tour Of New MFC Functionality

So you are monitoring the comments, then what the hell does it matter... you will only show what you WANT to show... Typical Microsoft filtering. Thats right, check your log files!

Friday, November 09, 2007 6:20 PM by Olivier

# re: Quick Tour Of New MFC Functionality

Outstanding!

I don't get why nice additions draw negative feelings.  That a feature exists elsewhere doesn't reduce the fact that having the feature in MFC is a net positive.  Geeks can be such curmudgeons sometimes...

Good work!

Friday, November 09, 2007 6:37 PM by Iain Heath

# re: Quick Tour Of New MFC Functionality

Pat, couple of questions about the new Office 2007 Ribbon functionality...

- Is this the actual ribbon code from Office (MSO) refactored, or is it a separate ground-up implementation?

- Will full source code be available for the new MFC, just as its has been for all prior releases of MFC?

Iain.

Friday, November 09, 2007 9:28 PM by Rodrigo Strauss

# re: Quick Tour Of New MFC Functionality

Thank you all @ VC team, thank you very much! It will really help to reassure the commitment of Microsoft to the native C++ development.

Saturday, November 10, 2007 1:39 AM by carole

# re: Quick Tour Of New MFC Functionality

To Iain:

This ribbon is not actual MSO source code; this is taken from BCGSoft.

http://www.bcgsoft.com/pressreleases/PR071110.pdf

I'm quite disappointed that ribbon and other advanced features are not from MS internal source codes, but bought from 3rd party.

We would like to use real and exactly same with MSO and VS. I'm wondering how much Visual C++ team could guarantee its quality and performance.

(I've already been using BCG library, and xTreme library...)

Saturday, November 10, 2007 3:24 AM by Sam

# re: Quick Tour Of New MFC Functionality

Hi,

carole >

I don't understand... How are built Office 2007 and VS2005 internally ? It can't be with BCG, right ? I mean... BCG provides VS-LIKE, and Office-LIKE, *after* Office and VS have been released... But the source code of VS and Office doesn't use BCG, right ?

So, I don't understand why MS doesn't use its own source code to provide these look-and-feels to programmers... Aren't VS and Office written in C++ ?

Saturday, November 10, 2007 4:01 AM by Charles L.F.

# re: Quick Tour Of New MFC Functionality

To protect something?

Anyway, it's good to have this built-in.

Saturday, November 10, 2007 5:04 AM by Manuel VN

# re: Quick Tour Of New MFC Functionality

Hi,

It is a very nice present for us, thanks. For me, most important it is knowledge than the equipment is working in MFC so that it does not disappear with the new languages and development platforms. I was working in a similar library for my applications but, with a diferent look and feel.

It is the great news, thanks.

Saturday, November 10, 2007 8:23 AM by Pavel

# re: Quick Tour Of New MFC Functionality

Hello,

this are a very great news. I was very exited to read about all this cool stuff in "next age MFC". MFC was all this time alive and i pleased to hear that Microsoft finally accepted it. 90% of our software we still developing using MFC, because of such issues like: Speed, Deployment and Compatibility. I hope this Update will give us new possibilities to pimp up our software products.  

Some questions from me:

- Is this MFC-Update only for VS2008? Are there any plans for VS2005 integration?

- What about PropertyGrid and ReportControl? Are they also a part of new MFC?

- Can you publish a new MFC class diagram?

- What about deployment issue? Is it still one DLL (mfc90.dll)?

Yaba daba du! Thanks...

Saturday, November 10, 2007 9:49 AM by Tanveer Badar

# re: Quick Tour Of New MFC Functionality

Good gracious, I can hardly wait to get my hands on it. But what about .net framework? I know you people are a separate group and Windows Forms supports interop and things

Saturday, November 10, 2007 1:52 PM by Eddie Paz

# re: Quick Tour Of New MFC Functionality

This is great. All my applications are written in MFC. I'm currently using Xtreme Toolkit, but I'm excited to have this built-in.

Can't wait to see the MFC team's implementation of BG's code.

Saturday, November 10, 2007 3:15 PM by Somebody

# re: Quick Tour Of New MFC Functionality

When I heard this functionality was going to be "built-in" to VS2008 in an update, I was *mortified*. I'd spent the last 10yrs of my life working on a GUI library. I thought that was all going to be flushed down the toilet in a single MFC update. Now that I hear that MS is really just shipping BCGSoft, I'm not too concerned. BCGSoft is one of the two biggest MFC libraries out there (CodeJock being the other), but its quality is horrible. Lots of flickering, flashing, etc. I suppose MS can take time to fix all that. I would have used CodeJock if I was them. Disclaimer: I don't work for either one, I work for my own. But between CodeJock and BCGSoft, CodeJock is definitely much higher quality.

Saturday, November 10, 2007 5:23 PM by Rick

# re: Quick Tour Of New MFC Functionality

What's the name of the library you've been working on? I'm looking for a good one, but CodeJock is too expensive (sadly, I missed sell off last month) and BCG.. ok, you said about it.

Saturday, November 10, 2007 6:48 PM by Jimmy

# re: Quick Tour Of New MFC Functionality

Pat,

A few questions:

1) Is this going to be integrated into the MFC DLLs themselves directly (horrible idea BTW since a key benefit of MFC is/was that its light weight with no dependencies), or an optional external library that I can "turn 100% off" and not add the bloat?

2) How will this affect turn around? If its an external standalone lib thats just visually integrated into the IDE, I can see it being inplace replacable when BCG comes out with fixes or new features. But if it requires a new MFC DLL, I see turn around going out the window.

Saturday, November 10, 2007 7:53 PM by Chabster

# re: Quick Tour Of New MFC Functionality

Good things:

1) modern UI for free

2) bundled into standard distribution (shared dll's)

3) attention from dev community - better docs and many examples

4) code quality improvement by MS guys (unlikely)

Bad things:

1) future MFC updates? (BCG is a commercial product and IMO it will always be more advanced)

2) MFC and new versions of BCG together?

3) BCG's code quality

Saturday, November 10, 2007 8:40 PM by Tomas

# re: Quick Tour Of New MFC Functionality

Hey Rick, don't wait for "Somebody", just download BCG's latest trial and see what stuff you're going to get for free. Don't hear what he "said about it".

Saturday, November 10, 2007 10:41 PM by Rick

# re: Quick Tour Of New MFC Functionality

I had some experience with BCGSoft products two years ago, so the first thought was that I don't need it even for free. However, I downloaded their latest pack and was amazed how the things have changed! Still there are some performance issues, but very minor. If this stuff is coming with new MFC, I take my words back!

Sunday, November 11, 2007 1:58 AM by Ayman Shoukry

# re: Quick Tour Of New MFC Functionality

Since some folks raised some issues about the quality. We haven't seen such flickering issues. From the support point of view, developers should expect the same kind of support for any other part of our librariest. We fully stand behind the quality. Hopefully you will be able to give it a try and let us know you feedback.

Thanks,

Ayman Shoukry

Lead Program Manager

Visual C++ Libraries Team

Sunday, November 11, 2007 2:35 AM by Somebody

# re: Quick Tour Of New MFC Functionality

Well, I'm not one to play QA for free :), but I'll toss you a couple of quick bones to make my point:

1) In the BCGPVisualStudioGUIDemo (as of the one posted tonight), you'll notice there are several rows of toolbars at the top:

a) Changing the height of the dock area by dragging the toolbars around causes the bottom of the application window to flash like crazy.

b) Drag one of the toolbars from docked to floating and back to docked a few times. You'll notice that even though I'm dragging it to where I want it (the lower right hand side of the dock area) it *always* flashes for a second in the upper left hand corner before redrawing in its correct location.

c) Its quite easy to get the bars to flash in an overlapped state before redrawing correctly. By this, I mean, if I drag the toolbars around, I can frequently see them painting on top of one another briefly before adjusting.

d) If I want to be anal about it, none of the themes really look very close to the real thing. Which is the whole point isn't it? Compare the Office 2003 style to the real Office 2003, the colors are way off.

2) In the BCGPMSOffice2007Demo (as of the one posted tonight):

a) Mouse over buttons so the tooltips appear. They often flash a black rectangle on the screen before repainting (easier to see on the expando buttons that have thumbnails)

b) Switching between active/inactive frame causes the frame buttons to jump around.

I could go on and on, but that was found in 5 minutes.

Sunday, November 11, 2007 3:46 AM by stevetei

# re: Quick Tour Of New MFC Functionality

To Carole and others that have asked why we didn't choose to build on top of the actual Office ribbon implementation: this is primarily a question of time-to-market and opportunity costs.  It would have taken us at least another 2 years to bring functionality such as this to market by building on top of Office ourselves and during that 2 years the team would not have been able to work on any other C/C+++ libraries features.  To be quite honest, we weren't willing to wait this long with the team unavailable for other libs projects in order to bring this functionality to customers.  We're really happy with what we found in BCGSoft, and the strategy we chose enables us get to market more quicky with a fantastic feature set with only some fine tuning integration, quality, performance, and security.

Thanks!

Steve Teixeira, Group Program Manager, VC++

Sunday, November 11, 2007 8:00 AM by Carole

# re: Quick Tour Of New MFC Functionality

Steve, thank you for your answer.

Honestly, I'm a big fan of VC++ and MFC. Then, I have another question about your decision of buying 3rd solution: Were there any technical or political reasons that prevent from using original Ribbon and UI source codes? I've expected those were written in native C/C++ code, so they can easily integrated into MFC library.

In my opinion, it would be much better if we would use *real* ribbon and other stuffs and not seeing source code, than using imitated gadgets and its open sources.

Sunday, November 11, 2007 9:13 AM by Chabster

# re: Quick Tour Of New MFC Functionality

http://www.bcgsoft.com/bcgcontrolbarpro-versions.htm Analyze the frequency of releases and number of defects resolved. With every version of this lib there are many bugfixes and new bugs injected by added features.

How Microsoft will guarantee the quality of BCG's code as a part of MFC?

Quality doesn't concern "flickering issues", i meant code quality. The library has been evolving for a long period of time and of course they were trying to make compatible versions with all those design and code quality problems.

Sunday, November 11, 2007 10:38 AM by stevetei

# re: Quick Tour Of New MFC Functionality

Carole: The notion of wrapping the Office version of the ribbon didn't present any political or legal issues to cause any concern.  There could, however, potentially be some techniccal issues, since it was written to meet the needs of MS Office and not necessarily optimized to provide for the best experience for developers that want to put a ribbon into any application.  In the end, we felt the path we chose gave us the best time to market as well as maximal utility and flexibility for developers incorporating ribbons into their applications.

Chabster: Perhaps we have different frames of reference here, but when I look at the page you reference I'm pretty impressed with the frequency of releases, the number of new features in these releases, and the modest number of bugs that need to be fixed.  At any rate, this code base went through several reviews, and we feel very good about its quality.  We're also doing even more work to improve quality and security as we integrate it into MFC proper.  As Ayman said, we will absolutely stand behind the quality of this library.

Sunday, November 11, 2007 12:26 PM by Sven

# re: Quick Tour Of New MFC Functionality

Steve, is Microsoft going to integrate these classes into mfc90.dll or is MFCnext an add-on to the core MFC? I would prefer the second.

Sunday, November 11, 2007 1:15 PM by Chabster

# re: Quick Tour Of New MFC Functionality

stevetei: Steve, will MS provide an MSDN like documentation for the whole library? BCG's is not pretty.

Sunday, November 11, 2007 1:28 PM by Jimmy

# re: Quick Tour Of New MFC Functionality

Chabster, thats so wrong, I don't even know where to begin. Flickering & drawing bugs doesn't matter to you as long as the code looks pretty underneath? Glad I didn't hire you to work on my GUI :).

Sunday, November 11, 2007 1:45 PM by Somebody

# re: Quick Tour Of New MFC Functionality

To the VC++ management who claim they don't see flickering and drawing issues in BCG:

Its not that hard to find them. Try download the demo off the BCG site and drag the toolbars around. They flash like crazy as they are being docked/undocked/redocked. I'm looking at it right now and the toolbars often repaint over one other and in completely the wrong locations and cause the bottom of the app window to flash like crazy as well.

Sunday, November 11, 2007 1:52 PM by Somebody

# re: Quick Tour Of New MFC Functionality

Also...

1) None of the themes are very accurate to the original app. Ie. The Office 2003 theme generally looks like Office 2003, but the colors are pretty different. Same for the other themes.

2) Tooltips often flash black rectangles on the screen before repainting correctly (at least in the ribbon demo).

3) Ribbon frame buttons jump around between active & inactive states.

Yeah, most of these issues I've just mentioned are "minor", but having 1000's of "minor" issues isn't that good.

Sunday, November 11, 2007 2:02 PM by stevetei

# re: Quick Tour Of New MFC Functionality

Sven: The current plan is for all of the new functionality to be completely integrated into MFC (and, consequently, MFCxx.dll).

Chabster: Yes, we will have MSDN docs for everything we ship.

Somebody: It's great to see you're checking out BCGSoft's stuff, but please do keep in mind that there is more work we're doing here as a part of the MFC integration.  We we look forward to your feedback once we actually release a beta version of the software.  :)

Sunday, November 11, 2007 2:35 PM by Somebody

# re: Quick Tour Of New MFC Functionality

Stevetei: Thanks for the response. I will definitely check out the beta. Still, I think the consensus that I've seen here and on other places discussing the new functionality is that regardless of the quality people would like to be able to "turn it off" much the way we don't need to ship ATL, STL, or even MFC if we don't want to. Would be nice if the BCG stuff was "integrated", but still modularized at the same time. Putting everything in the MFCxx.DLL will turn a thin 1.5MB DLL into a 20MB DLL.

Sunday, November 11, 2007 3:15 PM by Andre

# re: Quick Tour Of New MFC Functionality

"The current plan is for all of the new functionality to be completely integrated into MFC (and, consequently, MFCxx.dll)"

That sucks big time! Like me there are many others who don't want all that stuff and there is no justification why you bloat our apps.

I also don't understand why there is so much positive feedback (or is the negative just filtered?). Here is an analogy:

When a car maker releases a new model there will be all kind of aftermarket parts for it, from spoilers to seats. What Microsoft did is they took an aftermarket spoiler (the cheapest one they found), put it on the old MFC and try to sell it as a new version. So what's so cool about that? Just buy the spoiler (BCGControlBar) and put it on your old car (VS2005).

But maybe Microsoft follows a different strategy. With the integration of the BCGControlBar MFC apps will be bloated, sluggish and require a lot more memory than before, so nobody can say that for .NET apps in comparison any longer.

Sunday, November 11, 2007 4:03 PM by Sven

# re: Quick Tour Of New MFC Functionality

Somebody is right. The size of the BCG dll is round about 3.5 MiB, the Office 2007 images (blue, silver, black) need additional 5.0 MiB. I doesn't need this stuff, because I'm using Codejock's Xtreme Toolkit and I don't want to ship a 10 MiB MFCxx.dll instead of a 1.5 MiB dll.

Sunday, November 11, 2007 5:42 PM by phil

# re: Quick Tour Of New MFC Functionality

Can I use this lib in a plain win32 app?

Sunday, November 11, 2007 5:48 PM by Moritz

# Why not Codejock?

Hello! I work with the CodeJock Xtreme Toolkit Pro for a long time now. They implemented graphics and speed much better than BCG! Codejock matches MS graphics for 100 %. You should think once again about that!

Greetings, Moritz Leutenecker

Monday, November 12, 2007 12:26 AM by Joe

# re: Quick Tour Of New MFC Functionality

I third Somebody's request that this be put in it's own DLL.

(The SxS stuff totally and completely sucks as it is; adding this to the mix makes it even worse. After we shoot all the lawyers, I want to line up the idiots who came up with SxS.)

Monday, November 12, 2007 1:29 AM by Bruno

# re: Quick Tour Of New MFC Functionality

To those asking why the VC++ team didn't use Office's implementation of the Office 2k7 UI, I think Herb Sutter's blog tells it best:

http://herbsutter.spaces.live.com/Blog/cns!2D4327CC297151BB!343.entry

To summarize: Over the years, the Office team comes up with its own UI, then the Tools team and/or Windows team add it to the tools and/or OS.  The Tools and Window teams never use the Office team's implementation, because the Office team's implementation is for internal use by the Office team, and not meant or designed to be used as a library by 3rd parties.  The Office code isn't suitable for 3rd party use because it wasn't designed with that in mind.  This isn't the first time that the tools team has used 3rd party libs in its own offerings, and it makes sense because those 3rd party libs are built explicitly for 3rd party use (unlike the Office code).

Microsoft has been it this way for years.

But see Herb Sutter's blog, he says it better than I. :)

Monday, November 12, 2007 2:59 AM by Dariusz quatscht

# Neues von der MFC Front und TR1 Support

Auf der TechEd wurde die Katze aus dem Sack gelassen. Ale Contenti stellte die neuen Features der MFC

Monday, November 12, 2007 10:00 AM by Chris

# re: Quick Tour Of New MFC Functionality

Will the appropriate image files be made available for redistribution?  For that matter, has the image library been updated for VS2008?  The update for VS2005 was a huge step forward, but there seemed to be a large number missing (no I don't have a list) images, plus everything that is new for Vista.

Monday, November 12, 2007 10:15 AM by jschroedl

# re: Quick Tour Of New MFC Functionality

This is excellent news!  I for one am pleased to see MS' commitment to the C++ platform as we'll be using it for quite some time.  GUI additions like this are needed.  I can't wait to try them out!

Pat, can you tell us if we'll gain the ability to hide a window's menu bar and have it appear when the user presses Alt (ala IE and Media Center)?

Monday, November 12, 2007 10:23 AM by mschaef

# re: Quick Tour Of New MFC Functionality

What are the patent/licensing implications of using the new MFC Ribbon components in my software? My understanding is that Microsoft has imposed significant restrictions on that visual style:

http://www.microsoft.com/presspass/features/2006/nov06/11-21officeui.mspx

"The license [For the office-style UI] is available for applications on any platform, except for applications that compete directly with the five Office applications that currently have the new UI (Microsoft Word, Excel, PowerPoint, Outlook and Access"

If I build a commercial application using the Ribbon components of MFC, does it still need to be vetted out by the Office-UI licensing group?

Monday, November 12, 2007 11:15 AM by Ayman Shoukry

# re: Quick Tour Of New MFC Functionality

With regard to the licensing question, we are currently in process of finalizing such details. Most probably, the licesnse will adhere to the Office license you mentioned above.

"The license [For the office-style UI] is available for applications on any platform, except for applications that compete directly with the five Office applications that currently have the new UI (Microsoft Word, Excel, PowerPoint, Outlook and Access"

Thanks,

Ayman Shoukry

Lead Program Manager

Visual C++ Team

Monday, November 12, 2007 12:09 PM by Pat Brenner

# re: Quick Tour Of New MFC Functionality

Hi all! Whew! Thanks all for the feedback and questions.  I'll try to answer some of them here:

=========

Tony, re: "Are these examples in the SDK, or should I just figure them out all myself. Surely the application wizard doesn't just create me a VS look and feel app out of the box.?!"

Yes, these samples are all included in the MFC samples we are shipping with this feature pack.  And yes, the application can (but does not have to) create you a VS look and feel app right out of the box.

=========

Iain, re: "Is this the actual ribbon code from Office (MSO) refactored, or is it a separate ground-up implementation?  Will full source code be available for the new MFC, just as its has been for all prior releases of MFC?"

This is not the Office ribbon refactored, it is a separate implementation.  But it has been approved by the Office team with respect to their ribbon guidelines.  And full source code will be shipped as aw

=========

Pavel, re: "Is this MFC-Update only for VS2008? Are there any plans for VS2005 integration? What about PropertyGrid and ReportControl? Are they also a part of new MFC? What about deployment issue? Is it still one DLL (mfc90.dll)?

Yes, this update is only for VS2008.  There are no plans for VS2005 integration.  Property Grid is included.  And it is still one DLL.

=========

Somebody, re: "Putting everything in the MFCxx.DLL will turn a thin 1.5MB DLL into a 20MB DLL."

We have integrated everything into MFCxx.DLL, to simplify deployment.  But the DLL did not grow to 20MB. It grew from 1.2MB to 3.8MB.

=========

Chris, re: "Will the appropriate image files be made available for redistribution?"

There are load of image files included with the samples code.  All the screen shots in the original blog post are samples or app-wizard generate code, so you'll have access to all those images.

=========

JSchroedl, re: "can you tell us if we'll gain the ability to hide a window's menu bar and have it appear when the user presses Alt?"

I don't believe this will be supported in the feature pack, but it's an excellent suggestion for a future feature request.  Thanks!

Monday, November 12, 2007 12:32 PM by Andre

# re: Quick Tour Of New MFC Functionality

Thanks for filtering the negative comments!

But that doesn't make your decisions any better.

Monday, November 12, 2007 12:42 PM by Curt Nichols

# re: Quick Tour Of New MFC Functionality

> "But it has been approved by the Office team with respect to their ribbon guidelines."

Does this remove the need to license the 2007 Microsoft Office User Interface when using the MFC implementation?

(see http://blogs.msdn.com/jensenh/archive/2006/11/21/licensing-the-2007-microsoft-office-user-interface.aspx)

Monday, November 12, 2007 12:46 PM by Andre

# re: Quick Tour Of New MFC Functionality

"We have integrated everything into MFCxx.DLL, to simplify deployment.  But the DLL did not grow to 20MB. It grew from 1.2MB to 3.8MB."

I assume not including the visual styles?

Let me quote from this post made only a few days ago here on this blog (http://blogs.msdn.com/vcblog/archive/2007/10/28/more-on-the-korean-trip.aspx):

"Of course, we have received a number of excellent feature requests to be considered for our next versions of Visual C++: Componentized and light-weight MFC libraries"

So basically you're ignoring your customer requests and justify it by saying this simplifies deployment? That's absurd.

I and many others don't want this features and there is no justification why you increase the download size of our apps.

Monday, November 12, 2007 1:05 PM by Sven

# re: Quick Tour Of New MFC Functionality

@JSchroedl: Already implemented in MFC 9.0. Please check CFrameWnd::SetMenuBarVisibility()

Monday, November 12, 2007 1:43 PM by Ayman Shoukry

# re: Quick Tour Of New MFC Functionality

To clarify the office UI licensing questions, customer will still be required to click through the office agreement.

Thanks,

Ayman Shoukry

Visual C++ Team

Monday, November 12, 2007 1:57 PM by vcblog

# re: Quick Tour Of New MFC Functionality

Andre & somebody,

Thanks for the feedback!

With regard to the post regarding simplifying the deployment story, let me assure you that we are not igonring the customer feedback. We are currently considering how to ease the deployment of our libraries in general. Unfortunately, that won't be something in the VS2008 time frame since as you probably know, VS2008 will soon be out. We are looking into that for the next release.

Once more, we appreciate your feedback.

Thanks,

Ayman Shoukry

Visual C++ Team

Monday, November 12, 2007 2:04 PM by Ayman Shoukry

# re: Quick Tour Of New MFC Functionality

Andre, I checked the posts and spam filter and it looks like some of your posts were regarded as "possible spam"...don't know why though. I marked them as not spam and they should be visible now. Let me know if you can't see any of the posts you previously posted.

Thanks,

Ayman Shoukry

Visual C++ Team

Monday, November 12, 2007 2:05 PM by vcblog

# re: Quick Tour Of New MFC Functionality

To Andre & WhatDoesItMatter:

We aren't filtering any posts.  There were 3 posts caught by the blog software as "possible spam".  Once we checked for unposted comments this morning, we published them.

Bill

Visual C++ Development Team

Monday, November 12, 2007 3:21 PM by Markus

# re: Quick Tour Of New MFC Functionality

Huh? Why does the MFC need his own implementation of toolbars if Visual Studio already has one or better put: why doesn't VS use the one from MFC? "Doesn't eat Microsoft it's own dogfood?"

Monday, November 12, 2007 4:44 PM by Jimmy

# re: Quick Tour Of New MFC Functionality

I don't believe any major MS software uses MFC. Office uses its own private GUI library in native C++. Visual Studio uses something derived from that. Its not an MFC issue, its a Win32 issue. MFC is a thin wrapper (or at least it was) on the Win32 controls. Its the Win32 controls that dont provide a rich, modern UI. Blame the common control team for that :).

Monday, November 12, 2007 4:52 PM by Andre

# re: Quick Tour Of New MFC Functionality

@Bill & Ayman: Thanks for clearing that up. I know the comments were harsh but hopefully still respectful.

The reason why I absolutely dislike the integration of the BCGControlBar is because I've used the toolkit 2 years ago in my own app and I had to strip it out and replace it with Codejocks toolkit. The performance and quality went steep downhill. If you need to log and monitor engine parameters in realtime (where realtime means 100 samples per second) it's not affordable that the highlighting of some buttons takes up 100% cpu time. Also the look&feel (= user experience) was and is still not good. Just a few weeks ago I've removed the last #ifdef BCG.

And I really really doubt that this will change till the release of the new MFC. And even if you improve the toolkit, there is still no justification to switch back to BCGs implementation. What do your customers gain that they couldn't have before? You don't even have the controls ready for RTM.

I also prefer they current deployment model where the toolkit ships on top of the MFC. While I consider the MFC to be stable, updates are only required once a while when the Windows division shipped a new version, I want toolkit updates and bug fixes ASAP.

So there are many reasons why the BCGControlBar should not be integrated into the MFC:

a) You can ship MFC90.DLL with VS2008 RTM and can keep the version the same for the new controls

b) You can update the controls without the core MFC

c) Customer who do not wish to use the new controls don't need to deploy a MFC DLL triple the size as before

So please reconsider your decisions.

Monday, November 12, 2007 7:06 PM by Somebody

# re: Quick Tour Of New MFC Functionality

Bill, Ayman, Andre: I totally agree with Andre on this. BCG performance and look & feel is bad (there is one toolkit out there that is even worse then BCG actually -- that one makes BCG look spectacular). I'm not trying to sell you on Codejock at all. If I was trying to sell you on a GUI lib, I'd sell you on mine :). Although at this point, my ribbon impl is not yet complete which is why I don't sell it.

All we are trying to say is that use whatever you want for "giving out for free purposes" because obviously we aren't going to convince you otherwise at this point in time (or probably ever). Although I think you'll find on here and on Usenet is the reaction to BCG in general is mostly negative. The point is at least make it modular to the point that we can drop in whatever library we want or none at all.

Think about it... say I want to give my boss (or client) a quick & dirty app to fix something or do something quick. The VS2005/2008 MFC is not yet common place, so we need to ship that. My boss and/or customer might be curious as to why I'm shipping a 4MB DLL all of a sudden.

For those that want to use the included BCG lib, fine for them. For those of us who want to use something more professional, fine for us :).

Monday, November 12, 2007 7:11 PM by Somebody

# re: Quick Tour Of New MFC Functionality

P.S. You already compile the debug version of MFC into multiple DLLs, so obviously this is a feasible request :).

Monday, November 12, 2007 7:24 PM by Norman Diamond

# re: Quick Tour Of New MFC Functionality

"We have integrated everything into MFCxx.DLL, to simplify deployment.  But the DLL did not grow to 20MB. It grew from 1.2MB to 3.8MB."

Does that growth include integrating ATLx.DLL and integrating MFC<humanlanguage>x.DLL into MFCxx.DLL, to simplify deployment?

If the answer is no then I second (or fifth or whatever) those who say the BCG library should be a separate DLL.

Monday, November 12, 2007 7:37 PM by Somebody

# re: Quick Tour Of New MFC Functionality

Just do something like:

#define USE_BCGSOFT_LIB

or whatever in the StdAfx.h file. Then in the afx.h file, only include the BCG headers, libs and DLLs if that symbol is defined. Have the wizards put that define in automatically for new projects if they select the BCG mode from the wizard. If you want to get real fancy, give the option to "BCG-isize" projects during migration.

Simple as that. Everyone will be a happy camper. Those who want a free solution will be happy. Those who want a light weight plain MFC DLL will be happy, and those of us who want to use a different lib will be happy.

Tuesday, November 13, 2007 3:10 AM by Ben Anderson (MSFT)

# re: Quick Tour Of New MFC Functionality

Just a few comments:

Re: filtering - even my comments often get flagged as spam and don't show up for a day or two until one of the blog admins notice it.  Sorry about that, I'm not sure exactly what it is that triggers that - maybe if some word is close to a swear word or something?

JSchroedl, re: "can you tell us if we'll gain the ability to hide a window's menu bar and have it appear when the user presses Alt?"

Actually, this is one of the features that will be shipped in Orcas as part of the default/old school MFC menu bars and will be available at RTM without any updates necessary.  Not sure if it will work with the new stuff since it's designed to mimic Office and VS which don't do that as far as I'm aware.

Re: the merits of wrapping existing implementations vs coming up with new ones.  

The problem with trying to rip pieces out of Office or VS is that you want only to get the stuff you want and not any of the other stuff.  Any big app is it's own framework with its own legacy of crazy interdependencies.  Even if you did manage to pull out what you wanted, it's interface would probably need a lot of reworking to get it to work in a new framework or not to rely on assumptions about how Office or VS behaves.  Not that it's impossible, just that it's not always going to be the best decision.  Also, you don't necessarily want the overhead of VS to end up in your MFC app since the complexity of the VS GUI might be way more than you're interested in.  It's better in my opinion to provide a more customizable solution where you can turn features on or off and tweak them.  Providing an application framework and library is a slightly different problem that producing a one-off application.

To address concerns over file size:

I realize that some people don't like the additional size.  I think it's a small burden to bear myself in most situations (I'm sure there are some of you where this isn't the case).  Luckily, your situation will be somewhat mitigated since you can still deploy the Orcas RTM bits which won't include this update.  Once the update is out, the subsequent service releases will contain it, but I that growth is something whose benefits far outweigh the costs.  MFC could turn into a perpetual maintenance-mode library, but personally that wouldn't make me any happier.  If that happened (and let's be honest - to a large extent that's what happened the last couple years on the visuals front), you would see a continuously dwindling investment and a higher and higher bar to fix bugs.  Instead what this does is really revitalize MFC as a platform, contributes to making it an interesting product to work on and makes it a viable platform for continued development.

Anyway, I can say that personally I'm excited about the enhancements coming down the pipe.  It's great to finally see a wizard generated MFC App that doesn't look like a time capsule from 1998.  I think it's great that we're able to drop this so soon after VS2008 and am even more excited about the possibilities this opens up for the next version of VS.

Thanks!

Ben Anderson

Visual C++ Libraries Team

Tuesday, November 13, 2007 3:45 AM by Nima

# re: Quick Tour Of New MFC Functionality

Can we use these features for Native programs are written in Win32 APIs ?

or it is just for MFC ?

Tuesday, November 13, 2007 3:56 AM by Marcus

# re: Quick Tour Of New MFC Functionality

@Nima: It's obviously just for MFC Apps.

@MSFT: You should really make sure to purchase the best-quality GUI lib available for yourself and your customers. It's a major decision. Once you've shipped it, you will have to fix and tweak it for decades. Just getting it cheap and quickly is a bit shortsighted.

Tuesday, November 13, 2007 6:09 AM by Athan

# re: Quick Tour Of New MFC Functionality

Thanks God, I still code using Win32 APIs alone!

@MSFT: Pushing new design concepts using a cheap immitation like BCG, is a bad desision, very bad...

Tuesday, November 13, 2007 6:42 AM by Andre

# re: Quick Tour Of New MFC Functionality

"Luckily, your situation will be somewhat mitigated since you can still deploy the Orcas RTM bits which won't include this update."

I don't consider "RTM bits" for production use. You've lost your last creditability with VS2005.

I would like to raise my concers with this again:

a) Performance and quality. Both are abysmal and you know it.

b) File size. Don't want to repeat myself, there is no technical reason that justifies the bundling but many not to do it.

c) Compile time. Including the BCGControlBar in the precompiled header increases the compile time by about 50%.

d) Legal issues. Bundling the BCGControlBar with the MFC is anticompetitive. It's the same as the Media Player and Windows. Therefore I'm going to report this to the European Commissioner for Competition (http://ec.europa.eu/commission_barroso/kroes/index_en.html), and hopefully they will act. Maybe a petition would be helpful. I'm looking forward to the N SKU of Visual Studio.

Visual C++ lacks so many features, refactoring, code metrics (!), C99, etc. It has become a absolutely pathetic product.

Tuesday, November 13, 2007 10:58 AM by Somebody

# re: Quick Tour Of New MFC Functionality

Nice to know our comments and feedback (people who actually USE MFC -- think about MSFT, you DON'T use it) have been *useless* and a *waste of time*. The general attitude from MSFT on this topic has been:

Us: "BCG is poor quality"

Msft: "We disagree"

Us: "Heres a list of problems..."

Msft: "We still disagree"

Us: "We are concerned about file size and code quality"

Msft: "We aren't, we got this code on the cheap. You'll have to live with it"

Us: "We are concerned about turn around with the bug fixes"

Msft: "Come on, you can't wait 2 to 3 years for the next release?? We haven't released timely fixes since Visual Studio Studio 4.x"

Us: "Fine, how about at least putting it in a seperate DLL so we can turn it off if we want?"

Msft: "No"

Tuesday, November 13, 2007 12:05 PM by Somebody

# re: Quick Tour Of New MFC Functionality

I suggest everyone send Mr Kroes a polite "me too" email about this issue (as I have done) whether you are in Europe or not. The only customer feedback MSFT seems to listen to is "anti-trust" and "class action lawsuit".

Tuesday, November 13, 2007 12:25 PM by Tomas

# re: Quick Tour Of New MFC Functionality

Us: "BCG is poor quality"

Obviously, there was no choice. In any case Microsoft had to take either BCG, or CodeJock. Unfortunately, CodeJock is not any better: non MFC-native design, product stability, high maintenance cost (a lot of +5, -7 in the code makes it slightly faster - but it's a pain to maintain)/overall code quality, lack of certain features - all of that puts it aside.

"We aren't, we got this code on the cheap. You'll have to live with it"

You certainly can't know the price, unless you work for MSFT or for BCGSoft. Yes, BCGSoft's code is easier to maintain, from this point of view it's cheap.

"We are concerned about file size and code quality"

Yes, some ifdefs would help. Regarding the code quality I said above.

"We are concerned about turn around with the bug fixes"

So again, taking the CJ's code quality into account it wouldn't be better.

Tuesday, November 13, 2007 1:04 PM by Somebody

# re: Quick Tour Of New MFC Functionality

Well, it seems the MFC community in general thinks CJ is a better library. I have not used either library in my applications (and have no intention to), but I have *closely* examined demos from BCGSoft, Codejock and a few others. If I had to pick one of the libs based off of demos alone, I'd take a few + 5 and - 7's over insane flicker and painting bugs any day of the week. In fact, I'll even tell you that my GUI library has a lot of performance tweaks like that (as I'm sure Windows itself does) as well and I maintain it just fine. Its an MFC native design and reuses Win32 controls wherever possible (including the real win32 menus). So I add + 5 or subtract - 7 in a few places or assume a radio buttons size. I don't assume things that will "commonly" change like fonts or string lengths, etc. Unlike BCG, I'd challenge you to find an iota of flicker in my GUI lib or performance issues. And *that* is my goal.

Tuesday, November 13, 2007 1:10 PM by Somebody

# re: Quick Tour Of New MFC Functionality

P.S. I don't mean to imply that my lib is only hardcoded for specific setups. It works just fine on NT4, NT5, XP, 2003 and Vista. It also works just fine with all themes, classic mode and high contrast mode and can change on the fly at runtime (something which was clearly not tested in VS or BCG). I also provide speedy fallback functions for earlier OSes (ie. 32bit alpha BMP support on NT4 and NT5). My point is, you can have performance optimizations and still work fine across the board and be maintainable.

Tuesday, November 13, 2007 1:20 PM by Tomas

# re: Quick Tour Of New MFC Functionality

So would you buy a tweaked sport car to take your children to school? :)

Tuesday, November 13, 2007 1:29 PM by Somebody

# re: Quick Tour Of New MFC Functionality

Not if its lights flickered.

Tuesday, November 13, 2007 2:47 PM by Tomas

# re: Quick Tour Of New MFC Functionality

a) Performance and quality. Both are abysmal and you know it

Sorry, but it's just your humble opinion. Many others think differently. You can find the proof in many famous products incorporating BCG's stuff, and you can read MHO about CJ's code above. So, who's right?

b) File size. Don't want to repeat myself, there is no technical reason that justifies the bundling but many not to do it.

So, if XT was included, what would be the difference?

c) Compile time. Including the BCGControlBar in the precompiled header increases the compile time by about 50%.

Just buy a faster computer. Haven't you bought one for the Vista yet?

d) Legal issues.

So just assume MS has developed its own technology for the ribbons and other stuff. Does it make the competiotr's life easier? Would you spam Mr Kroes in that case?

Tuesday, November 13, 2007 3:17 PM by Vlasta

# re: Quick Tour Of New MFC Functionality

I was hoping for something more than integration of an already available library when reading about VS2008 support for the ribbon control. Something lightweight and to the point, not a bloated library that is only usable with MFC. I have switched to WTL a loooong time ago and it is superior to MFC in almost every aspect. Oh, well...no good news for me then.

A little rant: Why does Microsoft invest in such monsters as MFC and .net framework? If it were not Microsoft pushing these technologies, nobody will be using them.

Tuesday, November 13, 2007 6:57 PM by Somebody

# re: Quick Tour Of New MFC Functionality

Tomas,

You should try read the responses on here, newsgroups, etc. Its not mine or Andres opinion. Its that of most people. Yeah, so Nero uses it. Big whoop. Nero doesn't exactly have the best UI.

Buy a faster computer? Uh, you want to pay for it?

While I think CJ is the better product when compared to BCG, I wouldn't want CJ integrated either.

I clearly stated that while its good for some people to have the free library (of any kind or quality), it should not be forced on us because of whatever reason MS chose.

We simply stated we wanted it in a different DLL so we could turn it off.

Doesn't BCG require me to now ship GDI+ too? I recall reading they have an #ifdef to turn that off, but how is that going to work if its all integrated into MFC?

I have less use for the bloated GDI+ then I do for BCG.

Tuesday, November 13, 2007 9:05 PM by Tomas

# re: Quick Tour Of New MFC Functionality

"You should try read the responses on here, newsgroups, etc. Its not mine or Andres opinion. Its that of most people."

ACD Systems, Altova - "big whoop" too? The list of BCG's customers is big enough...

In addition, I won't be surprised if this "most of people" is just a few guys spaming across news groups and blogs under different names.

"We simply stated we wanted it in a different DLL so we could turn it off."

This simple statement is accompanied by words like "horrible" and so on. Do you think it's fair? You have to prove that first. Otherwise everything you say is senseless.

Tuesday, November 13, 2007 9:24 PM by Tomas

# re: Quick Tour Of New MFC Functionality

Oh, I did exactly as you recommended, Somebody, and found Andre's opiniton here (pretty sure it's him):

http://www.bcgsoft.com/cgi-bin/forum/topic.asp?TOPIC_ID=3704

I'm just wondering what made this guy so angry at BCG...

Tuesday, November 13, 2007 11:15 PM by Somebody

# re: Quick Tour Of New MFC Functionality

Prove that BCG performance is poor? I thought I already did that. I listed 5+ performance issues in a post on Sunday. I read the link you posted about Andres post. I fail to see your point. He said "it integrates more naturally into MFC", but he also said "performance is poor [in several areas]".

Let me re-iterate my position. I said:

1) I have never used EITHER BCG or CJ

Actually, that is not entirely true... at my last company, they had a product that was originally written around CodeJock. The original author said that he spent a lot of time fixing CJ bugs (not sure what version he was basing that one). I ripped out the CJ and replaced it with my own library because I wanted controls that CJ did not offer at the time and I wanted to use my own library of course. I didn't really care if CJ was good or not because it didn't offer the controls I wanted at the time (and neither did any other library except mine).

2) I said strictly from DEMOS that CJ looked better. I stand by that and have listed 5+ issues as proof.

3) I simply want a way to turn it off regardless of whether microsoft uses BCG, CJ or even mine.

4) I have better things to do then spam programming blogs

5) By the way you are defending BCG (while no one else is), its clear you work for them. Should we take the word of a BCG employee over the dev community?

Wednesday, November 14, 2007 12:06 AM by Tomas

# re: Quick Tour Of New MFC Functionality

Should I have put a disclaimer before, that I don't work for them? :)

I've been using this great (IMHO) product for a long time and just can't stay aside when you and others use the words like "horrible", "poor quality", "abysmal" and so on. Yes, I saw the issues you listed. So what? None of them is critcal enough to say "horrible".

Your position to turn off this stuff is clear -and I don't argue here.

Wednesday, November 14, 2007 12:10 AM by Tomas

# re: Quick Tour Of New MFC Functionality

"I fail to see your point. He said "it integrates more naturally into MFC""

The point was "I like the BCG library more". That's all.

Wednesday, November 14, 2007 9:41 AM by Chris

# re: Quick Tour Of New MFC Functionality

to Somebody

Is you own lib available to buy? I am very interested in a good C++ lib.

Wednesday, November 14, 2007 10:19 AM by Andre

# re: Quick Tour Of New MFC Functionality

@Tomas: I don't post anonymously anywhere. And you're right, the old posts on the BCG forum are from me too. I've already said a few posts above that I've used the BCGControlBar till 2 years ago. And yes, it integrates better into existing MFC apps than the other toolkits. But unfortunately the performance hit was too big and also the quality went downhill. So I had no choice but to replace it with Codejocks toolkit. For some time I had a #define to switch between BCG and CJ but it became clear that BCG doesn't match my requirements and won't do in the future. And many others share my opinion. Beside you I know only one other guy who prefers BCG but many who prefer CJ.

But we don't have to argue here which toolkits is better, everyone has different requirements. The point is that NO toolkit should be integrated into the MFC. And beside all the technical reasons I also see legal issues. If every app has to ship and #include BCGs stuff anyway than they do have an anti-competitive advantage.

Wednesday, November 14, 2007 11:12 AM by Somebody

# re: Quick Tour Of New MFC Functionality

Chris: Thanks for the interest. I don't sell my library because I don't have the resources to develop or support it full time.

Wednesday, November 14, 2007 12:31 PM by pingpong

# re: Quick Tour Of New MFC Functionality

@Somebody: why not upload the sample application built with your lib and post link here? If it's so good you're likely to get venture capital and resources to develop/support it.

At least we'll be able to compare your demo against CJ and BCG.

Wednesday, November 14, 2007 12:45 PM by Tomas

# re: Quick Tour Of New MFC Functionality

Andre, I don't see any advantage here, except some marketing exposure. If someone needs a lightening speed tweaked library with perfect pixel match, he still may use CJ products. At the same time, CS has already complete library, while BCG has to create a new one (either derive its classes from the new controls, and/or cut the existing functionality, otherwise it will be shipping the stuff that has been already included in the new MFC - exactly the same stuff!).

VS is shipped with many tools. Would you use a free version of profiler or documentation tool if you need something advanced and professional?

Wednesday, November 14, 2007 7:40 PM by Stas Levin

# re: Quick Tour Of New MFC Functionality

Hi All,

My name is Stas Levin and I am the CEO and Founder of BCGSoft.  I really appreciate everyone who’s taken time to comment - even those that have been negative regarding our product.  This definitely shows that there’s a lot of passion around native code and libraries.  This is a good thing!

We believe, however, that there’s been a lot of misinformation regarding our products.  We have thousands of satisfied customers that are using the BCGSoft Professional Library.  Many of these customers ship commercial applications with BCGSoft.  They are a testament to the quality and performance of our product.  If we didn’t believe that we’re better than any competing product we would never have offered a 30 day money back guarantee.

I do want to address some of the specific points that have been raised around performance and flickering:

* Ribbon redrawing performance has been dramatically improved: we worked hard to resolve this problem.

* Tooltip flickering and redrawing problem: yes, this actually happened on the slow computers with a “huge” tooltips. Fixed.

* Other performance and flickering issues will be reviewed and resolved soon.

We’re proud that Microsoft selected us to be their partner in significantly improving MFC.  They chose us after a thorough evaluation and I see from their posts on the forum that they stand by their decision.  We know that our software isn’t perfect, but we still believe it’s the best on the market.  We will continue to strive for excellence and remain open to all your suggestions, comments and feedback.

Thanks,

Stas Levin

CEO BCGSoft

Thursday, November 15, 2007 3:12 AM by Jug

# re: Quick Tour Of New MFC Functionality

I'm surprised at the negativity about BCGSoft, and requests for MS to choose a "quality" library if they are to choose any.

The thing is that BCGSoft *is* regarded a high quality UI library. We've used it for some time, and I have not found a library that preseves the quality this well while at the same time adhering to MFC design guidelines. The latter one is a big one too, which I honestly didn't find CodeJock to be as compliant to.

BCG seem to provide a pretty darn complete feature set and at least to me in a blind test, I wouldn't really be able to distinguish a well designed Visual Studio-like app in BCG vs the real thing.

And complaining about adding ~2 MB to the DLL size? Is that really a big deal? What are you doing, shipping your applications by e-mail?? Tons of .NET developers found the .NET Framework at something like 25 MB acceptable, anid this is just all about the size of a typical DLL file...?

Thursday, November 15, 2007 8:47 AM by Andre

# re: Quick Tour Of New MFC Functionality

Thanks for your reply Stas. As you might imagine I do not agree with you. Your competitors have a 30 day money back guarantee too, so what?

The performance was indeed improved in the recent releases. The Ribbon from version 9.0 to 9.4 was unusable for anything else than screenshots. Since version 9.5x the Ribbon may be used by customers who do not have specific performance requirements. Same with all the others controls. Do yourself a favor and compare the CJ and BCG Ribbon sample. Open the file menu in the CJ sample, it feels solid and opens instantly, while the BCG sample feels sluggish*. And you can even see the difference in the task manager. Nitpicking? Or low (lowered) expectations of BCGs customers?

(* and I've compared it on a fast desktop PC while most of my users use older laptops in their cars and shops)

So why should anyone switch back to the BCG controls? Switching the toolkit costs development time. Time that could be spend on features. What value would I as a CJ customers get from a switch? I don't see any.

You had your chance and failed to deliver. You can find my 2 years old posts on your forum where I complain about the performance and you failed to improve, instead you released the Ribbon component with abysmal quality.

I don't want your controls, so please don't annoy me with increased MFC size and compile time. That's all I'm asking for.

Harsh? No, that's why we have competition. And the bundling and integration is anti-competitive.

Ship it as a separate DLL and prove that you can do better than in the past.

Thursday, November 15, 2007 11:18 AM by Ivo

# re: Quick Tour Of New MFC Functionality

Hi.

I'd like to know who is going to maintain and support the MFC version of BCG? Is it Microsoft or BCGSoft? According to bcgsoft.com they have an update about every 2/3 months. MS on the other hand updates MFC every 2/3 years. So as a MS customer, but not BCGSoft customer, how often can I expect updates? On the other hand if I am a BCGSoft customer, how do I use their latest version with MFC?

Thursday, November 15, 2007 5:10 PM by Tomas

# re: Quick Tour Of New MFC Functionality

@Andre "Open the file menu in the CJ sample, it feels solid and opens instantly, while the BCG sample feels sluggish"

I've just done it. Took the latest ribbon demos from BCG and CJ available on their sites. The CPU consumption is clearly the same. It's hard to see ANY difference in the performance, yet the CJ sample resizes a little bit smoother(but as we read above, BCG has another fix for that).

Should I mention that CJ shows ugly square tooltips and the color picker has nothing common to Office 2007? Where is the context toolbar?

I'm sorry, but CJ's stuff does not come close to BCG's in Office 2007 compliance. (Oh, the Customization dialog - have you ever seen it in the Office 2007 and comapred to CJ's).   CodeJock's products have never been ahead of BCGSoft and won't be. The only argument you have is the slight advantage in the performance - nothing more. So, just stop spaming here and let other people enjoy the finest products from BCG.

Without best regards...

Tomas (a big fan of BCGSoft library)

Thursday, November 15, 2007 6:20 PM by Joe

# re: Quick Tour Of New MFC Functionality

Are there any Visual Studio Product Managers reading this blog? Putting the BCG code in the MFCxx.dll is just plain stupid. The various C++ DLLs are already too bloated as it is--due, no doubt, to a long indifference of Microsoft to actually serve their C++ developer customers. Adding another 2MB is a huge deal--add in the SxS fiasco and all the more reason to statically link.

Does anyone at Microsoft actually realize what all their nonsense has done to installs? They've become positively bloated.

Too bad Borland became such a screwed up company. A little competition might do you some good.

Thursday, November 15, 2007 6:32 PM by Somebody

# re: Quick Tour Of New MFC Functionality

Tomas: I was getting ready to abandon this blog because its clear that Microsoft is not listening to us in regards of at the very least giving us an "off option" or even that they aren't really reading it.

I will say this: BCG has a *few* things implemented in the Ribbon that CJ does not. But regardless of performance or flickering, BCG has a lot more drawing bugs. If you are not picky about drawing bugs in your GUIs, maybe you should move to the back end work. I have already listed 5 drawing bugs above that you declared "minor". So I'll listed 5 more:

[Before I do, FYI, notice Stas did not even comment on the Office/VS toolbars because they are so broken]

1) On the Office 2007 style menus, the drop shadows are "so weirdly wrong". It looks rectangular with weird points sticking out of it. Not even close to Office 2007 or how a shadow would appear in nature or even the stock OS shadow.

2) On the Office 2003 / Visual Studio 2005 style menus, if the menu gets inverted, the shadow around the button just gets left behind in the wrong place and wrong shape.

3) Visual Studio 2005 demo, I leave a few of the docking windows in the floating position, it now repaints so slowly when the application is launched.

4) Toolbar customization: mouse randomly flashes to "circle slash" cursor and back as I drag a button across the screen, the insert mark is often not drawn correctly, etc. etc.

5) Toolbar buttons often get left in "hot" state when the mouse is not even on them.

There, I threw in a free bonus one in #4. Thats 6 bugs there, 5 bugs from before. That makes 11 so called "minor bugs" I found from just minor testing with the two demos. I have not even scratched the surface in testing other themes and various OSes, etc.

Please stop calling BCG a "great" library, because it is clearly not and as Andre stated, BCG has shown ZERO effort in fixing any of these 11 bugs I just mentioned, because they have existed in the demos for as long as I have been testing them against my library (which is many, many years).

I am not baised towards either BCG or CJ. CJ has issues too, but with Codejock is more of "some missing features" vs. broken ones.

Thursday, November 15, 2007 6:34 PM by Joe

# re: Quick Tour Of New MFC Functionality

Three years ago I did a major evaluation of CodeJock and BCG (Dundas/Ultimate Toolkit was eliminated quite quickly.) My test consisted of writing the basic framework of the planned application with each toolkit. In the end CodeJock was the hands down winner. It wasn't due to performance as much as the terrible all-or-nothing architecture of BCG--to use it would require compromising to many parts of the design of the application. Plus, BCG required an amazing amount of monkeying around with all basic framework classes and the documentation stunk.

By contrast, CodeJock not only let me use just those parts I needed, its integration into my App was so seamless I thought I'd made a mistake. On top of all that, the documentation was excellent as was the support. They not only got back to me about a serious issue within 24 hours, they solved it! (BCG took over a week and basically told me "tough luck".)

(In case anyone is wondering, in the end .NET was used for the application I mentioned and the result is a big, slow giant--and I mean humongous--turd.)

Thursday, November 15, 2007 7:17 PM by Tomas

# re: Quick Tour Of New MFC Functionality

Someone: The bugs you've listed are really minor, perhaps this is the reason they do exist up today. 99% of customers won't mention them at all.  If you want to talk about attention to details in CJ product, please:

1. Buttons should lose pressed/highlighted state when you move mouse cursor out, but keep pressing the left mouse down.

2. White pixel at the bottom right corner of the popup menu.

3. Ribbon tabs, must display at least 3 characters.

4. You can highlight and press another ribbon button when a popup menu is displayed.

5. Should I mention a crash in a Gallery?

I found these problems in 10 minutes as well. So, it seems that CodeJock also has some "broken" features.

Thursday, November 15, 2007 7:27 PM by Somebody

# re: Quick Tour Of New MFC Functionality

Tomas:

1) I mentioned this same issue in BCG

2) BCG doesn't even clip the ribbon tab text properly (neither does CJ). Both often over draw the tabs.

In any event, this discusion is getting pointless. Both libraries have issues. You obviously prefer BCGSoft and I obviously prefer using my *own* library (because I prefer fixing bugs in my own code vs. others). Neither of us will convince the other.

The whole point is, I don't want to ship BCG with my app, so why not have an option to turn it off?

To the other person. Yes, 2MB of unused bloat bothers me. Why do you think I'm not using GDI+ or the 30MB of bloat .NET?

Thursday, November 15, 2007 7:29 PM by Tomas

# re: Quick Tour Of New MFC Functionality

@Joe. Please stop talking about documentation and API. It's well known that CJ's documentation has always been useless. Just search their forums (but they usually remove negative things).

About API and seamless integration with MFC's applications: even Andre told that BCG is much better in this area.

"as the terrible all-or-nothing architecture of BCG"

LOL - go for .NET, Joe, MFC is not your cap of tea :)

Thursday, November 15, 2007 7:40 PM by Tomas

# re: Quick Tour Of New MFC Functionality

@Somebody. "In any event, this discusion is getting pointless"

Agree... Just ignore my answers to Andre :)

Thursday, November 15, 2007 8:57 PM by Joe

# re: Quick Tour Of New MFC Functionality

Tomas,

You need to stop being an apologist for BCG.

I am speaking from my direct experience of an intense evaluation of BCG. At the time I did my evaluation the architecture did require almost their entire class library to be linked to the application. (You are aware that BCGs architecture is quite different from CJ and UT, right?)

I also stand by my complaints of BCG's poor documentation and support. They simply did not document huge portions of their class library.

I made it very clear this was three years ago and BCGSoft may have changed since then. I doubt the fundamental architecture of their product is much different, but it's entirely possible their documentation has improved.

You snarky comment about .NET makes no sense. I'm trying to keep my apps slim, not fat. I'm still annoyed at the changes to MFC with VS 2002 that at least doubled the minimum size of an MFC app (you used to be able to strip out most the active X stuff amongst other things.) I currently use straight C++ for most my work.

Be aware that your use of ad hominem attacks and suggestions that CodeJock engages in some conspiracy instead of arguing the substance of people's complaints only undercuts your defense. You may have had a good experience with BCG, but I have not and am simply reporting that and why.

Thursday, November 15, 2007 10:27 PM by Tomas

# re: Quick Tour Of New MFC Functionality

Joe,

"I also stand by my complaints of BCG's poor documentation and support"

Is it related to the new MFC we're discussing here? I believe MS has much more resources to document everything.

"I doubt the fundamental architecture of their product is much different"

The architecture is based on MFC and the whole library is designed to be very comfortable to MFC developers. It's all matter of skills and... taste. But I'm sure this fact influensed the decision.

"Be aware that your use of ad hominem attacks and suggestions that CodeJock engages in some conspiracy"

Some time ago Kirk Stowell, CEO of CodeJock, personally encouraged his customers to post on forums about MS plans to update MFC. Unfortunately, the exact wording I meant in my post above has been cut off from CodeJock's forum.

Friday, November 16, 2007 10:06 AM by Steven Burns

# re: Quick Tour Of New MFC Functionality

That's wonderful.

Are there any plans to upgrade some other parts of MFC, maybe moving away from all those macros.

I can't help but thinking it would make sense to do it now.

Friday, November 16, 2007 11:37 AM by Pavel

# re: Quick Tour Of New MFC Functionality

I think the discussion is going in wrong direction. It is useless to fight about supremacy one or another 3rd party library. The decision is already made and I don’t believe that VC team is going to change it.

I’m not devil’s advocate so I’m not going to sing alleluia for Microsoft. But I am very excited about the rebirth of MFC. MFC is a great framework and with new features it will became even better.

We are taking here not about BCG or CodeJock. The new extensions are going to be supported and maintained from VC team the next few years. So I don’t think that these gays are going to erase just four chars “BCGP” from the class names and let the cat out of the bag.

I’m looking with a lot of expectation into the future and the time after the first Beta-Release. The nights are going to be short again and we will all have some new chances to bitch about MFC again…

Friday, November 16, 2007 8:27 PM by John Kinsey

# re: Quick Tour Of New MFC Functionality

Wow! A lot of feedback both ways...

Lets face it guys:

1) BCG and CJ both have plenty of problems.

2) We aren't going to change Microsofts mind either way :(

3) Nobody from Microsoft is even reading this feedback (and if they were, they wouldn't care). Microsoft has shown in the past that they hardly if ever respond to feedback during the dev cycle or after shipping unless it is really overwhelming (and 5 to 10 people is not considered overwhelming). Remember, Microsoft knows whats best for us :).

4) The code will be maintained by the VC++ team which means we are unlikely to get bug fixes (because they never have delivered them in the past, and I don't expect them to now) between cycles.

Basically whatever glitches or bugs or performance issues the initial release comes with, you'll have to decide if you can live with that for 1yr+.

BCG won't save you... they aren't going to release new builds of MFC. You'll have to go to the external BCG or the external Codejock which makes integrating either library so tightly into MFC a really, really, really, really, really, really, really, really, really, really bad idea.

Sunday, November 18, 2007 12:12 AM by Mike

# re: Quick Tour Of New MFC Functionality

All these features are in Visual Studio 2008 Beta 2. I don't see it. This is marketing crap!!!

Sunday, November 18, 2007 1:00 AM by Ayman Shoukry

# re: Quick Tour Of New MFC Functionality

Hello Mike,

These features are not in Beta2. For our release plans, please see our previous post at http://blogs.msdn.com/vcblog/archive/2007/11/09/announcing-a-major-mfc-update-plus-tr1-support.aspx

Thanks,

Ayman Shoukry

Visual C++ Team

Sunday, November 18, 2007 8:34 AM by Andrew

# re: Quick Tour Of New MFC Functionality

I used BCGSoft for years and I think that it is (one of) the best GUI lib.

Compare to CodeJock, IMHO, BCG is simpler for developer using and more close to MS products GUI (I mean look and feel).

Anyways I think it is a greate news and the right direction.

Best regards to Visual C++ Team.

Tuesday, November 20, 2007 8:34 AM by Dave R.

# re: Quick Tour Of New MFC Functionality

Bundling a large GUI library in with MFC is simply a bad idea.

I don't see a massive deployment issue in having an extra DLL for Office Ribbon functionality, just as gdiplus is extra. Tripling the current DLL size is simply unacceptable.

Tuesday, November 20, 2007 11:44 AM by A Lipschitz

# re: Quick Tour Of New MFC Functionality

People still use MFC?  Yikes!  I suppose legacy apps won't let you get away from it.  

Maybe it's time that you think about plain Win32 apps.

Tuesday, November 20, 2007 6:01 PM by Flippy

# re: Quick Tour Of New MFC Functionality

I love this news!! Excellent stuff!!

Wednesday, November 21, 2007 10:36 AM by Agustin

# re: Quick Tour Of New MFC Functionality

Hello I just download a tial version of VS2008 and can't see these dialog.

Wednesday, November 21, 2007 11:18 AM by Bill Roper

# re: Quick Tour Of New MFC Functionality

Will the new Office-style ribbon bar integrate correctly with an embedded Excel 2007 view?  In the current MFC, this is a problem for me.  When I bring up the Excel 2007 view, I get Excel's ribbon bar which *will not go away* when I switch to other views.  Nor do I get any sort of "combined" menu as I would have with Excel 2005 and earlier.

Since I *really* need a way to embed Excel in my application, this isn't helping...

Thanks!

Friday, November 23, 2007 11:41 PM by Bz

# re: Quick Tour Of New MFC Functionality

Please do not increase the size of MFC DLL's - no matter how cool the components may be.  Most people are not writing Visual Studio IDE clones anyway so why pay the penalty.  Please make it a separate DLL.

Also, please make it easier to deploy shared VC dlls without using MSI files or vcredist.  I want to put the standard C++ runtime library in a shared folder.  I don't want MSI files or bloated vcredist.exe that creates a separate entry in Add/Remove programs.

Sunday, November 25, 2007 6:06 AM by Christophe Pichaud

# re: Quick Tour Of New MFC Functionality

Hello,

I am a small ISV, and I like the initiative of integration between ATL and MFC and I also would like to see more shared libraries initiatives.

One size fits all....  why not...

I can do GUI apps, servers app, simple console tools, using utilities classes...

But integrating external code into MFC in the central MFXxx.dll is strange. Original VC++ guys would not have approved this kind of decisions.

Lightweight libraries is the finest choice but it seems now library size do not matter anymore.

MFC library (also ATL) are the latest MS library shipped who can make professional apps with high requirements inside. If thirty party code are integrated into, why not to have choosen external library loading using interfaces (virtual classes) as a MFC Extension Library ?

Hey guys, this is the coolest way to integrated extensions into MFC.

Do you remeber RogueWave MFC extensions library. It was included with source code, speed execution, quality and MFC requirement.

It was shipped as an external library.

We should have the choice:

- static MFC and static MFCGUI

- shared libraries

and the posssibility to load others visual and GUI thirty library. It is not so complicated to design.

Every classes depends on CWnd and CCmdTarget stuff so why not to have choosen the real spirit of the MFC to ship another version of the MFC library.

Integrating BCG like that is somewhat to be time to market...

I will download via MSDN subscriptions and I will try.

Christophe Pichaud,

paris

Wednesday, November 28, 2007 10:20 AM by Jon Evans

# re: Quick Tour Of New MFC Functionality

All looks very pretty ... but a few questions:-

1) Will it compile previous MFC code without errors (I'm not referring to the depreciated stuff which generated disable-able warnings).

2) What behind the scenes classes are there ? Decent XML support for example ? Classes that simplify connectivity ?

3) Please please *please* pretty-please-with-bells-on bring back class wizard! Way easier to use.

Moving to .NET means most MFC code I deal with will be legacy code or low level code so I'm afraid the extra eye-candy doesn't mean too much to me (other than perhaps tarting up an existing apps).

TTFN,

  Jon

Wednesday, November 28, 2007 11:00 AM by Lee H

# re: Quick Tour Of New MFC Functionality

Okay, let me get this straight:  It looks like a couple dozen developers have chimed in on the "quality" issue over many dozens of posts.  And, if I may paraphrase, you're all belly-aching (or reverse belly-aching) about freaking pixels.  

This is a code library!  Has _anyone_ checked to see if it leaks handles or memory?  Anyone run it through a good static code analysis engine to look for un-initialized data, double-deletes and the like?

If you like getting paid to worry about pixels, halve your salary and go into graphic design.  Otherwise, stop hyper-focusing on your own ego and start thinking about how your library choices impact your customers.

Flame-off.

To the VC++ team:  Thank you for pushing MFC forward.  We may not love it, but we need it and appreciate the work that goes into it.

Thursday, November 29, 2007 6:24 PM by Lee #2

# re: Quick Tour Of New MFC Functionality

Lee, if you *aren't* concerned about pixels, flashing, control alignment, etc. You should keep your salary about the same and move to back end code :).

We know must customers, management, etc couldn't give 2 sh*ts about flashing, flickering, 2hr installs, 60MB of mem usage, etc.

But some of us take pride in our work :).

I guess you don't care what kind of work the painter does on your house as long as he doesn't cause a leak in your roof :).

Thursday, November 29, 2007 11:10 PM by Daniel P.

# re: Quick Tour Of New MFC Functionality

I can't believe this response to what is basically a gift.

I was convinced (as were many others) that MFC was dead, and am I surprised and thrilled to see that Microsoft has any interest, what-so-ever, in keeping it alive in this .NET/managed world. I would guess that someone had to beg management to even allow them to update this library with MS's recent focus on .NET and C#.

Keep in mind that MS didn't have to update MFC for Vista at all. We could have all had to go about our business writing apps in MFC that looked like they were circa 1995, or overriding the paint message and drawing our own unique UI's.

Now, for no additional cost, they have included a library which will make our apps look like something from this generation. We don't have to buy a 3rd party library or write our own for a modern-looking app. I think that's great.

As for the size of the DLL: get a grip. This additional 1-2MB is peanuts in today's world. I can transfer that on my internet connection to my house in what, 3 seconds? When was the last time you used a 1.44MB floppy disc to give someone an application you wrote? 1-2MB is nothing, these days, and who cares if you have to distribute it, even across a modem to a customer.

I for one am ecstatic that the VC++ library team touched this code again... thank you! Grow up, crusty old coders. Yes, MFC is different than it was when it was invented, and that's a good thing. Hopefully we'll see many more years of support for MFC, native code, and C++.

Friday, November 30, 2007 9:48 AM by Frank L

# re: Quick Tour Of New MFC Functionality

Wow, the supported interface is looking more like a C64 app every day, more bright basic colors, bigger buttons, miniscule work space.  Why move backwards?  Making buttons bigger doesn't make the app more "user friendly."

Friday, November 30, 2007 2:36 PM by Lee #2

# re: Quick Tour Of New MFC Functionality

I haven't written a circa 1995 looking app since, um... lets see... oh yeah... 1995! :). Microsoft stopped updating MFC after they added the rebar stuff. So, if you wanted modern UIs after that, you had to do it yourself. Only with Office 2003, did the Office UI start getting innovative.

I think the size complaint is from people already using better 3rd party libraries (BCG is one of the worst). So Ok, chances are I'll still be able to use CJ if I want (after CJ irons out conflicts I'm sure). So I now need to ship TWO ribbon implementations in my apps??? Or have other conflicting problems?

.Net doesn't really give you much UI for free either. Why should MFC? It helps seperate the men from the boys :).

So the code is free... will you still like it after you need to spend 6 months fixing all the bugs that Microsoft won't?

Friday, November 30, 2007 2:38 PM by Lee #2

# re: Quick Tour Of New MFC Functionality

BTW, have you even SEEN BCG code? I don't mean the lib itself, I mean the code YOU write... pretty much every control, sub item, GUI component is created like:

Blah* pBlah = new Blah(param1, param2, param3);

pBlah->Insert(new SubBlah);

No wonder BCG performance sucks when they allocate memory for every pixel like that.

Monday, December 03, 2007 4:33 AM by Jonas

# re: Quick Tour Of New MFC Functionality

@Frank L: The color schemes are customizable.

@Lee: I'm not sure what platforms you or your company targets, but the BCG library have not degraded performance for us any more than e.g. a typical Office UI would.

Tuesday, December 04, 2007 6:12 AM by Paul

# re: Quick Tour Of New MFC Functionality

This is great ... I also agree with the one poster that codejock is better ..

Tuesday, December 11, 2007 10:32 PM by xxx

# re: Quick Tour Of New MFC Functionality

It's time to turn to WTL,

or we may try to create UI base the "high quality-mfc" version.

Monday, December 31, 2007 4:55 AM by Ahmed Charfeddine

# re: Quick Tour Of New MFC Functionality

Dear people, when these things will be available ?

Thursday, February 21, 2008 11:54 PM by tysond's Blog in Malaysia

# Feature pack for C++ programmers

Just found out from my good friend Damien Watkins that there is a big update to the MFC library. What

Friday, February 22, 2008 12:47 AM by Noticias externas

# Feature pack for C++ programmers

Just found out from my good friend Damien Watkins that there is a big update to the MFC library. What

Monday, February 25, 2008 4:33 PM by Visual C++ Team Blog

# Channel 9: Stephan T. Lavavej: Digging into C++ Technical Report 1 (TR1)

Hello Recently we shipped a beta of our MFC/TR1 Feature Pack that, naturally enough, included a large

Monday, February 25, 2008 5:23 PM by Noticias externas

# Channel 9: Stephan T. Lavavej: Digging into C++ Technical Report 1 (TR1)

Hello Recently we shipped a beta of our MFC/TR1 Feature Pack that, naturally enough, included a large

Monday, April 07, 2008 8:48 AM by Visual C++ Team Blog

# Visual C++ 2008 Feature Pack Released!

The final release of the Visual C++ 2008 Feature Pack is now available for download. This release provides

Monday, April 07, 2008 1:40 PM by Johan Lindfors

# Visual C++ 2008 Feature Pack

Nu finns ett s&#229; kallat Feature Pack till Visual C++ 2008 att ladda he m f&#246;r alla kunder med

Monday, April 07, 2008 2:05 PM by US ISV Developer Evangelism Team

# Visual C++ 2008 Feature Pack Released

The final release of the Visual C++ 2008 Feature Pack is now available for download. This release provides

Tuesday, April 08, 2008 3:38 AM by Ruud de Jonge

# Visual C++ 2008 Feature Pack Released

Hello all, The final release of the Visual C++ 2008 Feature Pack is now available for download.&#160;

Wednesday, April 09, 2008 3:04 AM by ISV blog-voer

# Visual C++ 2008 Feature Pack beschikbaar

De final release van Visual C++ 2008 Feature Pack is nu beschikbaar om te downloaden. Deze release bevat

Friday, April 11, 2008 10:08 AM by Is This Thing On?

# C++ Gets Some Love

Good news from the C++ Team!! &#160; ================== The final release of the Visual C++ 2008 Feature

Tuesday, April 29, 2008 4:05 AM by Andrew Coates ::: MSFT

# Visual C++ 2008 Feature Pack Released

During my Windows Development session at the Heroes Happen { 2008 } launch shows around the country,

Monday, June 30, 2008 1:28 PM by Visual C++ Team Blog

# TechEd 2008 - meeting customers at the booth!

Hello, my name is Li Shao. I am a Software Design Engineer in Test in Visual C++ team. From June 3 to

Friday, February 13, 2009 3:08 PM by Termékinformációk fejlesztőknek

# Visual Studio Standard Edition (csak frissítés/MSDN nélküli, dobozos – FPP változatban kapható)

[Nacsa Sándor, 2009. január 20. – február 12.] Komplett fejlesztő környezet Windows kliens és web alkalmazások

New Comments to this post are disabled
 
Page view tracker