Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Libro API windows e finestre in C++
Forum - C/C++ - Libro API windows e finestre in C++

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
Linkinf22 (Normal User)
Rookie


Messaggi: 59
Iscritto: 28/06/2009

Segnala al moderatore
Postato alle 15:05
Giovedì, 06/01/2011
Chi di voi del forum sa creare finestre ben fatte (intendo che sa fare più di semplici esempi) in C++?

è da un po' che mi piacerebbe imparare perchè alla fine per fare applicazioni con finestre devo sempre usare C#, che è facile da "decompilare" e visualizzare il codice da terze parti, cosa che mi fa spiacere.
Inoltre è anche una mia curiosità capire come si utilizzano le API di windows e quindi creare finestre in C++.

Perciò, non vi chiedo di spiegarmelo direttamente, ma chi ne è capace come ha imparato?
Mi potreste dare tutte le fonti (titoli di libri, siti web ecc) che avete pensato vi siano state utili per imparare?

Sarebbe anche per un progetto ambizioso che mi spiacerebbe fare in C# permettendo a chiunque volesse di leggere il codice.

Grazie in anticipo.

PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Up
0
Down
V
Segnala al moderatore
Postato alle 11:38
Venerdì, 07/01/2011
Non ho capito, vuoi usare le API di windows?
Perchè sono molto complesse
Esistono librerie più semplici da usare e anche multipiattaforma...
Io per esempio so le GTK+, che hanno una grafica anche molto bella.
Comunque se vuoi usare le API di windows su internet si trova di tutto, anche sul sito di microsoft

PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Up
0
Down
V
Segnala al moderatore
Postato alle 11:42
Venerdì, 07/01/2011
qui non ho il compilatore ma credo che vada,
è un esempio:

Codice sorgente - presumibilmente C++

  1. # include <windows>
  2. #include <condefs.h>
  3.  
  4. LRESULT CALLBACK myWndProc(HWND hWindow, UINT msg, WPARAM wParam, LPARAM lParam)
  5. {
  6.   if (msg==WM_PAINT)
  7.   {
  8.     PAINTSTRUCT ps;
  9.     const HDC hDC = BeginPaint(hWindow,&ps);
  10.     RECT rect;
  11.     GetClientRect(hWindow,&rect);
  12.     DrawText(hDC,TEXT("HELLO WORLD"),-1,&rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
  13.     EndPaint(hWindow,&ps);
  14.     return 0;
  15.   }
  16.   else if (msg==WM_DESTROY)
  17.   {
  18.     PostQuitMessage(0);
  19.     return 0;
  20.   }
  21.   return DefWindowProc(hWindow,msg,wParam,lParam);
  22. }
  23. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
  24. {
  25.   const static TCHAR appName[] = TEXT("Hello world");
  26.   WNDCLASSEX myWin;
  27.   myWin.cbSize = sizeof(myWin);
  28.   myWin.style = CS_HREDRAW | CS_VREDRAW;
  29.   myWin.lpfnWndProc = myWndProc;
  30.   myWin.cbClsExtra = 0;
  31.   myWin.cbWndExtra = 0;
  32.   myWin.hInstance = hInstance;
  33.   myWin.hIcon = 0;
  34.   myWin.hIconSm  = 0;
  35.   myWin.hCursor = 0;
  36.   myWin.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
  37.   myWin.lpszMenuName = 0;
  38.   myWin.lpszClassName = appName;
  39.   //Register
  40.   if (!RegisterClassEx(&myWin)) return 0;
  41.   const HWND hWindow = CreateWindow(
  42.     appName,
  43.     appName,
  44.     WS_OVERLAPPEDWINDOW,
  45.     CW_USEDEFAULT,
  46.     CW_USEDEFAULT,
  47.     CW_USEDEFAULT,
  48.     CW_USEDEFAULT,
  49.     0,
  50.     0,
  51.     hInstance,
  52.     0);
  53.   ShowWindow(hWindow,iCmdShow);
  54.   UpdateWindow(hWindow);
  55.   {
  56.     MSG msg;
  57.     while(GetMessage(&msg,0,0,0))
  58.     {
  59.       TranslateMessage(&msg);
  60.       DispatchMessage(&msg);
  61.     }
  62.     return (int)msg.wParam;
  63.   }
  64. }


PM
Avatar
Linkinf22 (Normal User)
Rookie


Messaggi: 59
Iscritto: 28/06/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 14:16
Venerdì, 07/01/2011
Be ma siccome è per un bel progetto non si sa mai che se riesco a farlo avrò una "ricompensa", ma con le GTK+ non so se posso farlo closed source rivolgermi a qualcuno per venderlo, credo che con le GTK+ non si possa fare niente a scopo di lucro.

PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Up
0
Down
V
Segnala al moderatore
Postato alle 16:57
Venerdì, 07/01/2011
non so... credo di no, però forse con wxWidget si.. anche se preferisco l'interfaccia e i temi delle gtk...
Con le win api invece si può fare roba vendibile è vero,però sono quasi incomprensibili!
io quando sono passato alle gtk dalle api, non credevo che i codici potessero funzionare!

PM
Avatar
Linkinf22 (Normal User)
Rookie


Messaggi: 59
Iscritto: 28/06/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 21:36
Venerdì, 07/01/2011
Quando hai detto che sul sito di microsoft si trova qualcosa intendi su msdn?
Se si mi sapresti dare il link che in msdn non riesco mai a trovarmici.

PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Up
0
Down
V
Segnala al moderatore
Postato alle 11:52
Sabato, 08/01/2011

PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Up
0
Down
V
Segnala al moderatore
Postato alle 11:54
Sabato, 08/01/2011
Comunque sul menu a sinistra trovi i link con tutte le spiegazioni, dacci un'occhiata!

PM
Avatar
Linkinf22 (Normal User)
Rookie


Messaggi: 59
Iscritto: 28/06/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 20:39
Sabato, 08/01/2011
Quello in italiano tratta solo di visual basic, linguaggio che non conosco per niente.
Quello in inglese sembra faccia al caso mio ed anche se è in inglese non credo di avere problemi, ne ho letti tanti di libri di informatica in inglese.

Ci sono cose del C++ che ancora non conosco, sono abituato al C#, quindi forse è un po' presto per le API.
Quando penso sarò più pronto consulterò il link che mi hai dato (l' ho salvato nei preferiti) e spero questo momento arrivi presto :k:

Grazie per l' aiuto!

PM
Pagine: [ 1 2 3 ] Precedente | Prossimo