Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.InicjowanieoknawtradycyjnymOpenGL
#deneWIN32_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,adrugawielerazypodczascałegocyklu
życiaaplikacji,akonkretniezakażdymrazem,gdyaplikacjaodbierakomunikat
przesłanyprzezsystemlubinnąaplikacjędookna.Zacznijmyodzdeniowania
funkcjiWinMain(listing1.2).
Listing1.2.FunkcjaWinMainbramaaplikacjiWin32
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ązdeniowanąwdomyślnejprzestrzeninazw,względniestatycznąfunkcją
składowąjakiejśklasy.Jednakskorodeniujemyklasę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-
niujemyfunkcjęWndProc,którejjedynymzadaniembędziewywołaniemetody
Okno::WndProc.OczywiścieprzedtemmusimyzdeniowaćklasęOknoiutwo-
rzyćjejinstancję.
7Będęsynonimicznieużywałterminówfifunkcjaskładowaklasy”ifimetoda”.Cowięcej,
będęużywałraczejtegodrugiegoterminudoodróżnieniametododfunkcji(np.zbibliotek
WinAPIlubOpenGL).