I would like to make my own compenents using, and for, VC9 & Visual Studio 2008 Express. Currently my top level Form classes contain too much code for my liking, and I want to grow them.
I can safely get as far as Project->Add…->Component_Class.
Next I name and populate the component with, say, a text box, submit button, and panel to represent tabs for the different channels the comment can be submitted to (all, team, opponent) with a rich text box below which I will update depending on the tab selected.
Only trouble is I am breaking the
#pragma region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
When I come to setting positions for my sub-components.
That and I can’t get this new component into my toolbox.
Is it possible with VC++2008 Express?
_EDIT_
So I followed this, http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=151764&SiteID=1 advice and got the component in my toolbox.
Problem now is it is just ‘unvisual’ as the image lists sitting in their own bar off of the Form design area 🙁
Will try to extend a more substantial class than
System::ComponentModel::Component
_EDIT_
I’ve since answered this myself and tidied up the title and tags for future reference.
If anyone is interested, I found how to create custom components in VC++ 2008.
You don’t use the Forms designer but must do it programmatically. Well, I cheated and got most of the code from a proto-mock-up which I first created with the Form Designer.
The source of this info was the SDK documentation for the UserControl class,
http://msdn.microsoft.com/en-us/library/system.windows.forms.usercontrol%28v=VS.90%29.aspx
By adding the sample code in the above linke to my project I was able to add it as visual component using the Forms Designer by selecting
I’ve now offloaded all my GUI code to their own classes and generally I add the following
before
namespace myProjNS {and proceeding to declare a class which extends some other Forms component.I now appreciate the merits of the above answers, but they all require C# which was not available on my limited system at the time I asked the question.