|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||
|
|||
|
C++ Windows Programming?
Hey everyone, I'm wanting to learn C++ (I have a basic knowledge of it already though, unfortunately it's mostly forgotten though) and using it to make windows applications with a GUI. Preferably free online material, does anybody know where to start? Thanks! Programming Level: Novice
|
|
#2
|
|||
|
|||
|
Re: C++ Windows Programming?
Oh. P.S. Yes I've used microsoft's visual express stuff, didn't like it much and I would like to learn something used in the real industry, more powerful, and that doesn't give you all the hard code for you XD
|
|
#3
|
||||
|
||||
|
Re: C++ Windows Programming?
The only free solution that I know of that gives you a GUI is... Visual Studio Express C++...
All I use in college is the command line, which can be programed with virtually anything. Dev-C++, Visual Studio, and my personal favorite, Xcode (for OSX). |
|
#4
|
|||
|
|||
|
Re: C++ Windows Programming?
I've been going to cprogramming.com, excellent resource. As for compilers, Dev-C++, have been using this for years (well, spanned out over years). Can't you make a GUI with the windows API???
|
|
#5
|
||||
|
||||
|
Re: C++ Windows Programming?
If you want to do the REAL low-level stuff, then you want to learn the Win32 API, where you handle messages in what is called a WndProc and use SendMessage to change your UI state. I can assure you that there are places in industry that do this, though there is a strong and growing tendency to make GUI-heavy apps out of something a bit easier to use than C++/Win32 (in particular C# or using something other than Win32, like MFC or WPF).
What's cool about Win32 is that you can make some pretty expansive apps with very small executables. Though I'm not sure, I bet that uTorrent is made with low-level Win32, which explains its microscopic binary size. Anyway, although I don't have a tutorial to start from, I can tell you a few keywords to go from: -You want to make a dialog. You'll need to make a parent-window first, but just about any IDE (Code::Blocks, Visual C++) has a project template that will create your window for you. -You make the dialog in the resource editor, give the elements of it identifiers, and then can refer to those identifiers in code -You'll want to make very heavy use of MSDN. Here's a good starting point: http://msdn.microsoft.com/en-us/libr...79(VS.85).aspx |
|
#6
|
|||
|
|||
|
Re: C++ Windows Programming?
"The industry" uses Visual Studio quite often (although C# and VB are more popular choices than C++).
Why spend time and money writing something that you don't have to? Sure, its a fun mental exercise to learn the low-level stuff, but in today's fast-paced competitive environment, anything that does not require you to do so is an important tool. |
|
#7
|
|||
|
|||
|
Re: C++ Windows Programming?
You might want to look into using GTK (or GTKmm), QT, or WxWidgets. They're GUI libraries that you can use with C++. GTK also has a GUI editor for it you don't want to hard-code EVERYTHING, but you still have that option available.
|
|
#8
|
||||
|
||||
|
Re: C++ Windows Programming?
I would recommend using WxWidgets. It's free, where Qt costs *I think* a few thousand dollars to use.
There's also a great forum available: http://wxforum.shadonet.com I've just about completed my first C++ application with a GUI, using WxWidgets. There are two screen shots on this page: http://roboticsguy.com/software/dspi...-communicator/ |
|
#9
|
|||
|
|||
|
Re: C++ Windows Programming?
I believe QT is free for non commercial use and maybe even free for commercial use now. After all KDE is using QT.
For Windows you can use wxdevc++ it is a devc++ based wxwidgets programming ide. Unfortunately I think wxwidgets is needlessly complex so I do not use wxwidgets... but maybe you will like it? |
|
#10
|
||||
|
||||
|
Re: C++ Windows Programming?
OK, I just checked on the Qt website. It looks like they do have a free version available under the LGPL license. But, if you ever decide you want to sell one of your programs with Qt, you'll have the pay the 4K licensing fee.
WxWidgets has a lot of features, maybe that's what you mean by complex? If you decide to try out WxWidgets, use the "WxPack," not the "real" version where you have to build the library yourself. http://wxpack.sourceforge.net/ |
|
#11
|
|||
|
|||
|
Re: C++ Windows Programming?
Alternatively you could use a customized build of devC++, that you are already familiar with but with enchantments for wxwidgets.
http://wxdsgn.sourceforge.net/ Nathan: If you look at Qt and WXwidgets I think Qt has much more intuitive classes and easier ways of doing things. with wx it seems to me like everything is crytically named and you need to memorize completely unintuitive things. But thats just my opinion. I haven't done much development with wxwidgets (only basic examples). If you go to zetcode.com they have examples that do the same thing in QT, gtk, wxwidgets ect... I think wxwidgets is the most unintuitive. But you can decide for yourself. Whatever works for you is the best. Last edited by brianelite : 29-03-2009 at 13:04. |
|
#12
|
|||
|
|||
|
Re: C++ Windows Programming?
Quote:
I will put in a huge word for Qt here. I've been using it for the last 5-6 years at work for cross platform development. Previous to this, I had used Microsoft MFC and also some other cross platform libraries. Qt is by far the best thought out and most comprehensive solution, and it's now free. I've convinced a few people to spend a weekend with Qt and a 'programming with Qt' book, and they've all been able to get started quickly. Certainly much faster than with straight windows calls or MFC. It was written by programmers for programmers and it shows in the logical design. The extras, such as networking, xml, database, and so on are just great extras. Steve |
|
#13
|
|||
|
|||
|
Re: C++ Windows Programming?
Quote:
There are other free tools out there as were listed in the other replies. A few are pretty good. Most are, well, written to be free and not as feature rich or as reliable as the Microsoft offering. If you want to learn the programming language, I highly recommend writing a Win32 console applications for a while. The GUI stuff on any platform may distract you from learning the basics of the language. Everything you learn about the C++ language in a console application will be 100% applicable when you get ready to write a GUI application. Kevin |
|
#14
|
||||
|
||||
|
Re: C++ Windows Programming?
If you're a student, you can get Visual Studio for free!
https://downloads.channel8.msdn.com/Default.aspx |
|
#15
|
||||
|
||||
|
Re: C++ Windows Programming?
Quote:
The book I recommend for learning the language is C++ How to Program (ISBN-13: 9780136152507) or C How to Program (ISBN-13: 9780132404167). This is the book I used to learn C. There are probably lots of other good ones out there, but from first-hand experience, I can say that C How to Program is a top-notch book. It has lots of tutorials and problems and exercises for you to work through. Once you rate yourself above "Novice" level, then learn how to add a GUI. Unfortunately, neither of these books are cheap (you certainly don't need both), but you may be able to find one at a used book store for much less (especially if it's an older edition). |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Windows 7 | McGurky | Rumor Mill | 142 | 15-07-2009 20:11 |
| Makefile for programming under Windows with cygwin | wun | Programming | 17 | 20-09-2004 00:44 |
| Windows ME | robot180 | Chit-Chat | 11 | 07-07-2003 00:21 |
| Windows Background | gniticxe | Chit-Chat | 21 | 24-11-2001 16:15 |