How to create GUI programs?

Hi.

how does one create GUI programs for Windows ? You know teh ones like notepad++, Skype, Torrent clients, Unreal engine, anti virus software clients and the like.

They all have buttons, menus, links, options, display fields, text, images.

Knowing C++, how would I make a program like that using the basic tehcnologies, (no super-easy libraries or editors) ?

I think WinAPI might have something to do with it, but from what I believe it would not have enough elements to make all that those programs have. I do not know WinAPI though.

Comments

  • Prophet wrote:
    I think WinAPI might have something to do with it, but from what I believe it would not have enough elements to make all that those programs have. I do not know WinAPI though.

    I suggest you read up on it, it contains a lot more than you think.
  • I would be nice to see some code on here for a change. If you have anything by all means post it. :|
  • I would be nice to see some code on here for a change. If you have anything by all means post it. :|

    In this case, specific code samples are somewhat complicated by the use of libraries, some of which are platform specific. A simple message box is simple to demonstrate using win32 api's, but most studios use more expansive libraries that build upon win32 or similar.
    #include <windows.h>
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 
        LPSTR lpCmdLine, int nCmdShow)
    {
        MessageBox(NULL, "Hello!", "Note", MB_OK);
        return 0;
    }
    

    Obviously this is windows specific and if that is your development platform I recommend looking into MFC. That said, It is also common to chose a language more tailored to rapid development for GUI's. C++ is certainly capable, but front-end gui's do not require the performance C++ offers leaving Python, Java, and C# more common choices for your run-of-the-mill 2D gui's. Unreal Engine is a different use case, as more multimedia driven applications such as games.
Sign In or Register to comment.