Where is an excellent area to start setting GUIs for home windows?
I have experience creating console and also network client/server applications in C and also C+npls, yet I recognize nothing concerning making use of the win32 aesthetic API, MFC, Qt, wxWidgets, etc Where is an excellent area to start, and also what method should I concentrate on, so regarding be future all set and also durable?
For a straightforward beginning indicate get your head around the "occasion - driven" nature primarily all structures are developed around consider FLTK.
Below are some flying start video clips Link
For specialist usage I would certainly advise Qt, pricey yet usually worth it in business scenarios.
Since you are currently accustomed to C and also C+npls I would certainly advise finding out just how to write a straightforward Windows GUI application making use of Charles Petzold is publication. It will certainly offer you the basic understanding of just how Windows functions. It is excellent to recognize that the majority of every little thing that you see is a window (a switch is a window as an example) which these home windows reply to messages. I wouldnt' invest a great deal of time on this though and also you do not always require to do this first if you are mosting likely to picked WPF. I simply assume it is excellent to have a standard understanding of this.
There was an excellent podcast lately on.Net Rocks called "Kate Gregory Develops in C++ for Vista!" on there she advises that a person starting currently need to not use/learn MFC (despite the fact that it has actually been lately upgraded).
Regarding preparing yourself for the future you require to find out WPF, yet it isn't full yet, so relying on the sort of customer side applications you intend to create, you will possibly require to find out WinForms. Most of individuals aren't making use of WPF yet, so it is a great time to start finding out. I assume you will certainly locate it less complicated making use of C# to discover it as opposed to doing took care of code with C+npls.
For organisation applications, Windows Forms is really fully grown. It gives a mild course from vehicle - creating a whole lot for you right into permitting great - grained control and also rolling your very own. There are lots of high - top quality 3rd party controls and also a huge body of instances, docs, etc around. It is tough to face a trouble that somebody else hasn't addressed. I very advise getting some history Win32 expertise (as an example Petzold) as the WinForms structure survives top of it.
I have no WPF experience, yet from the example applications I've seen it resembles an excellent selection for applications whose user interfaces would certainly gain from even more visual allegories. So if you are doing a financial application, possibly unworthy the added layout expenses. Yet if you are doing, claim, a stockroom monitoring application maybe boosted by going down rather boxes right into attractive containers.
@StephenCox: incorrect response to the incorrect inquiry. OP is inquiring about desktop computer customer applications, and also in addition, WPF! = Silverlight.
My first experience creating straightforward GUI applications for Windows was with C# and also Visual Studio. The GUI - structure user interface is a straightforward drag and also decline bargain that creates skeletal system approaches based upon possible customer activities. I just did rather standard shows with this, yet I visualize it would certainly be a superb area to start to find out the essentials and also expand right into the advanced capacities as you go.
This is an instead wide inquiry, as shows GUI applications in Windows can be carried out in numerous means.
There are 2 almosts all to creating any kind of GUI app : the language and also the API/framework . Considering you want finding out to construct Windows GUI applications, the language isn't actually a factor of emphasis for you. Therefore, you need to select a language you currently recognize and also collaborate with a structure or API that can be used by your picked language.
If you intend to make use of C you are virtually limited to managing the Win32 API on your own, in which instance analysis Petzold or Richter would certainly be wonderful areas to start. The Win32 API can be fairly overwhelming, yet it is well worth the initiative to find out (imho). There are a lot of tutorials on Win32 on the internet, and also there is constantly MSDN, with a full reference/guide to the Win32 API. See to it you cover not simply the API, yet various other locations such as resources/dialogs as they are constructing blocks for your Win32 application.
If you intend to make use of C+npls you have every one of the alternatives that you have when making use of C plus a couple of others. I would certainly advise selecting the Win32 API straight, and afterwards going on to a well-known structure such as MFC, Qt, wxWindows or GTK to make sure that you can invest much less time collaborating with boilerplate code and also rather concentrate on creating your application reasoning. The last 3 alternatives I simply detailed have actually the included advantage of being cross - system, so you do not need to stress way too much concerning system - details concerns. Considered that you claimed you intend to collaborate with Windows, I'll think you are eager to concentrate on that as opposed to go across - system - - so select MFC, yet invest time with the Win32 API first to get accustomed to several of the principles.
When managing MFC and also the Win32 API, it is an excellent suggestion to attempt and also get a strong understanding of the terms before creating code. As an example, you require to recognize what the message pump is, and also just how it functions. You require to find out about principles such as "owner-drawn controls", and also subclassing. When you recognize these points (and also extra), you'll locate it less complicated to collaborate with MFC due to the fact that it makes use of comparable terms in its class user interfaces (eg. you require to recognize what "convert messages" suggests prior to you can recognize just how and also when to make use of PreTranslateMessage).
You can additionally make use of Managed C+npls to write.NET GUI applications, yet I've read in a couple of areas that Managed C+npls had not been actually planned to be made use of in this fashion. Rather it needs to be made use of as a portal in between native/unmanaged code and also took care of code. If you are using.NET it is best to make use of a.NET language such as VB.NET or C# to construct your GUIs.
So if you are mosting likely to use.NET, you presently have the selection of the WinForms collection, or WPF. I directly really feel that you would certainly be losing time finding out to construct WinForms applications considered that WPF is made to change it. With time WPF will certainly come to be extra prevelant and also Winforms will certainly more than likely . WPF has a much richer API set, and also does not deal with most of the constraints that Winforms does. If you do pick this course, nonetheless, you'll no question need to find out XAML, which is a markup language that drives WPF applications. This modern technology is maturing, and also there are several wonderful areas to learn more about it. First, there are websites such as LearnWPF, and also DrWPF which have some actually wonderful write-ups. Second of all, there are plenty of quality books on the topic.
So, to summarize, as soon as you've selected your language and also technology, the course is in fact fairly very easy. Simply grab a publication or 2, read some blog sites, get involved in some code examples. and also most notably ... write code. Maintain creating, maintain making blunders, and also maintain picking up from them.
As a last note ...
To put it simply, Silverlight. If you do not intend to go the MS course you could offer Adobe is Flash/Flex an appearance see. Both Silverlight and also Flash/Flex construct RIA's. Which I assume is where we are headed. They days of Office like applications are phoned number
I do not concur in all. Silverlight is not the like WPF. Silverlight is internet - details, and also just has a part of WPF is attributes. Considered that the inquiry requests for Windows GUI applications, Flash/Flex Rich Internet Apps are not actually a suitable pointer. I additionally do not concur that the days of Rich Client Applications (such as workplace) are phoned number in all.
I wish that aids. All the best:)