Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.InicjowanieoknawtradycyjnymOpenGL
#defineWIN32_LEAN_AND_MEAN
#include<windowsih>
#endif
17
4.Następnietworzymyplikzkodemźródłowym:wtymceluwpodoknie
SolutionExplorerzaznaczamypozycjęSourceFilesizjejmenukontekstowego
wybieramyAdd,NewItem…
5.Ponowniepojawisięokno,wktórymzaznaczamypozycjęC++File(.cpp).
WpoluNamewpisujemyOknoGL.cppiklikamyprzyciskAdd.
6.Donowoutworzonegoplikuwpisujemydyrektywę:#include"OknoGLih".
7.KażdaaplikacjaWin32,któramaoknoreagującenadziałaniaużytkow-
nika,potrzebujedwóchfunkcji:WinMainiWndProc.Pierwszajestwywoływana
wmomencieuruchamianiaaplikacji,adruga–wielerazypodczascałegocyklu
życiaaplikacji,akonkretniezakażdymrazem,gdyaplikacjaodbierakomunikat
przesłanyprzezsystemlubinnąaplikacjędookna.Zacznijmyodzdefiniowania
funkcjiWinMain(listing1.2).
Listing1.2.FunkcjaWinMain–bramaaplikacjiWin32
intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,
LPSTRlpCmdLine,intnCmdShow)
{
return0;
}
8.Terazudasięnamskompilowaćprojekt,anawetgouruchomić(klawiszF5
lubCtrl+F5).Narazieskompilowanaaplikacjanierobiniczegociekawego;tużpo
uruchomieniukończydziałaniezgodniezzawartościąfunkcjiWinMain.
9.Drugazzapowiedzianychfunkcjitotzw.proceduraokna.Powinnabyć
funkcjązdefiniowanąwdomyślnejprzestrzeninazw,względniestatycznąfunkcją
składowąjakiejśklasy.Jednakskorodefiniujemyklasęobsługującąokno,wygodnie
byłoby,abyfunkcjatamiaładostępdojejelementów(nietylkostatycznych).Do
tegomusiałabybyćzwykłąfunkcjąskładowątejklasy(metodą7),atoniemożliwe
–jestwywoływanafizzewnątrz”,musibyćzatemdostępnabeztworzeniainstancji
jakiejkolwiekklasy.Możnajednakwykorzystaćprostytrikpolegającynatym,żezde-
finiujemyfunkcjęWndProc,którejjedynymzadaniembędziewywołaniemetody
Okno::WndProc.OczywiścieprzedtemmusimyzdefiniowaćklasęOknoiutwo-
rzyćjejinstancję.
7Będęsynonimicznieużywałterminówfifunkcjaskładowaklasy”ifimetoda”.Cowięcej,
będęużywałraczejtegodrugiegoterminudoodróżnieniametododfunkcji(np.zbibliotek
WinAPIlubOpenGL).