Munka OpenGL - bevezetés, delphisite

eljárás TForm2. Button1Click # 40; Sender: TObject # 41; ;

H: = FindWindow # 40; 'TForm1'. 'Form1' # 41; ;

ha H <> 0, akkor

ShowMessage # 40; "Ott Form1! # 41;

ShowMessage # 40; "Nem Form1! # 41;

eljárás TForm2. FormMouseMove # 40; Sender: TObject;

Shift: TShiftState; X, Y: Integer # 41; ;

Caption: = 'x =' + IntToStr # 40; X # 41; + 'Y =' + IntToStr # 40; Y # 41; ;

A cím a formában megjeleníti a koordinátáit az egér mutatót.
Fuss két esetben a program, és vegye figyelembe, hogy az ablak nincs fókusz ( „inaktív”) is reagál a mutató mozgását a felszínén.
Hivatkozással az ablakot, az alkalmazás tud vele minden olyan intézkedés üzenetváltásnak azt.
Változtassuk meg a kódot feldolgozása gombra kattintva:

eljárás TForm2. Button1Click # 40; Sender: TObject # 41; ;

H: = FindWindow # 40; 'TForm1'. 'Form1' # 41; ;

ha H <> 0, akkor

SendMessage # 40; H, WM_CLOSE, 0. 0 # 41; ;

Ha van egy osztály „TForm1” a „Form1” címet ablak, az alkalmazás küld egy üzenetet WM_CLOSE neki - próbálta az ablak bezárásához.
Hasonlóképpen, ha azt szeretnénk, hogy dolgozzon valamit a felszínen egy másik ablakban, akkor kap egy hivatkozás az ablakba.
Kezdeni, megpróbálják felhívni a felszínen a natív ablakot.
Helyezze a másik gombra, majd feldolgozás csökken a következő formában:

eljárás TForm2. Button2Click # 40; Sender: TObject # 41; ;

dc: = GetDC # 40; fogantyú # 41; ;

téglalap # 40; dc, 10. 10. 110. 110 # 41; ;

ReleaseDC # 40; Handle, dc # 41; ;

Az alkalmazás futtatásához. Ha rákattint a Hozzáadás gombra az ablak felületén tér levonni. Felhívni a alacsony szintű funkciók a Windows.
Próbáljuk felhívni a felszínen egy másik ablakban, amely meg fogja változtatni az éppen írt kód:

eljárás TForm2. Button2Click # 40; Sender: TObject # 41; ;

Ablak: = FindWindow # 40; 'TForm1'. 'Form1' # 41; ;

ha Window <> 0, akkor

dc: = GetDC # 40; ablak # 41; ;

téglalap # 40; dc, 10. 10. 110. 110 # 41; ;

ReleaseDC # 40; Handle, dc # 41; ;


A forma OnCreate eseménykezelő kezdődik a következő sorokat:

DC: = GetDC # 40; fogantyú # 41; ;

HRC: = wglCreateContext # 40; DC # 41; ;

wglMakeCurrent # 40; DC, HRC # 41; ;

Azaz, megkapjuk a Windows helyi lejátszás, állítsa be a kívánt képpontformátumot, ami OpenGL lejátszás összefüggésben, és ez a jelenlegi, ami miatt OpenGL funkciók dolgozni ezt az ablakot.
A pixel méret fogunk beszélni többet később, de most szeretném felhívni a figyelmet, hogy a két pont.
Először is, az érték a típus HDC megkapjuk létrehozásakor az ablakon, a OnCreate eseménykezelő, vagy más szóval, a kezelő számára a WM_CREATE üzenetet. Ez egy gyakori és hagyományos Windows-alapú programok.
Egyes programozók tettek rám megjegyezni, hogy megszerzése összefüggésben helyzet megteremtésében egy ablak kissé hibás a Windows 9X és helyesebb lenne, hogy szerezzen egy olyan környezetben, egy eseménykezelő vagy OnShow OnPaint. Talán ez igaz, és bizonyos helyzetekben befolyásolhatja a helyességét a kérelmet. Meg kell ezt figyelembe venni, amikor az írás kritikus alkalmazásokat.
Másodszor, a Windows helyi lejátszás és OpenGL lejátszás összefüggésben általában mentesek alkalmazás. Ez azt jelenti, OpenGL parancs kimenete általában keretezi a következő sorokat:

dc: = BeginPaint # 40; Ablak, ps # 41; ;
wglMakeCurrent # 40; DC, HRC # 41; ;
wglMakeCurrent # 40; 0 0 # 41; ;
EndPaint # 40; Ablak, ps # 41; ;
ReleaseDC # 40; Ablak, dc # 41; ;

Kapcsolódó cikkek