Π ΠΈΡ. 1.10. ΠΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠ΅ ΡΠ΅Π³ΠΈΠΎΠ½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΡ Π½Π° ΡΠΈΡ. 1.9.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π°
ΠΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΌΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ CombineRgn ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠ² ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΠΎΡΠΌΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ², ΠΊΠΎΠ½ΡΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΡΠ΅Π³ΠΈΠΎΠ½Ρ. ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΡ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠ² Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΎΡΠ΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°Ρ Π²ΡΡΡΡΠΈΡΡ, Π½ΠΎ Π²Π΅Π΄Ρ ΡΡΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ Π½ΡΠ΄Π½ΠΎ ΠΈ ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎ.
ΠΡΠ»ΠΈ Π΅ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°, ΠΊΠΎΠ½ΡΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΊΠΎΠ½ΡΡΡΠ°ΠΌΠΈ ΡΠ΅Π³ΠΈΠΎΠ½Π°, ΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΎΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΡΠ΅Π³ΠΈΠΎΠ½Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ°ΠΌΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡΠ±ΠΈΡΠ°Ρ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅. ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Β«Π²ΡΡΠ΅Π·Π°Π΅ΡΡΡΒ» ΡΠ΅Π³ΠΈΠΎΠ½ Π½ΡΠΆΠ½ΠΎΠΉ ΡΠΎΡΠΌΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: Π΅ΡΡΡ ΠΌΠΎΠ½ΠΎΡ ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠΎΡΠΊΠ° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠΏΠ°ΡΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΡΠ΅Π³ΠΈΠΎΠ½, Π΅ΡΠ»ΠΈ Π΅Π΅ ΡΠ²Π΅Ρ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΡΠΎΠ½Π°. ΠΡΠΈ ΡΡΠΎΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΌ Β«ΡΠΊΠ°Π½-Π»ΠΈΠ½ΠΈΡΠΌΒ», ΡΠΎ Π΅ΡΡΡ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ. ΠΠ· ΠΏΠΎΠ΄ΡΡΠ΄ ΠΈΠ΄ΡΡΠΈΡ ΡΠΎΡΠ΅ΠΊ Π½Π΅ ΡΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° ΡΠΎΡΠΌΠΈΡΡΡΡΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠ΅Π³ΠΈΠΎΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΌ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠΌ. ΠΡΠΈΠΌΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° ΡΠΈΡ. 1.11.
Π ΠΈΡ. 1.11. ΠΡΠΈΠΌΠ΅Ρ ΡΠ°ΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ-ΡΠ°Π±Π»ΠΎΠ½Π°
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ΅Π³ΠΈΠΎΠ½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 1.19.
...ΠΠΈΡΡΠΈΠ½Π³ 1.19. ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΠΎΠ½Π° ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ
function RegionFromPicture(pict: TPicture; backcolor: TColor):
HRGN;
var
rgn, resRgn: HRGN;
x, y, xFirst: Integer;
begin
resRgn := CreateRectRgn(0, 0, 0, 0); //Π Π΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΡΠ΅Π³ΠΈΠΎΠ½
//ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠΊΠ°Π½-Π»ΠΈΠ½ΠΈΡ ΡΠΈΡΡΠ½ΠΊΠ° (ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ)
for y := 0 to pict.Height β 1 do
begin
x := 0;
while x < pict.Width do
begin
if (pict.Bitmap.Canvas.Pixels[x, y] <> backcolor) then
begin
xFirst := x;
Inc(x);
//ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΠ°ΡΡΡ Π»ΠΈΠ½ΠΈΠΈ, ΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΠΎΠΉ Π½Π΅ ΡΠ²Π΅ΡΠΎΠΌ ΡΠΎΠ½Π°
while (x < pict.Width) and
(pict.Bitmap.Canvas.Pixels[x, y] <> backcolor) do Inc(x);
//Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ΅Π³ΠΈΠΎΠ½ Π΄Π»Ρ ΡΠ°ΡΡΠΈ ΡΠΊΠ°Π½-Π»ΠΈΠ½ΠΈΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅Π³ΠΎ
//ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΡΡΡΡΡΠ΅ΠΌΡ ΡΠ΅Π³ΠΈΠΎΠ½Ρ
rgn := CreateRectRgn(xFirst, y, xβ1, y+1);
CombineRgn(resRgn, resRgn, rgn, RGN_OR);
DeleteObject(rgn);
end;
Inc(x);
end;
end;
RegionFromPicture := resRgn;
end;
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ-ΡΠ°Π±Π»ΠΎΠ½Π° ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΎΡΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ (Π»ΠΈΡΡΠΈΠ½Π³ 1.20).
...ΠΠΈΡΡΠΈΠ½Π³ 1.20.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΠΎΠ½Π° Π΄Π»Ρ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΡ
procedure TfrmTemplate.FormCreate(Sender: TObject);
var
pict: TPicture;
begin
//ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΠΎΠ½Π° (ΡΡΠΈΡΠ°Π΅ΠΌ, ΡΡΠΎ
//ΡΠ²Π΅Ρ ΡΠΎΠ½Π° β Π±Π΅Π»ΡΠΉ)
pict := TPicture.Create;
pict.LoadFromFile(\'back.bmp\');
SetWindowRgn(Handle, RegionFromPicture(pict, RGB(255,255,255)),
True);
end;
Π Π»ΠΈΡΡΠΈΠ½Π³Π΅ 1.20 ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° back.bmp, Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎΡΡ Π² ΡΠΎΠΉ ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΠ΅, ΡΡΠΎ ΠΈ ΡΠ°ΠΉΠ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π¦Π²Π΅Ρ ΡΠΎΠ½Π° β Π±Π΅Π»ΡΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π½Π° ΡΠΈΡ. 1.11, Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ back. bmp, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠΎΡΠΌΡ, ΠΊΠ°ΠΊ Π½Π° ΡΠΈΡ. 1.12.
Π ΠΈΡ. 1.12. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ΅Π³ΠΈΠΎΠ½Π° ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ
1.5. ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΎΠΊΠΎΠ½
ΠΡΠΎΠΌΠ΅ ΠΏΡΠΈΠ΄Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΠΎΠΊΠ½Π°ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΡΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΡΡΠ΅Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠΊΠΎΠ½. ΠΠ°Π»Π΅Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΠΎΠ±Π»Π°ΡΡΠΈ, Π·Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°ΡΡ (ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ) ΡΠΎΡΠΌΡ. ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΡΠΏΠΎΡΠΎΠ± Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΠΌΠΎΠΌΡΠ·Π°Π΄Π°Π²Π°ΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π° ΡΠΎΡΠΌΠ΅.
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ ΠΎΠ±Π»Π°ΡΡΡ
ΠΠ΄Π΅ΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ (ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΡ Π·Π° Π»ΡΠ±ΡΡ ΡΠΎΡΠΊΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ) ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²Π°ΠΆΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠΊΠ½Π°. ΠΠΎΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΎΠΊΠ½Π° Π·Π΄Π΅ΡΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡΡΡ:
β’ ΡΡΡΠΎΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° (Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, Π½ΠΎ ΠΈ ΡΠ»ΡΠΆΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ Π·Π°Ρ Π²Π°ΡΠ° ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΎΠΊΠ½Π° ΠΌΡΡΡΡ);
β’ Π³ΡΠ°Π½ΠΈΡΡ ΠΎΠΊΠ½Π° (ΠΏΡΠΈ ΡΠ΅Π»ΡΠΊΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° Π²Π΅ΡΡ Π½Π΅ΠΉ, Π½ΠΈΠΆΠ½Π΅ΠΉ, ΠΏΡΠ°Π²ΠΎΠΉ ΠΈ Π»Π΅Π²ΠΎΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π°, Π΅ΡΠ»ΠΈ, ΠΏΡΠ°Π²Π΄Π°, ΡΡΠΈΠ»Ρ ΠΎΠΊΠ½Π° ΡΡΠΎ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ);
β’ ΡΠ΅ΡΡΡΠ΅ ΡΠ³Π»Π° ΠΎΠΊΠ½Π° (ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠΊΠ½Π° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΡΡΠΈ);
β’ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ β Π·Π°ΠΊΡΡΡΠΈΡ, ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ, ΡΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΉ ΡΠΏΡΠ°Π²ΠΊΠΈ (ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² ΡΡΡΠΎΠΊΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΠΊΠ½Π°);
β’ ΠΏΠΎΠ»ΠΎΡΡ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ β Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ;
β’ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ (ΡΠ°ΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠ΅Π»ΡΠΊΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° Π·Π½Π°ΡΠΊΠ΅ ΠΎΠΊΠ½Π°);
β’ ΠΌΠ΅Π½Ρ β ΠΏΠΎΠ»ΠΎΡΠ° ΠΌΠ΅Π½Ρ, ΠΎΠ±ΡΡΠ½ΠΎ Π²Π²Π΅ΡΡ Ρ ΠΎΠΊΠ½Π°;
β’ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ β ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΠΊΠ½Π°, ΠΊΡΠΎΠΌΠ΅ ΡΡΡΠΎΠΊΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, ΠΌΠ΅Π½Ρ ΠΈ ΠΏΠΎΠ»ΠΎΡ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ.
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ ΠΎΠΊΠ½ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡΡΠΈ, ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΠΎΠΊΠ½Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_NCHITTEST Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, Π½Π°Π΄ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΎΠΊΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈΠ½ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠΊΠ½Π° Π² ΠΏΡΠΈΠ²ΡΡΠ½ΡΡ Π΄Π»Ρ Π½Π°Ρ ΠΌΠ΅ΡΡΠ°Ρ : Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° β ΡΠ²Π΅ΡΡ Ρ, ΠΏΡΠ°Π²ΠΎΠΉ Π³ΡΠ°Π½ΠΈΡΡ β ΡΠΏΡΠ°Π²Π° ΠΈ Ρ. Π΄.
ΠΠ°ΠΊ Π²Ρ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΠΆΠ΅ Π΄ΠΎΠ³Π°Π΄Π°Π»ΠΈΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π² ΡΠ²ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ WM_NCHITTEST, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠΊΠ½Π°. ΠΡΠΎΡ ΠΏΡΠΈΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 1.21.
...ΠΠΈΡΡΠΈΠ½Π³ 1.21. ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° Π·Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ ΠΎΠ±Π»Π°ΡΡΡ
procedure TfrmMoveClient.WMNCHitTest(var Message: TWMNCHitTest);
var
rc: TRect;
p: TPoint;
begin
//ΠΡΠ»ΠΈ ΡΠΎΡΠΊΠ° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ ΠΎΠ±Π»Π°ΡΡΡ, ΡΠΎ Π·Π°ΡΡΠ°Π²ΠΈΠΌ
//ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠΈΡΠ°ΡΡ ΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΡΠ°ΡΡΡΡ ΡΡΡΠΎΠΊΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°
rc := GetClientRect();
p.X := Message.XPos;
p.Y := Message.YPos;
p := ScreenToClient(p);
if PtInRect(rc, p) then
Message.Result := HTCAPTION
else
//ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
Message.Result := DefWindowProc(Handle, Message.Msg, 0,
65536 * Message.YPos + Message.XPos);
end;
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 1.21 ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ HTCAPTION. ΠΡΠΎΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ DefWindowProc):
β’ HTBORDER β ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π°Π΄ Π³ΡΠ°Π½ΠΈΡΠ΅ΠΉ ΠΎΠΊΠ½Π° (ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ);
β’ ΠΠ’ΠΠΠ’Π’ΠΠ, ΠΠ’Π’ΠΠ , HTLEFT, HTRIGHT β Π½Π°Π΄ Π½ΠΈΠΆΠ½Π΅ΠΉ, Π²Π΅ΡΡ Π½Π΅ΠΉ, Π»Π΅Π²ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΡΠ°Π²ΠΎΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅ΠΉ ΠΎΠΊΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ (ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, Β«ΠΏΠΎΡΡΠ½ΡΠ²Β» Π·Π° Π³ΡΠ°Π½ΠΈΡΡ);
β’ HTBOTTOMLEFT, HTBOTTOMRIGHT, HTTOPLEFT, HTTOPRIGHT β Π Π»Π΅Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ, ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ, Π»Π΅Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΠΈΠ»ΠΈ ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΠΎΠΊΠ½Π° (ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ);
β’ HTSIZE, HTGROWBOX β Π½Π°Π΄ ΠΎΠ±Π»Π°ΡΡΡΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠΊΠ½Π° ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ (ΠΎΠ±ΡΡΠ½ΠΎ Π² ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ ΠΎΠΊΠ½Π°);
β’ HTCAPTION β Π½Π°Π΄ ΡΡΡΠΎΠΊΠΎΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΠΊΠ½Π° (Π·Π° ΡΡΠΎ ΠΌΠ΅ΡΡΠΎ ΠΎΠΊΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ);
β’ HTCLIENT β Π½Π°Π΄ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΡΡ ΠΎΠΊΠ½Π°;
β’ HTCLOSE β Π½Π°Π΄ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π·Π°ΠΊΡΡΡΠΈΡ ΠΎΠΊΠ½Π°;
β’ HTHELP β Π½Π°Π΄ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΉ ΡΠΏΡΠ°Π²ΠΊΠΈ;
β’ HTREDUCE, HTMINBUTTON β Π½Π°Π΄ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΊΠ½Π°;
β’ HTZOOM, HTMAXBUTTON β Π½Π°Π΄ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΊΠ½Π°;
β’ HTMENU β Π½Π°Π΄ ΠΏΠΎΠ»ΠΎΡΠΊΠΎΠΉ ΠΌΠ΅Π½Ρ ΠΎΠΊΠ½Π°;
β’ HTSYSMENU β Π½Π°Π΄ Π·Π½Π°ΡΠΊΠΎΠΌ ΠΎΠΊΠ½Π° (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ);
β’ HTHSCROLL, HTVSCROLL β ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π°Π΄ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ»ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ»ΠΎΡΠΎΠΉ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ;
β’ HTTRANS PARENT β Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°Π΅ΡΡΡ ΠΎΠΊΠ½Ρ, Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅ΠΌΡΡΡ ΠΏΠΎΠ΄ Π΄Π°Π½Π½ΡΠΌ ΠΎΠΊΠ½ΠΎΠΌ (ΠΎΠΊΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΠΎΡΠΎΠΊΡ);
β’ HTNOWHERE β ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π°Π΄ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΎΠΊΠ½Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° Π³ΡΠ°Π½ΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΊΠ½Π°ΠΌΠΈ);
β’ HTERROR β ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ NTNOWHERE, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (DefWindowProc) Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΠΈΠ³Π½Π°Π», Π³ΠΎΠ²ΠΎΡΡΡΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
Π Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΎΠΊΠΎΠ½ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΠΉ, Π½ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΡΡΠΌΠΎ Β«Π½Π° Π»Π΅ΡΡΒ» ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Ρ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ΡΡ ΠΎΠΊΠ½Π°.
Π§ΡΠΎΠ±Ρ Π²Π°Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡ, ΡΡΠ°Π·Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°. ΠΡΠ°ΠΊ, Π½Π° ΡΠΈΡ. 1.13 ΠΏΠΎΠΊΠ°Π·Π°Π½ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΡΠΎΡΠΌΡ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°.
Π ΠΈΡ. 1.13. ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ ΡΠΎΡΠΌΡ
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ»Π°ΠΆΠΎΠΊ ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π½Π° ΡΠΈΡ. 1.14.
Π ΠΈΡ. 1.14. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ (ΡΠ»Π°ΠΆΠΎΠΊ Π½Π΅ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ)ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠΊΠΎΠ½, Π·Π°Π½ΡΠ²ΡΠΈΡ ΠΌΠ΅ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΠ½ΠΈΠΌΠ°Π΅ΠΌ ΡΠ»Π°ΠΆΠΎΠΊ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ β ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠΎΡΠΌΡ (ΡΠΈΡ. 1.15).
Π ΠΈΡ. 1.15. ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΡΠΎΡΠΌΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΠ°ΠΊ ΠΆΠ΅ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΡΡΡΠ΅ΠΊΡ? ΠΡΠ΅Π½Ρ Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ. ΠΠ΅Π΄Ρ Π²Ρ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠ²ΠΎΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΠΊΠΎΠ½ (Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΎΠΊΠ½Ρ ΡΠΎΡΠΌΡ). ΠΠΊΠ½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π² ΠΈΡ ΡΡΠΈΠ»Π΅ ΡΠ»Π°Π³ΠΎΠ² (ΠΏΠΎ β Π΄ΡΠΎΠ±Π½Π΅Π΅ Π² Π³Π». 2), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠ°ΠΌΠΊΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΡΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ, ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π΄Π°Π² Π½ΡΠΆΠ½ΡΠ΅ ΡΠ»Π°Π³ΠΈ Π² ΡΡΠΈΠ»Π΅ ΠΎΠΊΠ½Π° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ API-ΡΡΠ½ΠΊΡΠΈΠΈ SetWindowLong. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠΈΠ»Ρ ΠΎΠΊΠ½Π° ΡΠ»Π°Π³Π°ΠΌΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° (ΠΊΠ°ΠΊ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΈ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅) (Π»ΠΈΡ β ΡΠΈΠ½Π³ 1.22).