Thread: Question - GUIs and Actual Program Design

  1. #1
    Registered User
    Join Date
    Oct 2005
    Posts
    4

    Question - GUIs and Actual Program Design

    I am currently reading a book 'SAMS Teach Yourself C++ in 21 Days'. This book, as far as I know, does not go into the detail of showing how forms and windows and other graphical user interfaced components work and how to use them. I was wondering what knowledge I should know about console programming before I move on to actual GUI and Design programming. I would also like to know if there are any tutorials in which I can begin to learn about this stuff. I heard of APIs and other sorts, but I am learning and I have no clue or idea what an API is. Please let me know if you have the time to help me out.

  2. #2
    Information Crocodile
    Join Date
    Dec 2004
    Posts
    204
    I have an E-Book version of that book. If i remember it correctly, it teaches you MFC not really C++/Win32 API.

    try this link.
    http://www.winprog.org/tutorial/

  3. #3
    semi-colon generator ChaosEngine's Avatar
    Join Date
    Sep 2005
    Location
    Chch, NZ
    Posts
    597
    Quote Originally Posted by loko
    I have an E-Book version of that book. If i remember it correctly, it teaches you MFC not really C++/Win32 API.

    try this link.
    http://www.winprog.org/tutorial/
    I think you might be confusing it with "Teach Yourself visual C++ in 21 Days".

    To the OP, an API is an Application Programming Interface. It's basically a set of functions and types designed to allow you to use some existing code. For example, the windows API has functions such as CreateWindow, ShowWindow, etc. that allow you to do gui programming on windows machines.

    Personally, I would recommend you get comfortable with the language (i.e. for/while/if, functions, classes, inheritence) before learning the WIN32/MFC APIs.

    If you want to become a good C++ programmer, I'd invest more effort into learning good OO design then GUI programming for the moment.

  4. #4
    Registered User
    Join Date
    Oct 2005
    Posts
    4
    Ah, ok. I'm not exactly knowledgeable on what Object Oriented Programming is, but I will look into it. If there are any other E-Books or sites you know, they will be greatly appreciated. I would like to be able to create my own interfaces one day Thank you both for the help, I appreciate it.
    Last edited by Enoctis; 10-02-2005 at 06:37 PM.

  5. #5
    semi-colon generator ChaosEngine's Avatar
    Join Date
    Sep 2005
    Location
    Chch, NZ
    Posts
    597
    Quote Originally Posted by Enoctis
    Ah, ok. I'm not exactly knowledgeable on what Object Oriented Programming is, but I will look into it. If there are any other E-Books or sites you know, they will be greatly appreciated. I would like to be able to create my own interfaces one day Thank you both for the help, I appreciate it.
    If you really want to use C++ (as opposed to "a slightly better C") OO is your friend (as are templates, but learn OO first)
    have a look at this wiki page. (some of it is in java, but the concepts are cross language)

    a good free e-book on C++ is Thinking in C++

    also worth a look for the "why" of C++ is the C++ FAQ Lite

  6. #6
    Information Crocodile
    Join Date
    Dec 2004
    Posts
    204
    Quote Originally Posted by ChaosEngine
    I think you might be confusing it with "Teach Yourself visual C++ in 21 Days".

    If you want to become a good C++ programmer, I'd invest more effort into learning good OO design then GUI programming for the moment.
    Yes indeed, it was "Teach Yourself visual C++ in 21 Days". . I forgot about it was some months ago . I didnt like the book.

  7. #7
    Registered User
    Join Date
    Oct 2005
    Posts
    4
    a good free e-book on C++ is Thinking in C++
    i didnt like this ebook at all i read like 5 pages but its not quit like this site in teaching you stuff there is way to much detail of the stuff.. by the time your finished reading one page you forget wat the code is supposed to look like. if i were you i would just stick with this site until you learn all you have to learn on here and then if your not satisfied then start look at other things.

  8. #8
    Deprecated Dae's Avatar
    Join Date
    Oct 2004
    Location
    Canada
    Posts
    1,034
    Quote Originally Posted by derangedrobot
    i didnt like this ebook at all i read like 5 pages but its not quit like this site in teaching you stuff there is way to much detail of the stuff.. by the time your finished reading one page you forget wat the code is supposed to look like. if i were you i would just stick with this site until you learn all you have to learn on here and then if your not satisfied then start look at other things.
    I completely agree. The examples were good, Fruit->Apple, Mammal->Canine->Dog, but were long and overdrawn. Half the book was examples, which wouldnt have been a bad thing except most of them were the author repeating his long classes of apples and oranges, with little additions, making it less to the point and therefor less ability to stand out in memory. Another problem was the fact that those two class examples were used too much that different examples dont stand out in memory, you think Fruit->Apple and you're fludded with tons of things you read without being able to nail it down quickly. I also think in the Apple derived class Core, Skin, and Seeds would have made good members/methods but they didnt have them.

    If you have the money, it would be well worth it to buy a good C++ book.. its like saving 30-100+ hours just because you understand C++ better, get it done quicker, less mistakes, less need for improvements, and less debugging. Accelerated C++, or C++ Primer Plus are my choices.

    Learning an API doesnt require much C++ skill, just memory or looking up at a website skill, its just implimenting it in useful ways that does.. You could go and make a window in 20 minutes, but would it be useful? Would you even have any idea what to program in it? probably not without some good C++ background.

    When you get around to it, you'd probably want to start learning Win32 API.
    Warning: Have doubt in anything I post.

    GCC 4.5, Boost 1.40, Code::Blocks 8.02, Ubuntu 9.10 010001000110000101100101

  9. #9
    semi-colon generator ChaosEngine's Avatar
    Join Date
    Sep 2005
    Location
    Chch, NZ
    Posts
    597
    Hey, it's not the best book, but it is free.

    you get what you pay for!

    I'll second Dae's nomination for Accellerated C++

  10. #10
    Registered User
    Join Date
    Oct 2005
    Posts
    4
    Are there any good books you would recommend?

  11. #11
    Registered User
    Join Date
    Oct 2005
    Posts
    4
    Oh and btw, I do have background knowledge in Visual Basic and some PHP, so the coding itself isn't really new, just the concept behind it. Visual Basic wasn't "true" programming because I like the old fashioned style of "text-editing" and compiling. Kinda like html, everything was done in text, not GUI, so this is a new step to me trying to learn how GUIs work with code versus just clicking a control and dragging it like Visual Basic.

Popular pages Recent additions subscribe to a feed