How Can i mimic the Office style ribbon using MFC C++? - c++

I want to mimic the word ribbon. But i can't find any resource that goes in depth on this subject matter or a template like the office developer tool template for MFC.

The Office 2016 ribbon is not exactly available, but the Ribbon Framework is. Here is one of my old articles about it.

Related

Adding a custom "template group" in Word 2013

Is it possible to add a custom template "tab" (for lack of a better term) to the start screen in Word 2013? In other words, is it possible to add another section in addition to "Featured" and "Personal?" in the interface below?
I'm interested in the feasibility of adding a, say, "Legal" tab, to surface templates developed specifically for an organization's legal department. I'm aware that a custom template directory can be pushed down via domain policy (read: registry edit) such that custom templates appear under the "Personal" tab, but that's not really ideal given the administrative overhead. Not to mention that the templates aren't "personal" at all.
Ideally, I'd like to accomplish this via an Office app. Looking at the JavaScript API for Office documentation, however, it doesn't seem immediately possible.
This post (via this SO question) describes the registry change and seems to suggest that customizing the "backstage" isn't possible.
Is such a customization possible? If so, via what means of customization? Using an Office add-in (managed), an Office app, some other registry modification...?
(And yes, I'm aware that "add-in" is the new term; for the sake of clarity I use the term "add-in" in the question to refer to the managed add-in project template available in Visual Studio 2013 as opposed to the Office app or Cloud app for Office templates)
You won't be able to add a custom group to the available template using the JavaScript-based Office Add-ins (This technology is rather limited in functionality - it's main advantage is that it can run cross-platform).
The approach to add custom templates is to create a Spotlight provider. It is described in detail here:
Deploy custom templates in Office 2010
The article talks about Office 2010, but it works also in Office 2013. You only would need to change the version number in the Registry Keys from 14.0 to 15.0.
Yes, I believe implementing a Backstage tab is possible by creating a Word 2013 VSTO add-in using Visual Studio 2013. (This is also possible by embedding Ribbon XML into a VBA add-in template that loads on start up as well.)
I will preface the course of action I outline below by saying that I think it would be easier and possibly provide a better UI experience to create a custom Legal ribbon tab with a gallery control populated by images of the templates. (A Custom Task Pane might also provide a good solution, depending on the use cases.)
Preparing Word
The screen capture you provided is the initial Backstage view that appears when Word 2013 is launched. (This view only appears at launch and future access to templates using this Word instance will need to be via the Backstage New tab.) As this Backstage "splash screen" cannot, to my knowledge, be modified, the first step is to disable it by going to File|Options|General|Startup Options and uncheck Show the Start screen when this application starts. This will cause Word to launch to a blank document and remove this splash screen permanently. And this setting can be pushed down to users PCs via group policy. (If you disabled this setting and then went the custom Ribbon tab route, you could have your templates displayed visually in the ribbon upon launch.)
The Approach
With the Backstage "splash screen" disabled, I suggest hiding the built-in Backstage New tab and then replacing it with a custom New tab that features your legal templates.
The Word Backstage view is altered via Ribbon XML code. This code is either embedded in a VBA template add-in or delivered via a VSTO add-in built in Visual Studio with C#, F#, or VB.NET. To hide the built-in New tab, the XML would contain this code:
<tab idMso="TabOfficeStart" visible="false"/>
You can find all the control identifiers here:
Office 2013 Fluent User Interface Control Identifiers
The Steps
Create the add-in project in Visual Studio (or the template in VBA)
Write the Ribbon XML which will remove the New tab and insert your custom tab with legal templates
Customizing the Office 2010 Backstage View for Developers (Applies to Office 2013 As Well)
Create Custom Tabs in the Office 2010 Backstage View (Applies to Office 2013 As Well)
Deploy the add-in
This should get you started, but you may need to seek out other articles on add-in creation and Backstage customizations.

Can the windows ribbon control be modified to look more like the ribbon in MS Word 2010 using the existing APIs

I am currently working on a desktop application using C++ and WINAPI. I want to use a ribbon control for the application's main window (like the sort found in the newer office applications). I have successfully created the XML file, the COM interfaces and I have also managed to get the ribbon to show up in the application window.
The ribbon currently appears like the ribbon in MS Paint. (Sorry I can't post images).
I have been trying to customize the ribbon such that it appears more like the ribbon in MS Word 2010.
The changes I am trying to exact are:
1) Centering the title of the application in the title bar
2) Getting the title bar to fade\merge into the ribbon (as apposed to the border of the window's frame drawing a line between the title bar and the ribbon)
3) Moving the "customize quick access bar" menu to the right of the vertical separator.
4) Changing the blue button at the far left of the ribbon so that it has the
word "File" on it
I have been largely unsuccessful because the ribbon does not seem to be customizable in this way using the interfaces and APIs exposed by Microsoft.
My question is thus: Is there a way to create the effects mentioned above using the existing ribbon API, or is the MS Office ribbon a result of undocumented features or possibly even a lot of hacking (Enumerating window handles and violating the boundaries of the interface).
You won't be able to customize the Windows Ribbon Framework in a way that it looks and behaves like the Office Ribbon. Not even wrapper projects such as Windows Ribbon for WinForms (.NET) or the Windows Ribbon Framework for Delphi provide such a feature.
The Office Ribbon (introduced with Office 2007) and the Windows Ribbon Framework (introduced with Windows 7) are two completely different implementations of the Ribbon concept. There are even more Ribbon implementations from Microsoft, see the WPF Ribbons and the MFC Ribbons, all of them providing different features and a different look'n'feel.
While the Windows Ribbon Framework and the WPF Ribbons can be used quite easy in your own desktop application, you cannot use the native Office Ribbons out of an Office application. If you really want to have a Ribbon bar that that provides the look'n'feel of the Office Ribbons in your C++ desktop application, you'll either have to write your own implementation or use a third party component..

Office 2013 Style for MFC Ribbon Application

is there a way to change the Style of a MFC Ribbon Application to the Office 2013 Style/Look?
I´ve searched with Google but didn´t find anything. I´d be happy if someone can help me.
Ribbon Style is available since the VS-2010 Feature Pack.

How to apply VisualStudio 11 theme to my MFC application?

The new VS 11 features a grey-style user interface that is cool. Is it possible for me apply this to my MFC App? Thanks!
The last "update" for MFC controls and their appearance was the MFC Feature Pack, as described here: http://msdn.microsoft.com/en-us/library/bb982354.aspx
Unfortunately, it does not include the VS 2011 style, but maybe you find something else which would be interesting for your application (for example ribbons etc).
They did not include pictures of their controls, you can only check them in their sample application, which you can download here
http://msdn.microsoft.com/en-us/library/bb983962.aspx
or via Google Image Search
http://www.google.com/search?q=mfc+feature+pack

MFC Feature pack in Office 2010 style

I developed app in mFC using vs2008 and MFC Feature pack 2008. its look and feel is like 2007 office style. Now i want app look and feel like office 2010.
Will you explain me how to do it?
The easiest way is to upgrade to Visual Studio 2010, which provides a "Windows 7" style for the ribbon control. This style is supposed to simulate that native ribbon control that is used in Windows 7 applications like Paint and Wordpad. (Note that a slight modification to the wizard-generated code is currently necessary, as described here on Microsoft Connect.) Presumably, this style also looks like the one used in Office 2010, although I can't say for sure as I haven't given Microsoft all of my money yet.
Decide for yourself:
Alternatively, you could just use the native ribbon control yourself. There's a sample project here:
Windows 7 Ribbon: The Time Has Come, Your Win32 Application Will Change. But if you've already done a lot of work laying out the ribbon in VS 2008, this probably isn't a very compelling option.
Lesson: There's a hefty price to be paid for being on the bleeding edge. If this isn't exactly the same look that you're hoping to emulate, you may very well be out of luck. If your design goals amount to copying what the Office team does, you're going to be quite a busy little bee: toolbars are their absolute favorite thing to reinvent.
EDIT: Looks like you might not be completely out of luck after all. BCGSoft (the company that Microsoft bought the ribbon control from in the first place for the MFC Feature Pack) has released a library that attempts to simulate the Office 2010 experience in several different ways. Throw money at them here.