ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Windows API ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π² ΠΌΠΎΠ΄ΡΠ»ΡΡ Windows ΠΈ Messages. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π² Π΄ΡΡΠ³ΠΈΡ ΠΌΠΎΠ΄ΡΠ»ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΠΌ Π²ΡΡΡΠ½ΠΈΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΉ Π΅ΠΌΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠΈ ΡΠΏΡΠ°Π²ΠΊΠ°, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠ°Ρ Ρ Delphi, Π½ΠΈ MSDN, ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π½Π΅ ΠΌΠΎΠ³ΡΡ Π΄Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π§ΡΠΎΠ±Ρ Π²ΡΡΡΠ½ΠΈΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ Π½ΡΠΆΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΠΈΡΠΊΠΎΠΌ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ pas, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΌΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΡΡΠ½ΠΈΡΡ, ΡΡΠΎ Π²Π΅ΡΡΠΌΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ShellExecute Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ ShellAPI, CoCreateInstance β Π² ΠΌΠΎΠ΄ΡΠ»Π΅ ActiveX (Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ Ole2, ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΌ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΡΠΎ ΡΡΠ°ΡΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ Delphi).
ΠΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ² ΠΎ ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°Ρ . Π ΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ΅ΡΠΈΡΡ ΡΠΈΡΠ»Π° Π²ΠΈΠ΄Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 0xC56F ΠΈΠ»ΠΈ 0x3341. ΠΡΠ΅ΡΠΈΠΊΡ 0Ρ Π² C/C++ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. Π Delphi Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π° $, Ρ.Π΅. ΡΡΠΈ ΡΠΈΡΠ»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Ρ ΠΊΠ°ΠΊ $C56F ΠΈ $3341 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
1.1.3. ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠ»Π°ΡΡΠΎΠ²
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π² Delphi, ΠΌΡ Π±ΡΡΡΡΠΎ ΠΏΡΠΈΠ²ΡΠΊΠ°Π΅ΠΌ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° TButton, ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° β ΠΊΠ»Π°ΡΡΠΎΠΌ TCanvas. ΠΠΎ ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Windows, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ» ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ·Π½Π°Π½Π½ΡΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ Π½Π΅ Π±ΡΠ» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½. Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Windows ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΈ ΡΡΠΎΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ, ΠΏΠΎΡΡΠΎΠΌΡ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ "ΠΏΠΎ ΡΡΠ°ΡΠΈΠ½ΠΊΠ΅", ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΡΠΎ DLL ΠΌΠΎΠ³ΡΡ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½ΠΎ Π½Π΅ ΠΊΠ»Π°ΡΡΡ. ΠΠΎΠ³Π΄Π° ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ , ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΠ΅ΡΠ΅Π· Windows API, Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡ Π½Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ ΠΠΠ, Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΠ½ΠΎΡΡΡ, Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΊΡΡΡΠ° ΠΎΡ Π½Π°Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΡΠΎΠΉ ΡΡΡΠ½ΠΎΡΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊ Ρ Π΅Π΄ΠΈΠ½ΡΠΌ ΠΈ Π½Π΅Π΄Π΅Π»ΠΈΠΌΡΠΌ (Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠΌ) ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ.
ΠΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Windows API, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ (Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ). ΠΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π½Π΅ΡΠ΅Ρ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ· Windows API ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, Ρ ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π½ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ 32-Π·Π½Π°ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°, Π° Π·Π½Π°ΡΠΈΡ, ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ ΡΡΠ΅Π±ΡΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠΈΡΠ»Π°. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Windows API Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠ»ΡΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ Ρ ΡΠΈΠΏΠ°ΠΌΠΈ, Ρ.Π΅. ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈ ΡΠΈΡΠ»ΠΎ, ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π·Π½Π°Π½ΠΈΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΠΏΡΠΈΠ½ΠΎΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΠΎΠ»ΡΠ·Ρ (Ρ ΠΎΡΡ Π΅ΡΠ»ΠΈ Π±Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Windows Π±ΡΠ»Π° "ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π° ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ", ΡΠΈΠΏ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°).
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π³Π»Π°Π²Π½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Windows API Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ. ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΡΠ΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ°, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΡΡΠ΅Π±ΡΡΡ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΡΠΎΡΡΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ΅ΡΠ΅Π· Π΅Π³ΠΎ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ, Ρ.ΠΊ. ΠΎΠ½ΠΈ ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Ρ Π½ΠΈ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ VCL Π½Π΅ΡΠ΅Π΄ΠΊΠΎ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°ΠΌΠΈ Π½Π°Π΄ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Delphi. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ (ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Handle), ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ½ΠΎΠ³Π΄Π° ΠΊΠ»Π°ΡΡ Delphi ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Windows. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ»Π°ΡΡ TBitmap Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ HBITMAP ΠΈ HPALETTE β ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈ ΠΏΠ°Π»ΠΈΡΡΡ ΠΊ Π½Π΅ΠΉ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΎΠ½ Ρ ΡΠ°Π½ΠΈΡ Π΄Π²Π° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°: Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ Handle ΠΈ PalettΠ΅.
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ VCL Π½Π΅ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡΡΡ, Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· Windows API. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠΏΡΡΡΠ°ΡΡ ΠΎΠΊΠ½ΠΎ Π½Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° Hide, Π° ΠΏΡΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ Windows API ShowWindow(Handle, SW_HIDE), Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ OnHide, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ΅ΠΌΠΈ ΡΠ°ΠΌΡΠΌΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ VCL. ΠΠΎ ΡΠ°ΠΊΠΈΠ΅ Π½Π΅Π΄ΠΎΡΠ°Π·ΡΠΌΠ΅Π½ΠΈΡ ΡΠ»ΡΡΠ°ΡΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Windows API Π΄ΡΠ±Π»ΠΈΡΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ VCL.
ΠΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π² Delphi, Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π°Π»ΡΡΡΡΡ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΠΌ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ "Π²ΡΠ½ΠΎΡΠ΅ ΠΌΡΡΠΎΡΠ°". ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΈ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠΌΠΈ Π² Windows API. ΠΡΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎΠ·Π΄Π°ΡΡΠ΅ΠΉ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΎ ΡΠ°ΠΌ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ. ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ Π½ΡΠΆΠ½ΠΎ Π»ΠΈ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π²ΡΡΡΠ½ΡΡ, ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ΄Π°Π»ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ. Π’Π°ΠΊ, ΡΡΠ½ΠΊΡΠΈΡ DeleteObject ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΊΠΎΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΡΡ, Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΡΡ, ΠΊΠΈΡΡΠΈ, ΡΡΠΈΡΡΡ, ΡΠ΅Π³ΠΈΠΎΠ½Ρ, ΡΠ°ΡΡΡΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠ°Π»ΠΈΡΡΡ. ΠΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π³ΠΈΠΎΠ½Ρ Π½Π΅ ΡΠ΄Π°Π»ΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ Π²ΡΠ·Π²Π°ΡΡ Π΄Π»Ρ ΡΠ΅Π³ΠΈΠΎΠ½Π° ΡΡΠ½ΠΊΡΠΈΡ SetWindowRgn, ΡΠΎ ΠΎΠ½ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π½ΠΈΠΌ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΡΠΎΠ²Π΅ΡΡΠ°ΡΡ Π½Π΅Π»ΡΠ·Ρ.
ΠΡΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΡΠΈΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΄Π°Π»ΡΠ»Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ²Π½ΠΎ, Π° Π½Π΅ ΠΏΠΎΠ»Π°Π³Π°Π»Π°ΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ.
1.1.4. Π€ΠΎΡΠΌΡ VCL ΠΈ ΠΎΠΊΠ½Π° Windows
ΠΠΎΠ΄ ΡΠ»ΠΎΠ²ΠΎΠΌ "ΠΎΠΊΠ½ΠΎ" ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΠΌΠ° Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ΡΠ΅Ρ , ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ° TForm. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΈΡΠ΅. Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠΊΠ½ΠΎΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π»ΡΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠΊΡΠ°Π½Π½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΠΌΡΡΡ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ° TButton, β ΡΡΠΎ ΡΠΎΠΆΠ΅ ΠΎΠΊΠ½ΠΎ. VCL Π²Π½ΠΎΡΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ Π² ΡΡΠΎ ΠΏΠΎΠ½ΡΡΠΈΠ΅. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ VCL Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠΊΠ½Π°ΠΌΠΈ, Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΠΈΡΠΈΡΡΡΡ ΠΈΡ , ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, TImage. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΡΠ΅ΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΡΠΎΠΉ ΠΈΠΌΠΈΡΠ°ΡΠΈΠΈ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅, Π° ΠΏΠΎΠΊΠ° ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΎΠΊΠ½Π°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π² ΡΠΈΡΠ»Π΅ ΠΏΡΠ΅Π΄ΠΊΠΎΠ² ΠΊΠ»Π°ΡΡ TWinControl. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ VCL ΠΏΠΎΡΡΠ°ΡΠ°Π»ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΊΠΎΠ½Π½ΡΠΌΠΈ ΠΈ Π½Π΅ΠΎΠΊΠΎΠ½Π½ΡΠΌΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Π±ΡΠ»Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ Π½Π΅ΠΎΠΊΠΎΠ½Π½ΡΠΉ TLabel ΠΈ ΠΎΠΊΠΎΠ½Π½ΡΠΉ TStaticText ΠΊΠ°ΠΆΡΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π»ΠΈΠ·Π½Π΅ΡΠ°ΠΌΠΈ. Π Π°Π·Π½ΠΈΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π·Π°ΠΌΠ΅ΡΠ½ΠΎΠΉ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Windows API. Π‘ Π½Π΅ΠΎΠΊΠΎΠ½Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ VCL, ΠΎΠ½ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Handle, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΎΠΊΠΎΠ½Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Windows API.
ΠΡΠΌΠ΅ΡΠΈΠΌ ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΊΠΎΠ½Π½ΡΠΌΠΈ ΠΈ Π½Π΅ΠΎΠΊΠΎΠ½Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ: Π½Π΅ΠΎΠΊΠΎΠ½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΈΡΡΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΎΠΊΠΎΠ½Π½ΡΠ΅ ΠΊΠ°ΠΊ Π±Ρ "ΠΊΠ»Π°Π΄ΡΡΡΡ" Π½Π° ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΡΠ²Π΅ΡΡ Ρ . Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½Π΅ΠΎΠΊΠΎΠ½Π½ΡΠΉ TLabel, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ Π½Π° ΡΠΎΡΠΌΠ΅, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΊΡΡΠ²Π°ΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ°ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ TButton, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ TLabel ΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ ΡΠΎΡΠΌΡ, Π° ΠΊΠ½ΠΎΠΏΠΊΠ° β ΡΡΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π»Π΅ΠΆΠ°ΡΠΈΠΉ Π½Π° ΡΠΎΡΠΌΠ΅ ΠΈ ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΡΠ²ΠΎΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ. A TStaticText ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π°Π΄ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ ΡΠΎΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π°Π΄ ΡΠΎΡΠΌΠΎΠΉ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅Π§ΡΠΎΠ±Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π½Π΅ΠΎΠΊΠΎΠ½Π½ΡΠΉ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π°Π΄ ΠΎΠΊΠΎΠ½Π½ΡΠΌ, Π΅ΡΠ»ΠΈ Π² ΡΡΠΎΠΌ Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΏΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠΎΠ»ΠΎΠΆΠΈΡΡ Π½Π° ΡΠΎΡΠΌΡ ΠΏΠ°Π½Π΅Π»Ρ (TPanel) β ΠΎΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΊΠΎΠ½Π½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΎΠΊΠΎΠ½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ° ΠΏΠ°Π½Π΅Π»Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π»ΡΠ±ΠΎΠΉ Π½Π΅ΠΎΠΊΠΎΠ½Π½ΡΠΉ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΈ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π΅ Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ ΡΠΎΡΠΌΡ, Π° Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ. ΠΡΠ»ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ±ΡΠ°ΡΡ Ρ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠ°ΠΌΠΊΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π΅Π΅ Π΄ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎΡΡ Π² Π½Π΅ΠΉ Π½Π΅ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΠΏΠ°Π½Π΅Π»Ρ ΡΡΠ°Π½Π΅Ρ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΠΎΠΉ, ΠΈ Π²ΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ, Π±ΡΠ΄ΡΠΎ Π½Π΅ΠΎΠΊΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π°Π΄ ΠΎΠΊΠΎΠ½Π½ΡΠΌ.
ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ-ΡΠΎ ΠΎΠΊΠΎΠ½Π½ΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ. ΠΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΡΠ°ΡΡ ΠΎΠΊΠΎΠ½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Delphi. ΠΡΠΎ Π½Π΅ΠΊΠΈΠΉ ΡΠ°Π±Π»ΠΎΠ½, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠΊΠ½Π°. ΠΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ°ΠΊΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΈΠΌΡ, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Π² Π΅Π³ΠΎ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ (ΡΡΠ½ΠΊΡΠΈΡ RegisterClassEx). Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π°ΠΏΠΈΡΡ ΡΠΈΠΏΠ° TWndClassEx, ΠΏΠΎΠ»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠ°.
Π‘ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΎΠΊΠ½ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π½Π°Π·ΡΠ²Π°ΡΡΠ°ΡΡΡ ΠΎΠΊΠΎΠ½Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ (ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅Π΅ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅). ΠΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Π° Π²ΡΠ΅Π³ΠΎ ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Ρ. Π΅. Π²ΡΠ΅ ΠΎΠΊΠ½Π°, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ, Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΠΎΠΊΠΎΠ½Π½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ. ΠΡΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π»ΠΈΠ±ΠΎ Π² ΡΠ°ΠΌΠΎΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅, Π»ΠΈΠ±ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΈΠΌ DLL. ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΎΠΊΠΎΠ½Π½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°.