ΠΠ°ΡΠΈΠ½Π°ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΡΠΌΡΡΠ°ΡΡ ΠΊΠ°ΠΆΡΡΠ°ΡΡΡ Π·Π°ΠΏΡΡΠ°Π½Π½ΠΎΡΡΡ Ρ ΡΠΈΡΡΠ°ΠΌΠΈ Π² ΡΠΈΠΏΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠΈΠΏ TDDSurfaceDesc2 Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π΅ Π½Π° 7. ΠΠ΄Π½ΠΈ ΡΠΈΠΏΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΌΠ΅Π½ΡΠ»ΠΈΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ, Π΄ΡΡΠ³ΠΈΠ΅ ΠΆΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ ΡΠ΅ΠΆΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡ ΡΠΈΡΡΡ "ΠΎΡΡΡΠ°ΡΡ" ΠΎΡ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²ΠΎΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π΄ΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ, ΡΠΎΠΆΠ΅ ΡΠ²ΡΠ·Π°Π½ Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ DirectX. ΠΠ½ΠΎΠ³ΠΎΠ΅ ΠΈΠ· ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ , ΠΈ Π΄Π»Ρ ΠΌΠ°ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π½Π΅ ΡΠ΅Π΄ΡΠΌΠΎΠΉ, Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΠ΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π°ΡΡΡΡ ΡΠ°ΠΊΠΎΠΌΡ ΡΠΎΠ±Π»Π°Π·Π½Ρ, Π²Π΅Π΄Ρ ΡΠΎΠ³Π΄Π° ΠΊΡΡΠ³ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ°ΡΡΠΈΡΡΠ΅ΡΡΡ. Π― Π½Π΅ ΡΠΌΠΎΠ³Ρ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΡΠΎΠ³ΠΎ, ΠΈ Π²Π°ΠΌ ΡΠΎΠ²Π΅ΡΡΡ Π΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π»ΠΈΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΠ΅Π΄Ρ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΠ°Π·Π½ΠΎΡΠ΅ΡΡΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡ Π±Π΅ΡΠΏΠΎΡΡΠ΄ΠΊΡ Π² Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ . Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π‘ΠΠ-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅ Π΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ. ΠΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΡΠ°ΡΡΠ΅, ΡΠ°ΠΊ ΠΈ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠΎ ΡΡΠ°ΡΡΠΈΠΌΠΈ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ Π²Π΅ΡΡΠΈΠΉ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Ρ ΠΎΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Ρ ΠΌΠ΅Π½ΡΡΠΈΠΌΠΈ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ.
ΠΡΠ΅ ΠΎΠ΄Π½Π° ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ²ΡΠ·Π°Π½Π° ΡΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ. ΠΡ ΡΠΆΠ΅ Π½Π°ΡΠ°Π»ΠΈ Ρ Π½ΠΈΠΌΠΈ Π·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ. ΠΠΎΡΡΡΠΏ ΠΊ ΡΡΠΈΠΌ ΡΡΡΡΠΊΡΡΡΠ°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ Π² ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ, Π° Π½Π΅ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (ΠΌΡ ΡΠ°ΠΌΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΠΎΠ»Ρ Π·Π°ΠΏΠΈΡΠΈ). Π‘ΡΡΡΠΊΡΡΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°ΡΡΠ°ΡΡ Π½ΠΎΠ²ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠΌΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΡ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ.
ΠΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠ°Ρ Π²Π΅ΡΡΠΈΡ DirectX Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΉ Π΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ, ΠΎΠ½Π° ΠΏΡΠΎΡΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΎ ΠΏΠΎΡΠ²ΠΈΠ²ΡΠΈΡ ΡΡ Π² Π½Π΅ΠΉ Π½ΠΎΠ²ΡΡ ΠΏΠΎΠ»ΡΡ . Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΠΎΠΏΡΡΠ°Π»ΠΈΡΡ ΡΠ½ΡΡΡ ΡΠ°ΡΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π²Π²ΠΎΠ΄Ρ Π½ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ ΡΡΡΡΠΊΡΡΡ, ΡΠ΅ ΡΠ°ΠΌΡΠ΅ Π΄Π²ΠΎΠΉΠΊΠΈ Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΈΡ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΈΠ·-Π·Π° Π·Π°ΠΏΡΠ΅ΡΠ° Π½Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ°Π·Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΠΎ ΡΠ°ΠΌΡΠΌ Π»ΡΡΡΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ DirectX.
ΠΠ²ΠΈΠ³Π°Π΅ΠΌΡΡ Π΄Π°Π»ΡΡΠ΅. ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π² ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠΌ Π΄Π»Ρ Π½Π°Ρ Π°Π½ΡΡΡΠ°ΠΆΠ΅. ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΡ 02, ΠΎΡΠ»ΠΈΡΠ°ΡΡΠ΅ΠΌΡΡΡ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ Π·Π΄Π΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ onPaint ΡΠΎΡΠΌΡ:
procedure TfrmDD.FormPaint(Sender: TObject);
var
// ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π²ΡΠ²ΠΎΠ΄Π° GDI
DC : HDC;
wrkCanvas : TCanvas; // ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠ°Π±ΠΎΡΠ°Ρ ΠΊΠ°Π½Π²Π° begin
// ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ GDI
if FDDSPrimary.GetDC(DC) = DD_OK then begin
wrkCanvas := TCanvas.Create; // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠ°Π½Π²Ρ
wrkCanvas.Handle := DC; // ΠΠ°Π΄Π°Π΅ΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ°Π½Π²Ρ = DC
// Π ΠΈΡΡΠ΅ΠΌ Π½Π° ΠΊΠ°Π½Π²Π΅ ΠΊΡΡΠΆΠΎΠΊ
wrkCanvas.Ellipse (Left + 50, Top + 50, Left + 100, Top + 100);
wrkCanvas.Free; // ΠΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π²Ρ
FDDSPrimary.ReleaseDC (DC); // ΠΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π°
end;
end;
ΠΡΠΈΠΌΠ΅Ρ ΡΡΠ΅Π±Π½ΡΠΉ, Π½Π΅ ΠΎΠΆΠΈΠ΄Π°ΠΉΡΠ΅ ΠΎΡ Π½Π΅Π³ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π²ΡΠ΄Π°ΡΡΠ΅Π³ΠΎΡΡ. ΠΠΏΠ΅ΡΠ΅Π΄ΠΈ Π½Π°Ρ ΠΆΠ΄ΡΡ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½ΠΈΡΠ΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ ΠΎΠΊΠ½Π° ΡΠΈΡΡΠ΅ΡΡΡ ΠΊΡΡΠΆΠΎΠΊ. ΠΡΠΈΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π°ΠΆΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ, ΡΡΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ½ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, ΡΠ΅ΠΌ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
ΠΠ°Π½Π²Π° Delphi ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄Π° GDI, Π΅Π΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Handle Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΈΠΏΡ Π½ΠΎΡ, ΡΡΡΠ»ΠΊΠ΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²ΡΠ²ΠΎΠ΄Π°. Π ΡΡΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ GDI Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ²ΠΎΠ΄.
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΊΠΎΠ΄Π°, ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ Getoc ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π² Π½ΡΠΆΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Handle ΠΊΠ°Π½Π²Ρ Π² Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΌΡ Π΄ΠΎΠ±ΡΠ΅ΠΌΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ Π½Π° ΠΊΠ°Π½Π²Π΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π½Π°ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. ΠΡΠ΅ ΡΡΠΎ Π½Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΠΎ ΠΏΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅.
ΠΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ Π² Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ°Π½Π²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π°, ΡΠ°ΠΊ ΠΌΡ ΡΠ°ΠΌΠΈ Π·Π°Π΄Π°Π»ΠΈ Π΅Π΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΠΎΡΡΠΎΠΌΡ ΠΊΠ°Π½Π²Π° ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΎΠ±Π»Π°ΡΡΡΡ Π²ΡΠ΅Π³ΠΎ ΡΠΊΡΠ°Π½Π°, ΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΠΉ ΠΊΡΡΠΆΠΎΠΊ, ΠΌΡ Π·Π°Π΄Π°Π΅ΠΌ Π² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π°, Π° Π½Π΅ Π² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΠΌ ΠΏΠ°ΠΌΡΡΡ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΡΠ²ΠΎΠ΄Π°. ΠΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ Π²Π°ΠΆΠ½ΡΠΌ. ΠΡΠ»ΠΈ Π΅Π³ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ, ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΊΡΠΎΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ΠΌΡ ΡΡΠΎΠ»Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π‘ΡΡΠ°ΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ!
ΠΠΎΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ. ΠΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΎΠΊΠ½Π° Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΎΠ³ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ, Π½ΠΎ Π²ΠΎΡ Π΅ΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π° ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌΠΈ, ΡΠΎ ΠΊΡΡΠΆΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡ ΠΎΠ΄ΠΈΡΡ Π·Π° Π΅Π³ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Ρ. ΠΡΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΠΌΠΎ. ΠΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΠΊΡΡΠ³ ΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ Π²ΡΠ΅Π³ΠΎ ΡΠΊΡΠ°Π½Π°. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΡΡΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ°ΡΠΏΠ°Ρ Π½ΡΡΡ, ΡΠΎ ΠΊΡΡΠΆΠΎΠΊ ΡΠΆΠ΅ Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ.
ΠΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ DirectDraw. Π‘ΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ Ρ ΡΠΊΡΠ°Π½Π°, Π° Π·Π°ΡΠ΅ΠΌ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΡ 03, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠ°Ρ ΠΏΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ΄Π°Π΅ΡΡΡ ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ (ΡΠΈΡ. 2.1).
ΠΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ - DDERR_SURFACELOST. ΠΠ°ΠΊ ΡΠΎΠΎΠ±ΡΠ°Π΅ΡΡΡ Π² Π΅Π³ΠΎ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ΅, Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ Restore ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ.
ΠΡΠΈΠΌΠ΅Ρ Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΏΠΎΡΠ΅ΡΠΈ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ. ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΠΌΡ ΡΠ²ΡΠ·Π°Π»ΠΈ Ρ ΡΠ°Π±ΠΎΡΠΈΠΌ ΡΡΠΎΠ»ΠΎΠΌ, ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠΊΠ½ΠΎ "ΡΡΠ»ΠΎ" Ρ ΡΠΊΡΠ°Π½Π°, ΠΎΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠ»ΠΎ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’Π΅ΠΏΠ΅ΡΡ Π΅ΠΌΡ Π½Π°Π΄ΠΎ Π·Π°Π½ΠΎΠ²ΠΎ Π²Π΅ΡΠ½ΡΡΡ ΡΠ²ΠΎΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠ°Π²Π° Π½Π° ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ. Π’Π°ΠΊΠ°Ρ ΠΆΠ΅ ΡΠΈΡΡΠ°ΡΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° ΠΏΠΎ Ρ ΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ DirectDraw ΠΌΠΎΠ³ΡΡ Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ DDERR_WASSTILLDRAWING, ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠΉ, ΡΡΠΎ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π½ΡΡΠΎ ΠΈ Π·Π°ΠΏΡΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠ±ΡΠ΅ΠΌΡΡ ΡΡΠΏΠ΅Ρ Π° ΠΈΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΈΠ½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΡ 04, Π·Π΄Π΅ΡΡ ΡΠ΅ΡΠ΅Π½Ρ Π²ΡΠ΅ ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ, - ΡΡΠΎ ΠΊΠΎΠ΄, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΎΠΊΠ½Π°. Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠΎΠ΄ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ Π²Π½ΡΡΡΡ ΡΠΈΠΊΠ»Π°, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΡ Π²ΡΡ ΠΎΠ΄ΠΈΠΌ Π»ΠΈΠ±ΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ, Π»ΠΈΠ±ΠΎ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ, Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΎΡΠ»ΠΈΡΠ΅Π½ ΠΎΡ DDERR_WASSTILLDRAWING:
while True do begin Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, // ΠΠΎΠ΄ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ
hRet := FDDSPrimary.GetDC(DC); // ΠΠ°Π½ΠΎΠ²ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ
if Succeeded (hRet) then begin
wrkCanvas := TCanvas.Create;
wrkCanvas.Handle := DC; wrkCanvas.Ellipse (Left + 50, Top + 50, Left + 100, Top + 100);
wrkCanvas.Free; FDDSPrimary.ReleaseDC (DC); Break;
end;
// ΠΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Π°, Π½Π°Π΄ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ if hRet = DDERR_SURFACELOST then begin
hRet := FDDSPrimary._Restore;
// ΠΡΠ»ΠΈ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, Π΄Π°Π»ΡΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π½Π΅Π»ΡΠ·Ρ
if hRet <> DD_OK then Break; end;
// ΠΡΠΈΠ±ΠΊΠ° ΠΎΡΠ»ΠΈΡΠ½Π° ΠΎΡ DDERR_WASSTILLDRAWING, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΏΠΎΠΏΡΠ°Π²ΠΈΠΌΠ° if hRet <> DDERR_WASSTILLDRAWING then Break;
end;
Π§ΡΠΎΠ±Ρ ΠΊΡΡΠΆΠΎΠΊ Π½Π΅ ΡΠΈΡΠΎΠ²Π°Π»ΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡ Π²ΡΡΠΎΡΡ ΠΎΠΊΠ½Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ
ΡΠΎΠ±ΡΡΠΈΡ OnCanResize:
procedure TfrmDD.FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean); begin
if NewHeight < 110 // ΠΡΡΠΎΡΠ° ΠΎΠΊΠ½Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ 110
then Resize := False
else Resize := True;
end;
Π§ΡΠΎ Π΅ΡΠ΅ Π½Π°Π΄ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΡ OnResize ΠΎΠΊΠ½Π° Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄, ΡΡΠΎ ΠΈ ΠΏΡΠΈ ΡΠΎΠ±ΡΡΠΈΠΈ OnPaint.
ΠΠ»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅Ρ ΡΠΈΡΡΠ°ΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ, Π² ΠΏΡΠΎΠ΅ΠΊΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° TAppLicationEvents, Π½Π° ΡΠΎΠ±ΡΡΠΈΡ OnActivate ΠΈ onRestore ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠΊΠ½Π°. Π’ΠΎ Π΅ΡΡΡ ΠΏΡΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π°Π½ΠΎΠ²ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ.
Π₯ΠΎΡΠΎΡΠ΅Π½ΡΠΊΠΎ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ: ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΡΠΉΡΠ΅ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ°ΠΌΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ , ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΠΈ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΠΉΡΠ΅ ΠΎΠΊΠ½ΠΎ, Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΡΠ°ΠΌΡΠΌΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, ΠΏΠΎΠΌΠ΅Π½ΡΠΉΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΊΡΠ°Π½Π° ΠΏΠΎ Ρ ΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΡΠΆΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π²ΡΠ΅Π³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π΅Π³ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ. ΠΡΠΈ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΊΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ Π½Π΅ΠΏΡΠΈΠ²ΡΡΠ½ΠΎ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΠΈΡΠ°ΡΡ Application.Minimize Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΡ OnDeactivate Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ ΡΠΎΠΆΠ΅ ΠΎΡΠΎΠ±ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ°ΡΠΏΠ°Ρ ΠΈΠ²Π°ΡΡΡ Π½Π° Π²Π΅ΡΡ ΡΠΊΡΠ°Π½.
Π’Π°ΠΊΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ, ΠΊΠ°ΠΊ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ GDI Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ΅Π΄ΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°Π΄Π°ΡΠ°Ρ .
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΅ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π΅Π³ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ (ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π½Π° Π½Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡ <Alt>+<Tab>) ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ, ΡΠΎ ΠΎΠ½Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ΅ΡΡΠ½Π°. Π’Π°ΠΊΠΎΠΉ ΠΏΡΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π΅ΡΡΠΌΠ° Π½Π΅ΡΠΊΠΎΠ½ΠΎΠΌΠ½ΠΎ ΡΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ»ΠΈΡΡΠΈΠ½Π³
ΠΠ»ΠΈΡΡΠΈΠ½Π³ΠΎΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΏΠ°ΠΌΡΡΡ Π²ΠΈΠ΄Π΅ΠΎΡΡΡΡΠΎΠΉΡΡΠ², ΠΈ DirectDraw ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΡΡΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π±Π»ΠΈΡΡΠΈΠ½Π³Π°.