Uvod u Windows API
U ovom dijelu se opisuje programiranje korištenjem Windows API-ja. Programiranje Direct3D aplikacije započinje kreiranjem forme u koju će se kasnije uključiti Direct3D. U nastavku je opisan "Hello World" primjer za korištenje Windows API-ja kao Win32 aplikacije kreirane u C++ programskom jeziku.
Win32 console vs. Win32 desktop aplikacija
Razvoj Direct3D aplikacije počinjemo kreiranjem Win32 prozora. U C++ moguće je kreirati konzolne i desktop aplikacije. Sljedeći isječak koda je kod za konzolnu aplikaciju. Ograničenje konzolne aplikacije je slaba suradnja s windowsima, upravljanje događajima, u nju nije moguće učitati Direct3D jer se radi o tekstualnom sučelju.
#include<iostream.h> int main(){ cout << Hello World << endl; return 0; }
Zbog toga je potrebno kreirati desktop aplikaciju. U C++-u se to radi primjenom Windows APIja. To je teži način programiranja u odnosu na C# ili JAVA-u, ali je ohrabrujuća činjenica da se za Direct3D koristi isti kostur u svakoj Win32 aplikaciji. U Visual Studio je potrebno kreirati novi prazni Win32 projekt za C++ programski jezik gdje će se u source folderu kreirati novi C++ datoteka sa WinMain funkcijom.
#include <windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { MessageBox(NULL, L"Hello World!", L"Just another Hello World program!", MB_ICONEXCLAMATION | MB_OK); return 0; }
Ovaj Win32 program prikazuje dijalog s porukom "Hello World". Za razliku od konzolne aplikacije, Win32 aplikacija za forme počinje s korištenjem datoteke zaglavlja windows.h. Ne koristi se main funkcija već WinMain funkcija koja se deklarira kao WINAPI funkcija (funkcija koja koristi Windows API). Značenje pojedinih parametara funkcija moguće je pročitati u MSDN dokumentaciji za Windows API.
Izvornu datoteku za gornji program možete preuzeti klikom ovdje.
Slijedi: Kreiranje prozora s Windows API