ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹

подскаТитС ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„ΠΎΡ€ΠΌΠ° Π·Π°ΠΊΡ€Ρ‹Π²Π°Π»Π°ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС

Ссли Π²Π²Π΅Π΄Π΅Π½Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ Π½Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ, Π»ΠΈΠ±ΠΎ Π½Π°ΠΆΠ°Π»ΠΈ Π½Π° крСстик (справа свСрху)

Π’Ρ‹Π·ΠΎΠ² модальной Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ· модальной, Π½ΡƒΠΆΠ½ΠΎ:Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ послСднСй ΠΈ Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ.
1. Π’Ρ‹Π·Ρ‹Π²Π°ΡŽ ΠΌΠΎΠ΄Π°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ (нСмодальной). 2. Π’Ρ‹Π·Ρ‹Π²Π°ΡŽ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΌΠΎΠ΄Π°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ ΠΈΠ·.

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹
Как ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ с событиСм FormCloseQuery: CanClose:= False; ΠŸΡ€ΠΈ этом Π½Π΅ убивая процСсс.

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹
ΠŸΠ΅Ρ€Π²Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Π² ΠΏΡ€ΠΎΠ³Π΅ это авторизация, послС прохоТдСния Π΅Ρ‘ ΠΎΠ½Π° Showhide; ΠΈ дальшС я Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ с.

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹
столкнулся с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ закрытия Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅: procedure TForm5.Button1Click(Sender: TObject);.

Π’ΠžΠŸΠ ΠžΠ‘ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли наТимаСш Π½Π° крСсти Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚ΠΎ главная Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Π»Π°ΡΡŒ Ρ‚ΠΎΠΆΠ΅

ΠŸΡ€ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹, события Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ порядкС:

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnCloseQuery содСрТит ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ CanClose, которая опрСдСляСт, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Ρ„ΠΎΡ€ΠΌΠ΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒΡΡ. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ True. Однако Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ OnCloseQuery ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ CloseQuery Π² False, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Close.

Если OnCloseQuery Π²Π΅Ρ€Π½ΡƒΠ» CanClose=True (Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°), Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ сгСнСрировано событиС OnClose. Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ OnClose Π΄Π°Ρ‘Ρ‚ послСдний шанс, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ OnClose ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Action со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌΠΈ значСниями: caNone. Π€ΠΎΡ€ΠΌΠ΅ Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒΡΡ. Всё Ρ€Π°Π²Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ установим CanClose Π² False Π² OnCloseQuery. caHide. ВмСсто закрытия, Ρ„ΠΎΡ€ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ скрыта. caFree. Π€ΠΎΡ€ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°, ΠΈ занятыС Π΅ΠΉ рСсурсы Π±ΡƒΠ΄ΡƒΡ‚ освобоТдСны. caMinimize. ВмСсто закрытия, Ρ„ΠΎΡ€ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ устанавливаСтся ΠΏΠΎΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρƒ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… Ρ„ΠΎΡ€ΠΌ MDI.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡˆΡƒΡ‚Π΄Π°ΡƒΠ½ΠΈΡ‚ Windows, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ΠΎ OnCloseQuery, Π° Π½Π΅ OnClose. Если Π’Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Windows Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»Π° свою Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρ‚ΠΎ помСститС свой ΠΊΠΎΠ΄ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnCloseQuery, хотя CanClose=False Π½Π΅ сдСлаСт, Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ сдСлано здСсь.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ OnClose Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΈ Ρ„ΠΎΡ€ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ΠΎ событиС OnDestroy. Π’ OnCreate ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ дСйствия, ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹Π΅ Ρ‚Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄Π΅Π»Ρ‹Π²Π°Π»ΠΈΡΡŒ Π² OnCreate, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ созданных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ освобоТдСниС Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ памяти.

ЕстСвствСнно, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° главная Ρ„ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎ, Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ Delphi. Π§Π°ΡΡ‚ΡŒ 3
Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 9. Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹

Для закрытия Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π²Π΅Ρ€Π½ΡƒΠ» True. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” прямой Π°Π½Π°Π»ΠΎΠ³ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° CanClose Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ OWL. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° Π²ΠΎΠ·Β­ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ закрытия ΠΎΠ½ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события:

(Pb) property OnCloseQuery: TCloseQueryEvent; TCloseQueryEvent = procedure(Sender: TObject; var CanClose: Boolean) of object;

Π—Π΄Π΅ΡΡŒ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ закрытия Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ CanClose (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True). НапримСр:

procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin

if Memo 1.Modified then case MessageDlgf’ Save text?’, mtWarning, mbYesNoCancel, 0) of

mrYes: Memol.Lines.SaveToFile(‘MYTEXT.TXT ‘) ; mrCancel: CanClose := False; end; end;

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnCloseQuery Π½Π΅ описан, возвраща­Стся True (Ρ„ΠΎΡ€ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ).

Для Ρ„ΠΎΡ€ΠΌ стиля fsMDIForm (Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΎΠΊΠΎΠ½ MDI) сначала Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Β­ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ всС Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ (Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ CloseQuery). Если хотя Π±Ρ‹ ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ… Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ False, ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚ΡƒΡ‚ ΠΆΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ False, ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnCloseQuery Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ управлСния Π½Π΅ ΠΏΠΎΠ»ΡƒΒ­Ρ‡Π°Π΅Ρ‚.

Π—Π°Ρ‚Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ Close Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ события (Pb) property OnClose: TCloseEvent;

TCloseEvent = procedure(Sender: TObject; var Action : TCloseAction) of object;

TCloseAction = (caNone, caHide, caFree, caMinimize);

Ρ‡Ρ‚ΠΎ позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами, Π² зависимости ΠΎΡ‚ значСния ΠΏΠ°Ρ€Π°Β­ΠΌΠ΅Ρ‚Ρ€Π° Action:

caNone β€” Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ;

caHide β€” ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ (ΡΠΊΡ€Ρ‹Ρ‚ΡŒ);

caMinimize β€” ΡΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π·Π½Π°Ρ‡ΠΎΠΊ;

caFree β€” ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ, Π²Ρ‹Π·Π²Π°Π² Π΅Π΅ дСструктор.

ΠŸΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ OnClose Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Action засылаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ caHide. Π˜ΡΒ­ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ MDI, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… засылаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ caMinimize ΠΈΠ»ΠΈ caNone Π² зависимости ΠΎΡ‚ возмоТности ΠΈΡ… сворачивания.

Если ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π²Π΅Ρ€Π½ΡƒΠ» Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ caNone, Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ закрываСтся. Π’Π°ΠΊΠΈΠΌ ΠΏΡƒΡ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ OnCloseQuery.

ΠŸΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ прилоТСния любоС ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ caNone Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ прилоТСния. Для Ρ„ΠΎΡ€ΠΌΡ‹, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ Π³Π»Π°Π²Π½ΠΎΠΉ, зна­чСния caHide ΠΈ caMinimize ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ соотвСтствСнно ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈ ΡΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΅Π΅ Π² Π·Π½Π°Ρ‡ΠΎΠΊ. Π’Ρ‹Π±ΠΎΡ€ значСния caFree Π²Π»Π΅Ρ‡Π΅Ρ‚ Π·Π° собой Π²Ρ‹Π·ΠΎΠ² дСструктора ΠΏΡƒΡ‚Π΅ΠΌ обращСния ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ:

ПослСдним ΠΏΡ€ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ инициализируСтся событиС:

(Pb) property OnDestroy: TNotifyEvent;

Π­Ρ‚ΠΎ событиС являСтся ΠΏΠ°Ρ€Π½Ρ‹ΠΌ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ OnCreate; ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΅Π³ΠΎ вызываСтся Π² дСструкторС Ρ„ΠΎΡ€ΠΌΡ‹. Π—Π΄Π΅ΡΡŒ программист ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡƒΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ дСйствия ΠΏΡ€ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ значСния Π² Ρ„Π°ΠΉΠ» JNI.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΈ Π²Ρ‹Π·ΠΎΠ² Ρ„ΠΎΡ€ΠΌ

Π ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅, Тизнь ΠΈ гибСль Ρ„ΠΎΡ€ΠΌΡ‹.

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠΈΠΌΡ‘Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ с сайта delphi.about.com )

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„ΠΎΡ€ΠΌΠ° Π·Π°ΠΊΡ€Ρ‹Π²Π°Π»Π°ΡΡŒ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Esc?

Для Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свойство Ρ„ΠΎΡ€ΠΌΡ‹ KeyPreview Π² True. А ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ «Esc»:

procedure TForm1.FormCreate(Sender: TObject);

(Sender: TObject; var Key: Char);

if key = #27 then Close;

МоТно Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ, которая ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Π‘reate?

ΠŸΡ€ΠΎΡΡ‚ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ конструктор Create класса Π’Π°ΡˆΠ΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹.

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

TForm2 = class (TForm)

constructor CreateWithCaption(aOwner: TComponent; aCaption: string );

constructor TForm2.CreateWithCaption(aOwner: TComponent; aCaption: string );

procedure TForm1.Button1Click(Sender: TObject);

Unit2.Form2 := Unit2.TForm2.CreateWithCaption(Application, ‘My Caption’ );

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ?

Π’ ΠΊΠ°ΠΊΠΎΠΌ порядкС происходят события ΠΏΡ€ΠΈ создании ΠΈ ΠΏΠΎΠΊΠ°Π·Π΅ ΠΎΠΊΠ½Π°?

ΠŸΡ€ΠΈ создании ΠΎΠΊΠ½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ порядкС:

Copyright Β© 1996 Epsylon Technologies

Взято ΠΈΠ· FAQ Epsylon Technologies

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ ΠΈΠ· DLL

НСобходимо, Ρ‡Ρ‚ΠΎΠ±Ρ‹ дочСрняя Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ

Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол.

procedure TForm2.CreateParams( VAR Params: TCreateParams);

МоТно Π»ΠΈ динамичСски ΠΌΠ΅Π½ΡΡ‚ΡŒ какая Ρ„ΠΎΡ€ΠΌΠ° считаСтся Π³Π»Π°Π²Π½ΠΎΠΉ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹?

МоТно, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ прилоТСния. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «View->Project Source» ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ прилоТСния, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ порядок создания Ρ„ΠΎΡ€ΠΌ зависил ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ условия.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’Π°ΠΌ придСтся Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΊΠΎΠ΄, Ссли Π’Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹.

УсловиС создания Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹

БущСствуСт Π»ΠΈ Π² Delphi Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π³Π»Π°Π²Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ? Π― Ρ…ΠΎΡ‡Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ условиС IF (Π² зависимости ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°) для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ какая Ρ„ΠΎΡ€ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡ€ΠΈ стартС прилоТСния. ЀактичСски «Π΄Ρ€ΡƒΠ³ΡƒΡŽ» Ρ„ΠΎΡ€ΠΌΡƒ НЕ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ систСмно-ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΌ?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Windows API SetSysModalWindow(). Код Π½ΠΈΠΆΠ΅ дСмонстрируСт Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ. Π’ любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ модально-систСмны Π΄ΠΈΠ°Π»ΠΎΠ³, Ρ‡Π΅ΠΉ дСскриптор возвращаСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ SetSysModalWindow(). Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π· Π΄ΠΈΠ°Π»ΠΎΠ³Π° Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ:

Π€ΠΎΡ€ΠΌΠ° ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰Π°Ρ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π±Π΅Π· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°

Π€ΠΎΡ€ΠΌΠ° ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰Π°Ρ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π±Π΅Π· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°.

НуТно Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ свойство Ρ„ΠΎΡ€ΠΌΡ‹ BorderStyle := bsNone;

TForm1 = class (TForm)

procedure CreateParams( var Params: TCreateParams); override ;

procedure TForm1.CreateParams( var Params: TCreateParams);

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Бвойства ΠΈ характСристики Ρ„ΠΎΡ€ΠΌΡ‹ (Form) Π² Π”Π΅Π»ΡŒΡ„ΠΈ (Delphi)

Как ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Ρ„ΠΎΡ€ΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ свойства, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ события, ΠΎΠ±Ρ‰ΠΈΠ΅ для всСх Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ рассмотрСны Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Бобытия Delphi (Бобытия Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²), Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π² ΡΡ‚Π°Ρ‚ΡŒΡΡ…, посвящСнных интСрфСйсным элСмСнтам.

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

Наряду с Π½ΠΈΠΌΠΈ Ρƒ Ρ„ΠΎΡ€ΠΌΡ‹ Π΅ΡΡ‚ΡŒ ΠΈ спСфичСскиС свойства, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ события, опрСдСляСмыС Π΅Π΅ особым Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. НСкоторыС ΠΈΠ· Π½ΠΈΡ… Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΡƒ ΠΊΠ°ΠΊ Π³Π»Π°Π²Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ прилоТСния, скаТСм, свойство BorderIcons, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ присущи Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, свойства AutoScroll ΠΈ ActiveControl.

БистСма Delphi ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ автоматичСски создаСт ΠΎΠ΄ΠΈΠ½ экзСмпляр класса (Form1, Form2 ΠΈ Ρ‚. Π΄.), внося ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния Π² Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, добавляя строку ΠΊΠΎΠ΄Π°:

Π£ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ процСссом автоматичСского создания Ρ„ΠΎΡ€ΠΌ ΠΌΠΎΠΆΠ½ΠΎ, нСпосрСдствСнно рСдактируя Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Π½Π΅ рСкомСндуСтся Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ программистам) ΠΈΠ»ΠΈ выполняя настройки Π² ΠΎΠΊΠ½Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (список Auto-create forms Π½Π° страницС Form). Если Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° ΠΈΠ· этого списка Π² список Available forms доступных Ρ„ΠΎΡ€ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‚ΠΎ инструкция Π΅Π΅ создания ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΈ программист Π² Ρ…ΠΎΠ΄Π΅ выполнСния прилоТСния Π΄ΠΎΠ»ΠΆΠ΅Π½ динамичСски ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляр этой Ρ„ΠΎΡ€ΠΌΡ‹.

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

На Π΄Π°Π½Π½ΠΎΠΌ ΡΠΊΡ€ΠΈΠ½ΡˆΡ‚Π΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Form1 Π±ΡƒΠ΄Π΅Ρ‚ создана ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Form2 Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ динамичСски ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠœΠ΅Ρ‚ΠΎΠ΄ Π‘reate

Для создания экзСмпляров Ρ„ΠΎΡ€ΠΌ слуТит ΠΌΠ΅Ρ‚ΠΎΠ΄ (конструктор) Π‘reate. Π‘Π°ΠΌ класс Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ описываСтся ΠΏΡ€ΠΈ конструировании прилоТСния, ΠΈ для Ρ„ΠΎΡ€ΠΌΡ‹ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹ (dfm) ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля (pas).

Π’ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ создаСтся Ρ„ΠΎΡ€ΠΌΠ° Form2, принадлСТащая ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ прилоТСния ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ новая Ρ„ΠΎΡ€ΠΌΠ°.

Бобытия Ρ„ΠΎΡ€ΠΌΡ‹ (Form)

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

ΠŸΡ€ΠΈ создании ΠΈ использовании Ρ„ΠΎΡ€ΠΌΡ‹ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ события Ρ‚ΠΈΠΏΠ° TNotifyEvent, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² порядкС ΠΈΡ… возникновСния:

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ OnCreate

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ OnCreate гСнСрируСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·β€” ΠΏΡ€ΠΈ создании Ρ„ΠΎΡ€ΠΌΡ‹, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ события происходят ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ прорисовкС Ρ„ΠΎΡ€ΠΌΡ‹ соотвСтствСнно.

Π’ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnCreate ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊΠΎΠ΄, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния свойств Ρ„ΠΎΡ€ΠΌΡ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅Π΅ элСмСнтов управлСния, Ρ‚. Π΅. Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ„ΠΎΡ€ΠΌΡ‹ Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ установлСнным Π½Π° этапС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прилоТСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΏΡ€ΠΈ создании Ρ„ΠΎΡ€ΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΅Π΅ Π² список.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ событиС OnCreate Ρ„ΠΎΡ€ΠΌΡ‹ Form2:

ΠŸΡ€ΠΈ создании Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„ΠΎΡ€ΠΌΡ‹, Π² ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ список ComboBox2 Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° list.txt, ΠΊΠ½ΠΎΠΏΠΊΠ° Button3 блокируСтся, Π° фокус Π²Π²ΠΎΠ΄Π° устанавливаСтся Π½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Edit1.

Бвойство Visible

Из всСх созданных Ρ„ΠΎΡ€ΠΌ Delphi ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ прилоТСния автоматичСски Π΄Π΅Π»Π°Π΅Ρ‚ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ Π³Π»Π°Π²Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, для этого свойство Visible этой Ρ„ΠΎΡ€ΠΌΡ‹ устанавливаСтся Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True. Для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ свойства ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½ΠΎ False, ΠΈ послС запуска прилоТСния ΠΎΠ½ΠΈ Π½Π° экранС Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ. Если Ρ„ΠΎΡ€ΠΌΡ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Ρ‚ΠΎ ΠΈΡ… ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ скрытиС Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния рСгулируСтся программистом Ρ‡Π΅Ρ€Π΅Π· свойство Visible. Π”Π°ΠΆΠ΅ Ссли Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠ°, Π΅Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΎΡ€ΠΌ.

Π”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠ½ΠΎΠ³ΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π½ΠΎΠ³ΠΎ прилоТСния становятся Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Π½Π° экранС сразу послС ΠΈΡ… создания.

Π’ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ… Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ btnShowForm2 ΠΈ btnHideForm2, располоТСнных Π² Ρ„ΠΎΡ€ΠΌΠ΅ Form1, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚, соотвСтствСнно, ΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ ΠΈ ΡΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ Ρ„ΠΎΡ€ΠΌΡ‹ Form2.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Show ΠΈ Hide

Π£ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Ρ„ΠΎΡ€ΠΌ Π½Π° экранС ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Show ΠΈ Hide. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Show ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ Π² нСмодальном Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΏΡ€ΠΈ этом свойство Visible устанавливаСтся Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True, Π° сама Ρ„ΠΎΡ€ΠΌΠ° пСрСводится Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Hide скрываСт Ρ„ΠΎΡ€ΠΌΡƒ, устанавливая Π΅Π΅ свойство Visible Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False.

Если ΠΎΠΊΠ½ΠΎ Π²ΠΈΠ΄ΠΈΠΌΠΎ, Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Show ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΡƒ Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΅ΠΉ фокус Π²Π²ΠΎΠ΄Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ отобраТСния ΠΈ скрытия Ρ„ΠΎΡ€ΠΌΡ‹:

Π—Π΄Π΅ΡΡŒ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ btnShowForm3 ΠΈ btnHideForm3, располоТСнных Π’ Ρ„ΠΎΡ€ΠΌΠ΅ Form1, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ соотвСтствСнно ΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ Π½Π° экранС ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ с экрана Ρ„ΠΎΡ€ΠΌΡ‹ Form3.

Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ отобраТСния Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° экранС Π΅Π΅ свойство visible ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True, ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ событиС OnShow. БоотвСтствСнно ΠΏΡ€ΠΈ скрытии Ρ„ΠΎΡ€ΠΌΡ‹ свойство visible ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False, ΠΈ возбуТдаСтся событиС OnHide.

Бобытия OnActivate ΠΈ OnDeActivate

ΠŸΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΠΎΠΉ фокуса Π²Π²ΠΎΠ΄Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ Π² области Ρ„ΠΎΡ€ΠΌΡ‹, происходит Π΅Π΅ активизация ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ событиС OnActivate, Π° ΠΏΡ€ΠΈ ΠΏΠΎΡ‚Π΅Ρ€Π΅ фокуса— событиС OnDeActivate.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ OnPaint

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ OnPaint гСнСрируСтся ΠΏΡ€ΠΈ нСобходимости пСрСрисовки Ρ„ΠΎΡ€ΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹, Ссли Π΄ΠΎ этого Ρ‡Π°ΡΡ‚ΡŒ Π΅Π΅ Π±Ρ‹Π»Π° Π·Π°ΠΊΡ€Ρ‹Ρ‚Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ.

ΠœΠ΅Ρ‚ΠΎΠ΄ Π‘lose β€” Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ

Для закрытия Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ close, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, удаляСт Π΅Π΅ с экрана. Π’ случаС закрытия Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ прСкращаСтся Ρ€Π°Π±ΠΎΡ‚Π° Π²Ρ€Π΅Π³ΠΎ прилоТСния.

Π’ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΊΠ½ΠΎΠΏΠΊΠ° btnClose Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ Form2. Π€ΠΎΡ€ΠΌΠ° дСлаСтся Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ, Π½ΠΎ Π½Π΅ уничтоТаСтся. Для этой ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ (свойство Caption), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Close Π½Π΅ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ созданный экзСмпляр Ρ„ΠΎΡ€ΠΌΡ‹, ΠΈ Ρ„ΠΎΡ€ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ снова Π²Ρ‹Π·Π²Π°Π½Π° Π½Π° экран, Π² частности, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Show ΠΈΠ»ΠΈ ShowModal.

Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ (Release, Free ΠΈΠ»ΠΈ Destroy)

Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ происходит с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Release, Free ΠΈΠ»ΠΈ Destroy, послС Ρ‡Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с этой Ρ„ΠΎΡ€ΠΌΠΎΠΉ становится Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, ΠΈ любая ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΉ ΠΈΠ»ΠΈ Π΅Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (ΠΎΡˆΠΈΠ±ΠΊΡƒ). ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ уничтоТСния Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠΈ заставок ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… экономии ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ удалСния Ρ„ΠΎΡ€ΠΌΡ‹ считаСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ Free, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ провСряСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ удалСния. НапримСр, Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΊΠ½ΠΎΠΏΠΊΠ° btnDestroy ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ Form3. Для этой ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π£Π΄Π°Π»ΠΈΡ‚ΡŒ.

Бобытия ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

ΠŸΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ события, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² порядкС ΠΈΡ… возникновСния:

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ OnCloseQuery

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ OnCloseQuery Ρ‚ΠΈΠΏΠ° TcloseQueryEvent Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ закрытия Ρ„ΠΎΡ€ΠΌΡ‹. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ-ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ CanClose, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΡƒΡŽ, ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Π° данная Ρ„ΠΎΡ€ΠΌΠ°. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ эта пСрСмСнная ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True, ΠΈ Ρ„ΠΎΡ€ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ. Если ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ CanClose Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False, Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° остаСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ. Π’Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для подтвСрТдСния закрытия ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, сохранСна Π»ΠΈ рСдактируСмая информация Π½Π° дискС. Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ OnCloseQuery вызываСтся всСгда, нСзависимо ΠΎΡ‚ способа закрытия Ρ„ΠΎΡ€ΠΌΡ‹.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ закрытия Ρ„ΠΎΡ€ΠΌΡ‹:

Π—Π΄Π΅ΡΡŒ ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Form2 выдаСтся запрос Π½Π° ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой модальноС Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с тСкстом ΠΈ двумя ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ β€” Yes ΠΈ No. НаТатиС ΠΊΠ½ΠΎΠΏΠΊΠΈ Yes Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ No Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π΅ происходит.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ OnClose

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ OnClose Ρ‚ΠΈΠΏΠ° TCioseEvent Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ Ρ„ΠΎΡ€ΠΌΡ‹. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для измСнСния стандартного повСдСния Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ. Для этого ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ события пСрСдаСтся пСрСмСнная Action Ρ‚ΠΈΠΏΠ° TCloseAction, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:

ΠŸΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΎΠΊΠ½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Close пСрСмСнная Action ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ caHide, ΠΈ Ρ„ΠΎΡ€ΠΌΠ° дСлаСтся Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ. ΠŸΡ€ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Destroy, пСрСмСнная Action ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ caFree, ΠΈ Ρ„ΠΎΡ€ΠΌΠ° уничтоТаСтся.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ OnClose Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ закрытия систСмного мСню ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Close. Когда закрываСтся главная Ρ„ΠΎΡ€ΠΌΠ° прилоТСния, всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΊΠ½Π° Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π±Π΅Π· Π²Ρ‹Π·ΠΎΠ²Π° события OnClose.

Π’ Π²Ρ‹ΡˆΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Form2 провСряСтся ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ содСрТимого Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Memo1. Если информация Π² Memo1 Π±Ρ‹Π»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°, Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ закрываСтся.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ onDestroy

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ onDestroy Ρ‚ΠΈΠΏΠ° TNotifyEvent Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для освобоТдСния рСсурсов.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ onResize

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹ Π² процСссС выполнСния прилоТСния Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ событиС onResize Ρ‚ΠΈΠΏΠ° TNotifyEvent. Π’ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ этого события ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠ΄, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ полоТСния ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² элСмСнтов управлСния ΠΎΠΊΠ½Π°, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… свойства Align.

Π’ Ρ„ΠΎΡ€ΠΌΠ΅ Form1 находятся Π΄Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°: сСтка строк StringGrid1 ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Button1. Π­Ρ‚ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ располоТСны Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹ Form1 выполняСтся пСрСсчСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π·Π°Π΄Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ сСтки строк, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Cвойство FormStyle β€” ΡΡ‚ΠΈΠ»ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

Π‘Ρ‚ΠΈΠ»ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ опрСдСляСтся свойством FormStyle Ρ‚ΠΈΠΏΠ° TFormstyle, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:

Π€ΠΎΡ€ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ динамичСски β€” Π² процСссС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню. ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΠΎΠΉ стиля Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ событиС OnShow.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ динамичСского измСнСния стиля Ρ„ΠΎΡ€ΠΌΡ‹:

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню mnuTop Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ свой ΡΡ‚ΠΈΠ»ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ значСниями fsNormal ΠΈ fsStayOnTop. Π‘ΠΌΠ΅Π½Π° стиля отобраТаСтся графичСски Π³Π°Π»ΠΎΡ‡ΠΊΠΎΠΉ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ этого ΠΏΡƒΠ½ΠΊΡ‚Π° мСню.

Cвойство BorderStyle β€” свойства Ρ€Π°ΠΌΠΊΠΈ Ρ„ΠΎΡ€ΠΌΡ‹

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

КаТдая Ρ„ΠΎΡ€ΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ Ρ€Π°ΠΌΠΊΡƒ. Π’ΠΈΠ΄ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ€Π°ΠΌΠΊΠΈ опрСдСляСт свойство BorderStyle Ρ‚ΠΈΠΏΠ° TFormBorderstyle. Оно ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:

Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ диалоговая Ρ„ΠΎΡ€ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² своСм Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ закрытия ΠΈ справки. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹.

ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Ρ„ΠΎΡ€ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… стилСй относится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ β€” нСльзя с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡ‹ΡˆΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ Π³Ρ€Π°Π½ΠΈΡ†Ρƒ Ρ„ΠΎΡ€ΠΌΡ‹ Π² Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΈΠ½ΡƒΡŽ сторону. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ прилоТСния для Ρ„ΠΎΡ€ΠΌΡ‹ любого стиля ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ допустимыС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΎΠΊΠ½Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹:

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ btnResizeForm ΡˆΠΈΡ€ΠΈΠ½Π° Ρ„ΠΎΡ€ΠΌΡ‹ Form2 увСличиваСтся Π½Π° 100 пиксСлов, Π΄Π°ΠΆΠ΅ Ссли Π΅Π΅ свойство BorderStyle ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π°Π²Π½ΠΎΠ΅ bsDialog, bsSingle ΠΈΠ»ΠΈ bsNone.

ΠœΠ΅Ρ‚ΠΎΠ΄ ShowModal

Если ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ становится модальной ΠΈ позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΊΠ½Π° прилоТСния. Для запуска Ρ„ΠΎΡ€ΠΌΡ‹, Π² Ρ‚ΠΎΠΌ числС любой Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ, Π² модальном Ρ€Π΅ΠΆΠΈΠΌΠ΅ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ShowModal. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΡΡ‚ΠΈΠ»ΡŒ опрСдСляСт внСшний Π²ΠΈΠ΄ Ρ„ΠΎΡ€ΠΌΡ‹, Π½ΠΎ Π½Π΅ Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.

Cвойство BorderIcons

Π’ области Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ 4 Π²ΠΈΠ΄Π° ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠ½ΠΎΠΏΠΎΠΊ опрСдСляСт свойство BorderIcons Ρ‚ΠΈΠΏΠ° TBorderIcons, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

БистСмноС мСню прСдставляСт собой Π½Π°Π±ΠΎΡ€ ΠΎΠ±Ρ‰ΠΈΡ… для всСх ΠΎΠΊΠΎΠ½ Windows ΠΊΠΎΠΌΠ°Π½Π΄, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈΠ»ΠΈ Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ. ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Ρƒ ΠΎΠΊΠ½Π° систСмного мСню Π² области Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° слСва отобраТаСтся Π·Π½Π°Ρ‡ΠΎΠΊ прилоТСния, ΠΏΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ этого мСню, Π° Π² области Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° справа имССтся ΠΊΠ½ΠΎΠΏΠΊΠ° закрытия Ρ„ΠΎΡ€ΠΌΡ‹ (см. ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚).

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ значСния свойства BorderIcons Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСзависимыми Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. Π’Π°ΠΊ, Ссли отсутствуСт систСмноС мСню, Ρ‚ΠΎ Π½ΠΈ ΠΎΠ΄Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π΅ отобраТаСтся. Если ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ развСртывания ΠΈ свСртывания, Ρ‚ΠΎ Π½Π΅ отобраТаСтся ΠΊΠ½ΠΎΠΏΠΊΠ° справки. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ появлСния ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ‚Π°ΠΊΠΆΠ΅ зависит ΠΎΡ‚ стиля Ρ„ΠΎΡ€ΠΌΡ‹. НапримСр, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ развСртывания ΠΈ свСртывания Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов с измСняСмыми Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΡΡ‚ΠΈΠ»ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π½Π°Π±ΠΎΡ€ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π½Π° этапС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прилоТСния Π² ΠΎΠΊΠ½Π΅ Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠŸΡ€ΠΈ этом Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ всСгда Π²ΠΈΠ΄Π½Ρ‹ обычная Ρ€Π°ΠΌΠΊΠ° ΠΈ Ρ‚Ρ€ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ (развСртывания, свСртывания ΠΈ закрытия Ρ„ΠΎΡ€ΠΌΡ‹), нСзависимо ΠΎΡ‚ значСния свойств FormStyle ΠΈ BorderIcons. Π—Π°Π΄Π°Π½Π½Ρ‹Π΅ ΡΡ‚ΠΈΠ»ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π½Π°Π±ΠΎΡ€ ΠΊΠ½ΠΎΠΏΠΎΠΊ становятся Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π€ΠΎΡ€ΠΌΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ ΠΈ Π½Π΅ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ области. НСклиСнтская ΠΎΠ±Π»Π°ΡΡ‚ΡŒ занята Ρ€Π°ΠΌΠΊΠΎΠΉ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ ΠΈ строкой Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ эта ΠΎΠ±Π»Π°ΡΡ‚ΡŒ прорисовываСтся Windows ΠΈ программистом Π½Π΅ затрагиваСтся. ΠŸΡ€ΠΈ нСобходимости ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² нСклиСнтской области программист ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ сообщСниС WM_NCPaint.

Cвойства ClientWidth ΠΈ ClientHeight

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

Π’ клиСнтской области ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ элСмСнты управлСния, выводится тСкст ΠΈΠ»ΠΈ отобраТаСтся Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. Аналогично Ρ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ свойства Width ΠΈ Height ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ всСй Ρ„ΠΎΡ€ΠΌΡ‹, свойства ClientWidth ΠΈ ClientHeight Ρ‚ΠΈΠΏΠ° Integer Π·Π°Π΄Π°ΡŽΡ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту (Π² пиксСлах) клиСнтской части Ρ„ΠΎΡ€ΠΌΡ‹.

Π’ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ значСния Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² клиСнтской области выводятся Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ„ΠΎΡ€ΠΌΡƒ ΠΏΠ΅Ρ€Π΅Ρ‚Π°ΡΠΊΠΈΠ²Π°ΡŽΡ‚ ΠΌΡ‹ΡˆΡŒΡŽ, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ устанавливаСтся Π² любом мСстС области Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°. ΠŸΡ€ΠΈ нСобходимости ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ указатСля Π½Π° Π΅Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, для Ρ‡Π΅Π³ΠΎ трСбуСтся ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ. Одним ΠΈΠ· способов являСтся ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ систСмного сообщСния WM_NCHitTest. Для этого создаСтся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° FormMove, которая Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚, Π² ΠΊΠ°ΠΊΠΎΠΌ мСстС Ρ„ΠΎΡ€ΠΌΡ‹ находится ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Код мСстополоТСния указатСля ΠΌΡ‹ΡˆΠΈ содСрТится Π² ΠΏΠΎΠ»Π΅ Result систСмного сообщСния Ρ‚ΠΈΠΏΠ° TMessage. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Result Ρ€Π°Π²Π½ΠΎ 1, Ρ‡Ρ‚ΠΎ соотвСтствуСт Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ Π² клиСнтской области, Ρ‚ΠΎ полю Result присваиваСтся Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π°Π²Π½ΠΎΠ΅ 2, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ указатСля ΠΌΡ‹ΡˆΠΈ Π² области Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°. Π’ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ FormMove пСрвая инструкция inherited осущСствляСт Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ события.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ срСдС Delphi, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° FormMove являСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ события WM_NCHitTest, ΠΏΡ€ΠΈ Π΅Π΅ описании Π² классС Ρ„ΠΎΡ€ΠΌΡ‹ TForm1 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ синтаксис, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово message. Как ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ систСмного сообщСния, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° содСрТит ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° TMessage.

Π”Π°Π»Π΅Π΅ приводится ΠΊΠΎΠ΄ модуля Ρ„ΠΎΡ€ΠΌΡ‹ Form1, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΌΡ‹ΡˆΡŒΡŽ, помСстив ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ ΠΊΠ°ΠΊ Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, Ρ‚Π°ΠΊ ΠΈ Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ.

ИмСна MoveForm ΠΈ Msg ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Π΅Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹.

Бвойство Menu

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠΎΠΉ мСню задаСтся свойством Menu Ρ‚ΠΈΠΏΠ° TMainMenu. ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ прилоТСния Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° MainMenu Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ автоматичСскоС присвоСниС значСния MainMenu1 свойству Menu. Π­Ρ‚ΠΎ самый простой способ ссылки Π½Π° Π³Π»Π°Π²Π½ΠΎΠ΅ мСню. Если Π² Ρ…ΠΎΠ΄Π΅ выполнСния прилоТСния какая-Π»ΠΈΠ±ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ мСню, Ρ‚ΠΎ Ρ‡Π΅Ρ€Π΅Π· свойство Menu ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ мСню, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Form1.Menu := MainMenu2;

Бвойство Icon

КаТдая Ρ„ΠΎΡ€ΠΌΠ° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π² Π»Π΅Π²ΠΎΠΉ сторонС области Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° свой Π·Π½Π°Ρ‡ΠΎΠΊ, опрСдСляСмый свойством Icon Ρ‚ΠΈΠΏΠ° Ticon. Если Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ являСтся Π³Π»Π°Π²Π½ΠΎΠΉ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‚ΠΎ этот Π·Π½Π°Ρ‡ΠΎΠΊ отобраТаСтся ΠΏΡ€ΠΈ свСртывании Ρ„ΠΎΡ€ΠΌΡ‹. Для любой Ρ„ΠΎΡ€ΠΌΡ‹ свойство Icon ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ динамичСски (ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ прилоТСния). Если Π·Π½Π°Ρ‡ΠΎΠΊ Π½Π΅ Π·Π°Π΄Π°Π½, Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΎΠΊ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² свойствС Icon ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Application. ПослСдний выводится Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ свСртывании ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π² ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ‡ Windows Π·Π½Π°Ρ‡ΠΊΠ° Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ прилоТСния.

Π’ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ Π·Π½Π°Ρ‡ΠΎΠΊ динамичСски загруТаСтся ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Picture1.ico ΠΏΡ€ΠΈ создании Ρ„ΠΎΡ€ΠΌΡ‹ Form1.

Бвойство Position

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ опрСдСляСт свойство Position Ρ‚ΠΈΠΏΠ° TPosition. Оно ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния, пСрСчислСнныС Π΄Π°Π»Π΅Π΅:

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ располоТСниС ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Ρ„ΠΎΡ€ΠΌ ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° экранС. Для этого программист Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» прилоТСния ΠΈΠ»ΠΈ Π² систСмный рССстр Windows, Π° ΠΏΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ прилоТСния ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ эти Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡ… для Ρ„ΠΎΡ€ΠΌ.

Бвойство Active

Бвойство Active Ρ‚ΠΈΠΏΠ° Boolean позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹. Π’ любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° Ρ„ΠΎΡ€ΠΌΠ°, ΠΏΡ€ΠΈ этом Π΅Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ выдСляСтся особым Ρ†Π²Π΅Ρ‚ΠΎΠΌ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ синим). Если свойство Active ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True, Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π°ΠΊΡ‚ΠΈΠ²Π½Π° (находится Π² фокусС Π²Π²ΠΎΠ΄Π°), Ссли False β€” Ρ‚ΠΎ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Π°. Π­Ρ‚ΠΎ свойство доступно для чтСния Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Если трСбуСтся Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ, слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство WindowState ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Show (showModal).

Cвойство ChildActiveForm

Π’ ΠΌΠ½ΠΎΠ³ΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ нСзависимо ΠΎΡ‚ Ρ†Π²Π΅Ρ‚Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°. Для опрСдСлСния Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ ΠΎΠΊΠ½Π° ΠΌΠ½ΠΎΠ³ΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π½ΠΎΠ³ΠΎ прилоТСния слуТит свойство ChildActiveForm Ρ‚ΠΈΠΏΠ° TForm Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹.

Π’ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° CheckFormActive модуля Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ выполняСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ активности для Π΄Π²ΡƒΡ… Ρ„ΠΎΡ€ΠΌ прилоТСния ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ… Ρ„ΠΎΡ€ΠΌ.

Бвойство WindowState

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

Бвойство WindowState Ρ‚ΠΈΠΏΠ° TWindowstate опрСдСляСт состояниС отобраТСния Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

Кнопки btnMiniForm ΠΈ btnNormalForm Π² Ρ„ΠΎΡ€ΠΌΠ΅ Form1 ΡΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ состояниС Ρ„ΠΎΡ€ΠΌΡ‹ Form2 соотвСтствСнно.

Π€ΠΎΡ€ΠΌΠ°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ измСняСтся состояниС отобраТСния Π½Π° экранС, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ создана ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ CreateForm ΠΈΠ»ΠΈ Create. Если Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ создана, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π½Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ сгСнСрировано ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ пСрСмСнная Ρ„ΠΎΡ€ΠΌΡ‹ объявлСна Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅. Если Ρ„ΠΎΡ€ΠΌΠ° создана, Π½ΠΎ Π½Π΅ отобраТаСтся Π½Π° экранС, Ρ‚ΠΎ измСнСния Π΅Π΅ состояния (свойства windowstate) происходят, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ этого Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Π½Π° экранС.

Бвойство ActiveControl

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

Π‘ΡƒΠ΄ΡƒΡ‡ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ, Ρ„ΠΎΡ€ΠΌΠ° содСрТит Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты управлСния. ΠžΠΊΠΎΠ½Π½Ρ‹Π΅ элСмСнты управлСния (ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ класса TWinControl) ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ фокус Π²Π²ΠΎΠ΄Π°. Бвойство ActiveControl Ρ‚ΠΈΠΏΠ° TWinControl опрСдСляСт, ΠΊΠ°ΠΊΠΎΠΉ элСмСнт Ρ„ΠΎΡ€ΠΌΡ‹ находится Π² фокусС. Для Π²Ρ‹Π±ΠΎΡ€Π° элСмСнта, находящСгося Π² фокусС Π²Π²ΠΎΠ΄Π° (Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ элСмСнта), ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ это свойство Π² Π½ΡƒΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

Π­Ρ‚Ρƒ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ выполняСт ΠΌΠ΅Ρ‚ΠΎΠ΄ SetFocus, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСт фокус Π²Π²ΠΎΠ΄Π° для ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ элСмСнта управлСния:

Бвойство AutoScroll

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

Π’ случаС, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΎΠΊΠ½Π° нСдостаточны для отобраТСния всСх содСрТащихся Π² Ρ„ΠΎΡ€ΠΌΠ΅ интСрфСйсных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Ρƒ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ полосы ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ. Бвойство AutoScroll Ρ‚ΠΈΠΏΠ° Boolean опрСдСляСт, ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈ ΠΎΠ½ΠΈ автоматичСски, Если свойство AutoScroll ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), Ρ‚ΠΎ полосы ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈ ΠΈΡΡ‡Π΅Π·Π°ΡŽΡ‚ автоматичСски, Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ дСйствий программиста. ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² полосах ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаС, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π½Π΅ всС элСмСнты управлСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π²ΠΈΠ΄Π½Ρ‹. Если ΠΆΠ΅ свойство AutoScroll установлСно Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False, Ρ‚ΠΎ программист Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ просмотром ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· свойства HorzScrollBar (Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ°) ΠΈ VertScrollBar (Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ°) Ρ‚ΠΈΠΏΠ° TControlScrollBar Ρ„ΠΎΡ€ΠΌΡ‹.

ΠœΠ΅Ρ‚ΠΎΠ΄ ScrollInView

Для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ управлСния полосами ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ScrollInView. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ScrollInView (AControl: TControl) автоматичСски измСняСт ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ полос ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ AControl элСмСнт управлСния стал Π²ΠΈΠ΄Π΅Π½ Π² ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ области.

Бвойство KeyPreview

ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Π΄Π΅Π»Ρ„ΠΈ

Бвойство KeyPreview Ρ‚ΠΈΠΏΠ° Boolean опрСдСляСт, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ Ρ„ΠΎΡ€ΠΌΠ° ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ события ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ элСмСнты управлСния Ρ„ΠΎΡ€ΠΌΡ‹. Если свойство ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), Ρ‚ΠΎ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½Ρ‹Π΅ события ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌΡƒ элСмСнту управлСния (ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΌΡƒ фокус Π²Π²ΠΎΠ΄Π°). ΠŸΡ€ΠΈ установкС свойства KeyPreview Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ сообщСния ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиш ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π° Π½ΠΈΡ… Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ клавиш, нСзависимо ΠΎΡ‚ активности элСмСнтов управлСния Ρ„ΠΎΡ€ΠΌΡ‹.

Π’ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ Ρ„ΠΎΡ€ΠΌΠ° Form1 ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… клавиш, отобраТая Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ символ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Information.

Π€ΠΎΡ€ΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиши Π² связи с Π΅Π΅ особым Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

Cвойство MDichildCount ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Cascade

Π£ Ρ„ΠΎΡ€ΠΌΡ‹ имССтся ряд свойств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ свойство MDichildCount ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Cascade, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *