Salve a tutti ragazzi, ho deciso di imparare il C++.
Ho acquistato questo libro:
e mi è stato di molto aiuto per quanto riguarda i nuovi caratteri del C++ rispetto agli altri linguaggi di programmazione (già conosco benissimo PHP), però mi ha insegnato solo a creare Console Applications. Siccome vorrei incominciare a fare programmi seri con le GUI, girovagando per il forum ho trovato questo codice che un utente ha scritto:
Ecco ora, se qualche buon'anima inserisse abbondantissimi commenti gli sarei grato per tutta la vita.codice:#define STRICT #include <windows.h> #define MAIN_WNDCLASS "MiaClasseFinestra" LRESULT CALLBACK Main_WndProc (HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam) { switch (uMsg) { case WM_CREATE: // Da quello che ho capito serve per creare oggetti di interfaccia, tipo textbox return 0; case WM_PAINT: { HDC hdc; PAINTSTRUCT ps; hdc = BeginPaint (hWnd,&ps); EndPaint (hWnd,&ps); return 0; } case WM_DESTROY: PostQuitMessage (0); return 0; case WM_CLOSE: DestroyWindow (hWnd); return 0; } return DefWindowProc (hWnd,uMsg,wParam,lParam); } INT APIENTRY WinMain (HINSTANCE hInstance,HINSTANCE hPrevious,LPSTR lpszCmdLine,INT iCmdShow) { WNDCLASSEX wcx; HWND hWnd; MSG msg; wcx.cbSize = sizeof (wcx); wcx.style = CS_HREDRAW | CS_VREDRAW; wcx.lpfnWndProc = (WNDPROC) Main_WndProc; wcx.cbClsExtra = 0; wcx.cbWndExtra = 0; wcx.hInstance = hInstance; wcx.hIcon = NULL; wcx.hIconSm = NULL; wcx.hCursor = LoadCursor (NULL,IDC_ARROW); wcx.hbrBackground = (HBRUSH) (COLOR_WINDOW+1); wcx.lpszMenuName = NULL; wcx.lpszClassName = MAIN_WNDCLASS; if (!RegisterClassEx (&wcx)) { MessageBox (NULL,"Errore nella registrazione della classe", "ERRORE",MB_OK | MB_ICONEXCLAMATION); return 1; } hWnd = CreateWindow (MAIN_WNDCLASS,"Titolo finestra",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,300,300,NULL,NULL,hInstance,NULL); // Creazione della finestra if (hWnd == NULL) { MessageBox (NULL,"Errore nella creazione della finestra", "ERRORE",MB_OK | MB_ICONEXCLAMATION); return 1; } ShowWindow (hWnd,SW_SHOWNORMAL); UpdateWindow (hWnd); while (GetMessage (&msg,NULL,0,0)) { TranslateMessage (&msg); DispatchMessage (&msg); } return 0; }![]()


Rispondi quotando
