Interface Gráfica com C++

Pessoal, tenho um código de uma janela em C, eu queria um código orientado a objetos em C++ mas não encontro em lugar nenhum. Alguém pode ajudar?

#include <windows.h>
#include <stdlib.h>

LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil){
    HWND hwnd;
    MSG messages;
    WNDCLASSEX wincl;
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = "WindowsAppl";
    wincl.lpfnWndProc = WindowProcedure;
    wincl.style = CS_DBLCLKS;
    wincl.cbSize = sizeof (WNDCLASSEX);
    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL;
    wincl.cbClsExtra = 0;
    wincl.cbWndExtra = 0;
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

    if(!RegisterClassEx (&wincl)){
        return 0;
    }
    hwnd = CreateWindowEx(0, "WindowsAppl", "Hello World", WS_OVERLAPPEDWINDOW, 350, 250, 300, 300, HWND_DESKTOP, NULL, hThisInstance, NULL);
    ShowWindow(hwnd, nFunsterStil);
    while(GetMessage(&messages, NULL, 0, 0)){
        TranslateMessage(&messages);
        DispatchMessage(&messages);
    }
    return messages.wParam;
}

LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){
    switch(message){
        case WM_CREATE:
        break;
        case WM_COMMAND:
        break;
        case WM_DESTROY:
            PostQuitMessage (0);
        break;
        default:
            return DefWindowProc (hwnd, message, wParam, lParam);
    }
    return 0;
}

Obs: procurei muito mas parece que não existe interface gráfica em C++ na internet.

puxa amigão isso ai é a API do Windows versão MIL NOVECENTOS E GUARANÁ COM ROLHA

isso foi o ganha pão de muita gente, principalmente antes do DOT NET

Agora vamos por partes:

  1. C++ possui compatibilidade com C, logo SALVO ENGANO vc deveria conseguir compilar isso num compilador C++

  2. vc fala em interface grafica e mostra a API do Windows. São coisas diferentes. A API do windows é uma interface grafica do… windows. o que significa que o seu programa é dependente do sistema operacional. o que pode ser uma escolha de design. porem existem bibliotecas como GTK+, WxWidgets ou Qt que estão disponiveis multi-plataforma.

GTK:

https://www.gtk.org/download/windows.php

Qt:

WxWidgets:

http://www.wxwidgets.org/

Sobre C++ e API do Windows

https://msdn.microsoft.com/en-us/library/bb384843.aspx

boa sorte

Bom, eu fiz um projeto com wxWidgets e apareceu este erro:

c:\mingw\lib\gcc\mingw32\4.9.3\include\c++\bits\c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.

vc esta usando um compilador que, em 2016, tem suporte experimental ao iso c++ 2011?

a mensagem ainda te informa como habilitar este suporte. :slight_smile:

C++ não é facil não. boa sorte.

1 curtida

pq não usa o GUI do visual Studio e simples e funcional.

2 curtidas