How can I add a ribbon menu to an existing MFC application? - visual-c++

Microsoft Visual C++ 2008 Feature Pack has ribbon menu support. Is it possible to make use of that in an existing MFC application that was not created with a ribbon menu?

It certainly is possible to take an existing MFC application and update it to use the ribbon in the MFC Feature Pack, and I've done this myself.
There are a couple of walkthrough articles on MSDN here that show how to do it, using the Scribble MFC sample application that you may be familiar with.
In essence, what you need to do is change your code to use the Feature Pack base classes instead of the standard MFC base classes - for example, replace CWinApp with CWinAppEx, CFrameWnd with CFrameWndEx, etc. Then you can add CMFCRibbonBar and CMFCRibbonApplicationButton objects to your main window class to create the ribbon itself. To get started I'd suggest downloading the Scribble sample and following the walkthough articles.
I hope this helps!

In addition to the resources pointed out by ChrisN, I recommend creating a new MFC application that includes a ribbon and examining the generated code..

Yes, it is surely possible to use the ribbon classes provided with the MFC Feature Pack.
A basic introduction is available here: Quick Tour Of New MFC Functionality and a more detailed tutorial can be found here: MFC Feature Pack Tutorial.
However, be aware that there is a rather strict license attached to it. For the conditions see Licensing the 2007 Microsoft Office User Interface and this related discussion on SO.

Related

Create Form Template from existing ones

Is there any way that I can create a template within forms to utilize for every user in the company?
For instance; let's say I have the Sales Order Screen (SO301000) and the Document Detail grid configured in certain way, that display different amount of columns than the default (either more or less columns).
For each user I want to use this template (and all the ones created) that I will apply when I add the new user.
I'l appreciate any guidance and help.
EDIT:
I provided answer for Form element ASP template below. Although reading your question again I think what you're trying to do would be more along the lines of automating grid column configuration. We call this feature Default Table Layout.
There's a feature request for it here:
https://feedback.acumatica.com/ideas/ACU-I-415
The feature has been shipped in version 2017R2 and is documented here:
https://help.acumatica.com/(W(1))/Main?ScreenId=ShowWiki&pageid=30f3229f-20f1-4055-9c03-e0fe3b37080d
Image copy of documentation page:
For ASP Form templates
There are two ways to work with customizations in Acumatica:
As a Customization Project, everything is done directly in Acumatica
instance through the web browser using the Customization Project Editor.
As an extension library (DLL file) compiled in Visual Studio which is then included in the FILES section of a Customization Project.
For method 1, I believe creating custom templates would be a bit of a hack and would not be officially supported, if someone knows otherwise please chime in.
For method 2, we ship the Visual Studio templates with the Acumatica Configuration Wizard (Acumatica ERP Installer).
Those templates are in the following folder:
My Documents\Visual Studio 20XX\Templates\ItemTemplates\Visual C#
The templates will be available for ASP.NET solution only. You can open Acumatica Instance Website as a solution if the website is already deployed:
When you open Add New Item dialog:
The Acumatica Templates will be available:
Those are standard Visual Studio templates so you can copy and re-use them to create your own. Microsoft documentation for creating user template applies and you can follow their guidelines. Note that working with Visual Studio and creating your own template is somewhat less user friendly than using Acumatica Customization Project Editor.
Acumatica T100 covers using Visual Studio to create customizations and would be a good starting point to learn the techniques involved:
https://openuni.acumatica.com/courses/development/t100-introduction-to-acumatica-framework/

Set a custom application Icon for a Class Library deployed using ClickOnce

I have a C# project in VS2012 with an output type set to "Class Library", in fact it is a VSTO word 2010 add-in, after publishing the project and installing it with ClickOnce, I notices that the icon used in the "Programs and Features" list is the default icon, which is not really professional IMO. I would like to be able to set a custom icon for my application but as its a Class Library I'm having a really hard time figuring out how to do it.
In the "Application" tab of my project properties in the "Resources" section, the "Icon and Manifest" option is selected by default but it is disabled so I can't select and Icon file. I fear there is no way to do it for a class library project, but I haven't found any confirmation of this either.
Thanks for any informatin/help you might give.
After searching for a couple hours I think this is not possible right now, see this link that I posted in a comment on the OP above. Its a bit sad as it would look a lot more profesional if we could put a custom application icon on a vsto addin that would be visible in the Programs and Feature list in the control panel...

Why Microsoft.SharePoint.WebControls over System.Web.UI.WebControls?

I am building visual web parts for SharePoint 2010 Foundation, using ASP.NET 3.5 in Visual Studio 2010. For those who are new, these are like making a custom "normal" .net control that you can drop onto a SharePoint page (because SharePoint is built on .net anyway).
As I'm looking at various examples online to make an input form, I notice some SharePoint specific versions of web controls. Microsoft.SharePoint.WebControls generally inherit from System.Web.UI.WebControls so would generally include or implement their functionality.
What I have yet to see is a nice listing or description of the benefits of the various SharePoint specific versions of these controls. Why go to the effort of using these specialized versions?
One example I do know is the SharePoint GridView. I found that when used with a DataSource, it has the paging and sorting built-in. So that's nice.
Does anyone know of a listing of similar "benefits" to many of the other controls? I have yet to find a nice one.
In general, you should use the SharePoint controls vs. .NET since a) they include some additional features (as you know the GridView already but more importantly, b) they are 'SharePoint Aware', thus security trimming and such things are taken care of. After all, these are the same controls used by the SharePoint UI so best to stay in line.
In all cases the SharePoint controls are hybrids of the System.Web.UI namespace. The only way you would concern yourself with using the 'raw' .NET controls would be for compatibility outside of SharePoint.

Simple COM component

Sorry for this stupid questions, but I've never developed COM components. I try to learne interaction between .net and COM though I need to create COM. Questions:
1)Why "STOP" sign appear in solution explorer when I am create COM project in VS2010 using ATL wizard(look at image)?
2)How can I add my own class for this project?
3)Where can I search simple tutorial for beginners?
Because those are supplementary "Generated Files", they are excluded as not necessary for the build (unless another source file references them explicitly, of course). Stop sign means "excluded".
Adding an ATL Simple Object on MSDN
ATL Concepts and Tutorial, CodeProject

Creating Infopath 2007 addins that manipulate the design-time form

I'm experimenting with creating an add-in for Infopath 2007. The documentation is very skimpy. What I'm trying to determine is what kind of actions an add-in can take while designing a form. Most of the discussion and samples are for when the user is filling out the form. Can I, for example, add a new field to the form in the designer? Add a new item to the schema? Move a form field on the design surface? It doesn't appear so, but I can't find anything definitive.
There is no Object Model for the InfoPath designer.
I believe the closest that you can get is the exposed API for the Visual Studio hosting that InfoPath supports; but I don't believe that this will give you the programatic control of the designer that you'd like.
http://msdn.microsoft.com/en-us/library/aa813327.aspx#office2007infopathVSTO_InfoPathDesignerAPIIntegratingInfoPath2007VisualStudio
Sorry Kevin.
Unfortunatly Bryan is probably right.
And I have tried to make a VS plugin for use with InfoPath development. It is very restrictive and hard to use. Not very effective for quick scripting work.
I have found AutoHotKey to be the best ad hoc scripting tool for use with InfoPath. It doesn't integrate directly with InfoPath, but I have found key+mouse automation to accomplish most of what I have needed.

Resources