ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «ВСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Β» β„– 2

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ контСкстного мСню ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ. Они ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню, Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ с ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ контСкстного мСню. АктивизируйтС Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π΅ мСню Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² ΠΎΠΊΠ½Π΅ свойств Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Events. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠ· Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка события OnClick… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «ВСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Β» β„– 2 (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹ — ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «Π’Скстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€».

  • 1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. НазовитС Ρ„ΠΎΡ€ΠΌΡƒ TextForm (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Name), ΠΈ Π΄Π°Π΄ΠΈΠΌ Π΅ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ MyEditor (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Caption).
  • 2. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π²Π΅ΡΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ мСню File —> Save All. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ MyEditor. pas, Π° Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° — ΠœΡƒ_ Editor, dpr.
  • 3. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ MainMenu Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ ΠΈ Π΄Π°ΠΉΡ‚Π΅ Π΅ΠΌΡƒ имя MainMenu (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Name). Π’Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ мСню Menu Designer.
ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «ВСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Β» β„– 2.

Puc. 108. ВСкст ΠΏΡƒΠ½ΠΊΡ‚Π° мСню

4. НазовитС ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ FileMenuItem (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Name) ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ &File (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Caption). Π‘ΠΈΠΌΠ²ΠΎΠ» & обСспСчиваСт ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π·Π° Π½ΠΈΠΌ символа ΠΏΡ€ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ тСкста. ΠŸΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚Π°Ρ Π±ΡƒΠΊΠ²Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ с ΠΊΠ»Π°Π²ΠΈΡˆΠ΅ΠΉ Alt для быстрого Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΡƒΠ½ΠΊΡ‚Π° мСню, поэтому активизация ΠΏΡƒΠ½ΠΊΡ‚Π° File Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш Alt+F.

Π§Ρ‚ΠΎΠ±Ρ‹ горячиС клавиши Π½Π΅ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡƒΠ½ΠΊΡ‚Π°Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° MainMenu сущСствуСт свойство AutoHotKeys. Если ΠΎΠ½ΠΎ установлСно Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ maAutomatic, Ρ‚ΠΎ ΠΏΠΎΠ΄Π±ΠΎΡ€ горячих клавиш выполняСтся автоматичСски.

5. Под ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ File Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½ΠΎΠ΅ мСню со ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄: Open…, Save As…, Close ΠΈ Exit (свойство Caption). Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ OpenMenuItem, SaveAsMenuItem, CloseMenuItem ΠΈ ExitMenuItem соотвСтствСнно (рис. 109).

Puc. 109. ΠŸΡƒΠ½ΠΊΡ‚Ρ‹ Π² мСню File.

Puc. 109. ΠŸΡƒΠ½ΠΊΡ‚Ρ‹ Π² ΠΌΠ΅Π½ΡŽ File.

ЛогичСски связанныС ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ принято ΠΎΡ‚Π΄Π΅Π»ΡΡ‚ΡŒ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ. Для этого Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ (рис. 110) ΠΈ Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ свойства Caption символ минуса (-).

7. НСобходимо Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ клавиш. Для этого Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π΅ мСню, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ ΠΎΠΊΠ½Ρƒ свойств ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² ΡΠΏΠΈΡΠΊΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ свойства Shortcut Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ клавиш (рис. 111). Если Π΅Π΅ Ρ‚Π°ΠΌ Π½Π΅Ρ‚, Ρ‚ΠΎ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ горячих клавиш (рис. 112).

8. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню ΠΏΠΎΠΌΠΈΠΌΠΎ тСкста ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΎΠΊ (свойство Bitmap). Π’Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ мСню для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° MainMenu

Ρ„ΠΎΡ€ΠΌΡ‹ TextForm. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ File —> Open ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ ΡΠ²ΠΎΠΉΡΡ‚Π²Ρƒ Bitmap Π² ΠΎΠΊΠ½Π΅ свойств (рис. 113).

Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ линия Π² мСню.

Рис. 110. Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ линия Π² ΠΌΠ΅Π½ΡŽ

ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ клавиш для Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню.

Рис. 111. ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ клавиш для Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню

Установка значСния свойства Bitmap осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Picture Editor, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ с ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎΡ‡ΠΈΠ΅ΠΌ Π² ΠΏΠΎΠ»Π΅ свойства (рис. 114). Π’ ΡΡ‚ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Load… ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» Open. bmp ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ рисунков (ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Images). НСобходимо Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Images.

ΠŸΡƒΠ½ΠΊΡ‚Ρ‹ мСню.

Рис. 112. ΠŸΡƒΠ½ΠΊΡ‚Ρ‹ мСню

Бвойство Bitmap ΠΏΡƒΠ½ΠΊΡ‚Π° мСню.

Рис. 113. Бвойство Bitmap ΠΏΡƒΠ½ΠΊΡ‚Π° мСню

ПослС Π²Ρ‹Π±ΠΎΡ€Π° рисунка Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ ОК.

9. Π’ Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ½Ρ‚Скстных мСню ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ImageList. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ImageList Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ ΠΈ Π΄Π°ΠΉΡ‚Π΅ Π΅ΠΌΡƒ имя ImageList. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ стандартныС значСния свойств Width ΠΈ Height Ρ€Π°Π²Π½Ρ‹ 16, поэтому Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Ссли ваши Π·Π½Π°Ρ‡ΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹.

Окно Picture Editor.

Рис. 114. Окно Picture Editor

ΠŸΡƒΠ½ΠΊΡ‚ Open ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΎΠΊ.

Рис. 115. ΠŸΡƒΠ½ΠΊΡ‚ Open ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΎΠΊ

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ списка рисунков осущСствляСтся Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅. Π’Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ImageList Editor…, находящСйся Π² ΠΊΠΎΠ½Ρ‚Скстном мСню ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ImageList (рис. 116).

Π’Ρ‹Π·ΠΎΠ² ΠΎΠΊΠ½Π° для рСдактирования списка Π·Π½Π°Ρ‡ΠΊΠΎΠ².

Рис. 116. Π’Ρ‹Π·ΠΎΠ² ΠΎΠΊΠ½Π° для рСдактирования списка Π·Π½Π°Ρ‡ΠΊΠΎΠ²

Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Add… ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ рисунков (ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Images).

Окно, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ рСдактируСтся список Π·Π½Π°Ρ‡ΠΊΠΎΠ².

Рис. 117. Окно, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ рСдактируСтся список Π·Π½Π°Ρ‡ΠΊΠΎΠ²

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Transparent Color — это Ρ†Π²Π΅Ρ‚ пиксСлСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ становятся ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΌΠΈ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Options ΠΈ Fill Color ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ рисунка Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΡΠ²ΠΎΠΉΡΡ‚Π²Π°Ρ… Width ΠΈ Height ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ImageList. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Options ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния: Crop — Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ лишниС пиксСли Ρ†Π²Π΅Ρ‚ΠΎΠΌ Fill Color (Π»ΠΈΠ±ΠΎ ΠΎΡ‚ΡΠ΅Ρ‡ΡŒ ΠΏΡ€Π°Π²ΡƒΡŽ ниТнюю Ρ‡Π°ΡΡ‚ΡŒ рисунка, Ссли рисунок ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹); Stretch — Ρ€Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ/ΡΠΆΠ°Ρ‚ΡŒ рисунок Π΄ΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ²; Center — Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ рисунок, Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ² ΠΎΡΡ‚Π°Π²ΡˆΡƒΡŽΡΡ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ΠΎΠΌ Fill Color.

Π—Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ ОК.

10. Π”Π°Π»Π΅Π΅ слСдуСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ MainMenu, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π±Ρ€Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΊΠΈ для своих ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ². Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ MainMenu Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ ΡΠ²ΠΎΠΉΡΡ‚Π²Ρƒ Images Π² ΠΎΠΊΠ½Π΅ свойств. Из ΡΠΏΠΈΡΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ свойства Images Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ элСмСнт ImageList.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌ мСню Π½ΠΎΠΌΠ΅Ρ€Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠΌ Π·Π½Π°Ρ‡ΠΊΠΎΠ². Для этого Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ мСню для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° MainMenu. Π”Π°Π»Π΅Π΅ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ Open… (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ OpenMenuItem), ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ ΡΠ²ΠΎΠΉΡΡ‚Π²Ρƒ Imagelndex ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка подходящий Π·Π½Π°Ρ‡ΠΎΠΊ (рис. 118).

Puc. 718. Установка Π·Π½Π°Ρ‡ΠΊΠ° для ΠΏΡƒΠ½ΠΊΡ‚Π° мСню.

Puc. 718. Установка Π·Π½Π°Ρ‡ΠΊΠ° для ΠΏΡƒΠ½ΠΊΡ‚Π° мСню.

Аналогично установитС Π½ΠΎΠΌΠ΅Ρ€Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡ΠΊΠΎΠ² для всСх ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ².

11. НСобходимо ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΎΠΊ, хранящийся Π² ΡΠ²ΠΎΠΉΡΡ‚Π²Π΅ Bitmap ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° OpenMenuItem, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π·Π½Π°Ρ‡ΠΎΠΊ, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства Imagelndex. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡ΠΎΠΊ ΠΈΠ· ΡΠ²ΠΎΠΉΡΡ‚Π²Π° Bitmap. Для этого Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ мСню для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° MainMenu ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ Open… Π”Π°Π»Π΅Π΅ Π² ΠΎΠΊΠ½Π΅ свойств ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ ΡΠ²ΠΎΠΉΡΡ‚Π²Ρƒ Bitmap ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Del, послС Ρ‡Π΅Π³ΠΎ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Enter.

Π—Π½Π°Ρ‡ΠΎΠΊ, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства Bitmap, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΡΠ»ΡƒΡ‡Π°Π΅, ΠΊΠΎΠ³Π΄Π° свойство Imagelndex содСрТит ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число.

Π’ мСню Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π·Π½Π°Ρ‡ΠΊΠΈ.

Рис. 119. Π’ ΠΌΠ΅Π½ΡŽ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π·Π½Π°Ρ‡ΠΊΠΈ

12. Π Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Exit. РСшСниС этой Π·Π°Π΄Π°Ρ‡ΠΈ сводится ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ события OnClick ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ExitMenuItem. Π­Ρ‚ΠΎ событиС Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² ΠΌΠ΅Π½ΡŽ ΠΏΡƒΠ½ΠΊΡ‚Π° Exit. АктивизируйтС Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π΅ мСню ΠΏΡƒΠ½ΠΊΡ‚ Exit ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² ΠΎΠΊΠ½Π΅ свойств Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Events для создания ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ события OnClick.

Puc. 120. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ мСню.

Puc. 120. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ мСню.

procedure TTextForm. ExitMenuItemClick (Sender: TObject);

begin

Close;

end;

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ мСню. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. На ΡΠΊΡ€Π°Π½Π΅ появится Ρ„ΠΎΡ€ΠΌΠ° со ΡΡ‚Ρ€ΠΎΠΊΠΎΠΉ мСню ΠΏΠΎΠ΄ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ. По ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Exit (рис. 121) ΠΎΠΊΠ½ΠΎ закроСтся ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ.

13. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ нСдоступными Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π² Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. НапримСр, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСдоступными ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ Save As…, Close, ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Для этого Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню установитС свойство Enabled Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False (рис. 122).

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Exit.

Рис. 121. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Exit

Puc. 122. НСдоступныС ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню.

Puc. 122. НСдоступныС ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню.

14. Π’ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню доступными ΠΈΠ»ΠΈ нСдоступными Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Π½Π΅Ρ‚. Π‘Π΄Π΅Π»Π°Π΅ΠΌ эти дСйствия ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, ΠΎΡ„ΠΎΡ€ΠΌΠΈΠ² Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° EnableCommands. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Enable Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° опрСдСляСт, Π² ΠΊΠ°ΠΊΠΎΠ΅ состояниС пСрСвСсти ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню: доступны — True ΠΈΠ»ΠΈ нСдоступны — False.

Π’ΡƒΡ€Π΅

TTextForm = class (TForm) private

{ Private declarations } procedure EnableCommands (Enable: Boolean); end;

procedure TTextForm. EnableCommands (Enable: Boolean);

begin

SaveAsMenuItem.Enabled := Enable;

CloseMenuItem.Enabled := Enable;

CutMenuItem.Enabled := Enable;

CopyMenuItem.Enabled := Enable;

PasteMenuItem.Enabled := Enable;

FontMenuItem.Enabled := Enable; end;

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, создайтС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Open…:

procedure TTextForm. OpenMenuItemClick (Sender: TObject); begin

// ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ EnableCommands (True); end;

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, создайтС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Close:

procedure TTextForm. CloseMenuItemClick (Sender: TObject); begin

// Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ EnableCommands (False); end;

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

МСню Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Рис. 123. МСню Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

НСкоторыС ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ нСдоступны

15. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ контСкстноС мСню с ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΈ Π³Π»Π°Π²Π½ΠΎΠ΅ мСню, Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π΅ мСню. Π”Π°ΠΉΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°: CutPopupItem, CopyPopupItem, PastePopupItem, DeletePopupItem. Π’ΠΎ Π²ΡΠ΅Ρ… ΠΏΡƒΠ½ΠΊΡ‚Π°Ρ… контСкстного мСню установитС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свойства:

Enabled = False Grouplndex = 1 Radioitem = True.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню, ΠΏΠΎΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹, установив Π² Π½ΠΈΡ… свойство Checked Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True (рис. 124).

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ контСкстного мСню.

Рис. 124. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ контСкстного мСню

16. Для Π²Ρ‹Π·ΠΎΠ²Π° контСкстного мСню ΠΏΠΎ Ρ‰Π΅Π»Ρ‡ΠΊΡƒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„ΠΎΡ€ΠΌΡƒ ΠΈ Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ свойства PopupMenu имя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π½Π΅Π΅ контСкстного мСню — PopupMenu (рис. 125). МоТно ввСсти это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка.

ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° контСкстного мСню ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅.

Рис. 125. ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° контСкстного мСню ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅

17. Π’Π΅ΠΏΠ΅Ρ€ΡŒ установитС Π·Π½Π°Ρ‡ΠΊΠΈ для ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² контСкстного мСню Ρ„ΠΎΡ€ΠΌΡ‹. АктивизируйтС Ρ„ΠΎΡ€ΠΌΡƒ TextForm ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° Π½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ PopupMenu. Π—Π°Ρ‚Π΅ΠΌ Π² ΠΎΠΊΠ½Π΅ свойств ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ ΡΠ²ΠΎΠΉΡΡ‚Π²Ρƒ Images ΠΈ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ этого свойства Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ элСмСнт ImageList. ПослС этого Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ мСню Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° PopupMenu, ΠΈ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Π³Π»Π°Π²Π½Ρ‹ΠΌ мСню, Π½Π°Π·Π½Π°Ρ‡ΡŒΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° подходящих Π·Π½Π°Ρ‡ΠΊΠΎΠ² для ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² контСкстного мСню. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ мСню Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ.

18. АктивизируйтС Ρ„ΠΎΡ€ΠΌΡƒ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ Π½Π° Π½Π΅Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ToolBar, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ основы для размСщСния ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π”Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ имя ToolBar.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Object TreeView ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ пСрСнос ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² с ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ.

Π’ ΠΎΠΊΠ½Π΅ свойств установитС свойство AutoSize Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True. ПослС этого панСль инструмСнтов Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΠΏΠΎΠ΄Π³ΠΎΠ½ΡΡ‚ΡŒ свои Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π° Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Ρ… Π½Π° Π½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

19. Для добавлСния ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ контСкстноС мСню ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ToolBar ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ New Button.

Puc. 126. ПанСль инструмСнтов оказалась Π² области ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.

Puc. 126. ПанСль инструмСнтов оказалась Π² ΠΎΠ±Π»Π°ΡΡ‚ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.

Puc. 127. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ New Button контСкстного мСню.

Puc. 127. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ New Button контСкстного мСню.

На ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов появится ΠΊΠ½ΠΎΠΏΠΊΠ°, свойства ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚ΡƒΡ‚ ΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π² ΠΎΠΊΠ½Π΅ свойств. Π”Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ имя NewToolButton.

По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ создайтС ΠΊΠ½ΠΎΠΏΠΊΠΈ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ OpenToolButton, SaveAsToolButton, CutToolButton, CopyToolButton ΠΈ PasteToolButton, FontToolButton, HelpToolButton.

20. Π“Π»Π°Π²Π½Ρ‹ΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ являСтся Π·Π½Π°Ρ‡ΠΎΠΊ. Он ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ свойства Imagelndex (Π½ΠΎΠΌΠ΅Ρ€ Π·Π½Π°Ρ‡ΠΊΠ° Π² ΡΠΏΠΈΡΠΊΠ΅ Images ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ToolBar). Установим Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ… Π·Π½Π°Ρ‡ΠΊΠΈ (рис. 129), воспользовавшись Ρ€Π°Π½Π΅Π΅ созданным списком ImageList.

Puc. 128. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ.

Puc. 128. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ.

На ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ… ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов появились Π·Π½Π°Ρ‡ΠΊΠΈ.

Рис. 129. На ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ… ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов появились Π·Π½Π°Ρ‡ΠΊΠΈ

Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ToolBar, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ ΠΎΠΊΠ½Ρƒ свойств ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ свойству Images Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ImageList.

Π’ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ… трСбуСтся Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° Π·Π½Π°Ρ‡ΠΊΠΎΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства Imagelndex.

21. Кнопка ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ надпись рядом со Π·Π½Π°Ρ‡ΠΊΠΎΠΌ (рис. 130). ВСкст надписи устанавливаСтся Π² ΡΠ²ΠΎΠΉΡΡ‚Π²Π΅ Caption. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΎΠ½ Π½Π΅ Π²ΠΈΠ΄Π΅Π½ ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Π·Π°Π΄Π°ΠΉΡ‚Π΅ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ Π’ΠΎΠΎΠ¨Π°Π³ свойству ShowCaptions Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True.

Кнопки ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ надписи (свойство ShowCaptions Ρ€Π°Π²Π½ΠΎ True).

Рис. 130. Кнопки ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ надписи (свойство ShowCaptions Ρ€Π°Π²Π½ΠΎ True)

Π§Ρ‚ΠΎΠ±Ρ‹ надписи Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ справа ΠΎΡ‚ Π·Π½Π°Ρ‡ΠΊΠΎΠ², Π² ΠΎΠΊΠ½Π΅ свойств ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ свойство List Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ надписи Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ… (свойство Caption), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ панСль инструмСнтов с ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌΠΈ надписями (рис. 132).

  • 22. Π”Π°Π»Π΅Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ сдСлаСм ΠΏΠΎΠ΄ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ надписСй с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства AutoSize (рис.133). Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свойства ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ Π³Ρ€ΡƒΠΏΠΏΠΎΠ²ΠΎΠ³ΠΎ рСдактирования ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ, Π° Π·Π°Ρ‚Π΅ΠΌ, удСрТивая ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Shift, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ‰Π΅Π»Ρ‡ΠΊΠ°ΠΌΠΈ ΠΌΡ‹ΡˆΠΈ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π’ ΠΎΠΊΠ½Π΅ свойств ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄ΡƒΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния:
    • β€’ вмСсто ΠΈΠΌΠ΅Π½ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΎΠ±Ρ‰Π΅Π΅ количСство Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²;
    • β€’ Π² ΡΠΏΠΈΡΠΊΠ΅ свойств останутся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Ρ‰ΠΈΠ΅ для Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² свойства ΠΈ ΡΠΎΠ±Ρ‹Ρ‚ия;
    • β€’ свойства ΠΈ ΡΠΎΠ±Ρ‹Ρ‚ия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρƒ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ значСния, окаТутся пустыми.
ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «ВСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Β» β„– 2.

Puc. 131. Надписи Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ… Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ справа ΠΎΡ‚ Π·Π½Π°Ρ‡ΠΊΠΎΠ² (свойство List Ρ€Π°Π²Π½ΠΎ True)

Кнопкам Π·Π°Π΄Π°Π½Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ надписи.

Рис. 132. Кнопкам Π·Π°Π΄Π°Π½Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ надписи

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (рис. 134).

23. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ плоский Π²ΠΈΠ΄, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ToolBar ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π΅Π³ΠΎ свойство Flat Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True (рис. 135).

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π³Ρ€ΡƒΠΏΠΏΠΎΠ²ΠΎΠ³ΠΎ рСдактирования ΠΏΡ€ΠΈ установкС Π²ΠΎ всСх ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ… свойства AutoSize Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True.

Рис. 133. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π³Ρ€ΡƒΠΏΠΏΠΎΠ²ΠΎΠ³ΠΎ рСдактирования ΠΏΡ€ΠΈ установкС Π²ΠΎ Π²ΡΠ΅Ρ… ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ… свойства AutoSize Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для просмотра Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ панСль инструмСнтов.

Рис. 134. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для просмотра Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ панСль инструмСнтов

Кнопки ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ «плоский» Π²ΠΈΠ΄.

Рис. 135. Кнопки ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ «ΠΏΠ»ΠΎΡΠΊΠΈΠΉ» Π²ΠΈΠ΄

24. Π’Π°ΠΆΠ½Ρ‹ΠΌΠΈ элСмСнтами ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π›ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ (Cut, Copy, Paste) ΠΎΡ‚ ΠΊΠ½ΠΎΠΏΠΎΠΊ Open ΠΈ Save As. Для этого Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ контСкстноС мСню ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ New Separator (рис. 136).

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ New Separator контСкстного мСню.

Рис. 136. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ New Separator контСкстного мСню

На ΠΏΠ°Π½Π΅Π»ΡŒ инструмСнтов Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚Ρ‹. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡ‹ΡˆΠΈ пСрСмСститС Π΅Π³ΠΎ (рис. 137) Π½Π° ΠΌΠ΅ΡΡ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Save As ΠΈ Cut.

Буксировка Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ.

Рис. 137. Буксировка Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ

Аналогично ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Font, Help. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (рис. 138).

Кнопки Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов внСшнС сгруппированы.

Рис. 138. Кнопки Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов внСшнС сгруппированы

ΠΏΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ

25. Кнопки ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ, «Π·Π°Π»ΠΈΠΏΠ°Ρ» ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ½ΠΎΠΏΠΊΠ° Π±Ρ‹Π»Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΌ, Π΅Π΅ ΡΠ²ΠΎΠΉΡΡ‚Π²ΠΎ Style Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ tbsCheck. БостояниС ΠΊΠ½ΠΎΠΏΠΊΠΈ (Π½Π°ΠΆΠ°Ρ‚Π° ΠΎΠ½Π° ΠΈΠ»ΠΈ Π½Π΅Ρ‚) опрСдСляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ свойства Down.

Кнопки-ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ согласованно, Ρ‚. Π΅. Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…. Π‘Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ располоТСнныС рядом ΠΊΠ½ΠΎΠΏΠΊΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… свойство Grouped Ρ€Π°Π²Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ True ΠΈ ΡΠ²ΠΎΠΉΡΡ‚Π²ΠΎ Style Ρ€Π°Π²Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ tbsCheck.

Π‘Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Cut, Copy, Paste, установив ΠΈΡ… ΡΠ²ΠΎΠΉΡΡ‚Π²Π° Grouped ΠΈ Style, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅.

Puc. 139. Кнопки Cut, Copy, Paste сгруппированы Π² Ρ‚Ρ€Π΅Ρ…ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ.

Puc. 139. Кнопки Cut, Copy, Paste сгруппированы Π² Ρ‚Ρ€Π΅Ρ…ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ.

Π£ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π‘ΠΎΡ€Ρƒ установитС свойство Down Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ±Ρ€Π°Π² Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ Cut ΠΈ Paste (рис. 140).

Puc. 140. ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Ρ…ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ β€” Copy.

Puc. 140. ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Ρ…ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ — Copy.

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (рис. 141).

Кнопки-ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π΅.

Рис. 141. Кнопки-ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π΅

26. Π—Π°Π²Π΅Ρ€ΡˆΠ°Ρ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов, сдСлайтС ΠΊΠ½ΠΎΠΏΠΊΠΈ Save As, Cut, Copy, Paste, Font нСдоступными, установив Ρƒ Π½ΠΈΡ… свойство Enabled Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False. Π­Ρ‚ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ нСдоступными, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ„Π°ΠΉΠ».

Puc. 142. НСкоторыС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ„Π°ΠΉΠ».

Puc. 142. НСкоторыС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ„Π°ΠΉΠ».

  • 27. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ события OnClick, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ мСню. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС события OnClick ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², просто ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий.
  • 28. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡŒ доступными ΠΈΠ»ΠΈ нСдоступными Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Π½Π΅Ρ‚, ΠΎΡ‚ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ EnableCommands:

procedure TTextForm. EnableCommands (Enable: Boolean); begin

SaveAsToolButton.Enabled := Enable;

CutToolButton.Enabled := Enable;

CopyToolButton.Enabled := Enable;

PasteToolButton.Enabled := Enable;

FontToolButton.Enabled := Enable; end;

ПослС компиляции ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΡƒΡŽ панСль инструмСнтов.

Π Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ панСль инструмСнтов.

Рис. 143. Π Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ панСль инструмСнтов

29. ΠŸΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ OpenDialog, SaveDialog, RichEdit (рис. 144).

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ OpenDialog, SaveDialog, RichEdit.

Рис. 144. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ OpenDialog, SaveDialog, RichEdit

ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ OpenDialog, SaveDialog, RichEdit ΠΈ ΠΎΡ‡ΠΈΡΡ‚ΠΈΠΌ тСкстовоС ΠΏΠΎΠ»Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° RichEdit (рис. 145).

30. Π’ ΡΡ‚Ρ€ΠΎΠΊΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΠΊΠ½Π° прилоТСния Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ имя Ρ„Π°ΠΉΠ»Π°, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Π² Π½Π°ΡΡ‚оящий ΠΌΠΎΠΌΠ΅Π½Ρ‚. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎ Π²Ρ‹Π·ΠΎΠ²Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Open Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ открытия Ρ„Π°ΠΉΠ»Π°, послС Ρ‡Π΅Π³ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ тСкстовый (TXT ΠΈΠ»ΠΈ RTF) Ρ„Π°ΠΉΠ» Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ RichEdit ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π΅Π³ΠΎ имя. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ создайтС тСкстовый Ρ„Π°ΠΉΠ».

НастройтС свойство Filter ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° OpenDialog (рис. 146).

Puc. 145. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ RichEdit.

Puc. 145. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ RichEdit.

Puc. 146. Бвойство Filter ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° OpenDialog.

Puc. 146. Бвойство Filter ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° OpenDialog.

Π’Ρ‹Π·ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Open Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ открытия ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ». ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ измСняСтся Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° прилоТСния. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ TTextForm.OpenMenuItemClick.

procedure TTextForm. OpenMenuItemClick (Sender: TObject); begin

EnableCommands (True); if OpenDialog. Execute then begin

// Ρ‡ΠΈΡ‚Π°Π΅ΠΌ содСрТимоС Ρ„Π°ΠΉΠ»Π° Π² ΠΏΠΎΠ»Π΅ рСдактирования RichEdit.Lines.LoadFromFile (OpenDialog.FileName);

// измСняСм Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° прилоТСния Caption := 'ВСкстовый Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ — '.

+ ExtractFileName (OpenDialog.FileName);

end;

end;

Ѐункция ExtractFileName ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΈΠ· ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ имя Ρ„Π°ΠΉΠ»Π° Π±Π΅Π· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ (рис. 147).

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° открытия Ρ„Π°ΠΉΠ»Π°.

Рис. 147. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° открытия Ρ„Π°ΠΉΠ»Π°

Аналогично настройтС свойство Filter ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° SaveDialog.

31. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ контСкстного мСню ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ. Они ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ для ΠΏΡƒΠ½ΠΊΡ‚Π° ΠžΡ€Π΅Π» ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΡƒΠΆΠ΅ написан, Ρ‚ΠΎ Π΅Π³ΠΎ просто Π½ΡƒΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ с ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ контСкстного мСню. Π­Ρ‚ΠΎ дСлаСтся ΠΎΡ‡Π΅Π½ΡŒ просто. АктивизируйтС Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π΅ мСню Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² ΠΎΠΊΠ½Π΅ свойств Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Events. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠ· Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка события OnClick. Π’ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ Ρ‚ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°ΠΉΡ‚Π΅ с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий.

Рис. 148. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния.

  • 32. Рассмотрим ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ достаточно всСго Ρ‚Ρ€Π΅Ρ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:
    • β€’ CopyToClipboard: ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π±ΡƒΡ„Π΅Ρ€;
    • β€’ CutToClipboard: ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π±ΡƒΡ„Π΅Ρ€;

β€’ PasteFromClipboard: вставляСт содСрТимоС Π±ΡƒΡ„Π΅Ρ€Π° Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ курсора.

Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠΌΠ°Π½Π΄ Edit: Cut, Π‘ΠΎΡ€Ρƒ ΠΈ Paste. Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ тСкста, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π² ΠΏΠΎΠ»Π΅ RichEdit, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Ρ€Π΅Π·Π°Ρ‚ΡŒ/ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π±ΡƒΡ„Π΅Ρ€ ΠΈ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ курсора.

Π’Ρ‹Π·ΠΎΠ²Π΅ΠΌ MenuDesigner Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню, Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Cut, Copy, Paste, Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Events ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnClick. Π—Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ события.

procedure TTextForm. CutMenuItemClick (Sender: TObject); begin

// Π²Ρ‹Ρ€Π΅Π·Π°Π΅ΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ тСкст Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°

RichEdit.CutToClipboard;

RichEdit.SetFocus; // ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ курсор Π² RichEdit end;

procedure TTextForm. CopyMenuItemClick (Sender: TObject); begin

// ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ тСкст Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°

RichEdit.CopyToClipBoard;

RichEdit.SetFocus; // ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ курсор Π² RichEdit end;

procedure TTextForm. PasteMenuItemClick (Sender: TObject); begin

RichEdit.SetFocus;

// вставляСм тСкст ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π° Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ курсора

RichEdit.PasteFromClipboard;

RichEdit.SetFocus; // ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ курсор Π² RichEdit end;

Π’Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° SetFocus Π½ΡƒΠΆΠ΅Π½ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ полю рСдактирования (ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ курсор). Π‘Π΅Π· этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² Ρ„окусС ΠΎΡΡ‚Π°Π»Π°ΡΡŒ Π±Ρ‹ Ρ‚Π° ΠΊΠ½ΠΎΠΏΠΊΠ°, Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ запустило Π΄Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‰Π΅Π»ΠΊΠ°Ρ‚ΡŒ ΠΌΡ‹ΡˆΡŒΡŽ Π½Π° ΠΏΠΎΠ»Π΅ RichEdit.

  • 33. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ контСкстного мСню ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ. Они ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню, Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ с ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ контСкстного мСню. АктивизируйтС Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π΅ мСню Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² ΠΎΠΊΠ½Π΅ свойств Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Events. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠ· Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка события OnClick. Π’ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ Ρ‚ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°ΠΉΡ‚Π΅ с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ.
  • 34. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ½ΠΎΠΏΠΊΠΈ контСксного мСню ΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡŒ доступными ΠΈΠ»ΠΈ нСдоступными Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Π½Π΅Ρ‚, ΠΏΠΎΠ΄ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ EnableCommands:

procedure TTextForm. EnableCommands (Enable: Boolean); begin

CutPopupItem.Enabled := Enable;

CopyPopupItem.Enabled := Enable;

PastePopupItem.Enabled := Enable;

DeletePopupItem.Enabled := Enable; end;

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния.

35. На Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° Font ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Font. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡˆΡ€ΠΈΡ„Ρ‚Π°ΠΌΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ FontDialog (Π²ΠΊΠ»Π°Π΄ΠΊΠ° Dialogs ΠŸΠ°Π»ΠΈΡ‚Ρ€Ρ‹ ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²). ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΠΌ имя FontDialog.

Π’Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Font Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ OnClick (рис. 150).

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° FontDialog.

Рис. 149. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° FontDialog

Π—Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ событиС:

procedure TTextForm. FontToolButtonClick (Sender: TObject);

begin.

if FontDialog. Execute then RichEdit. Font := FontDialog. Font;

end;

Π’Π΅ΠΏΠ΅Ρ€ΡŒ свяТСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ события с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Font. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΠΊΠ°ΠΊ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ связывании.

36. На Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Delete Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΈ ΠΊΠΎΠ½Ρ‚Скстном мСню. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ случаям (рис. 151).

procedure TTextForm. DeleteMenuItemClick (Sender: TObject);

begin.

EnableCommands (True);

RichEdit.ClearSelection; RichEdit. SetFocus; end;

Puc. 150. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ OnClick ΠΊΠ½ΠΎΠΏΠΊΠΈ Font.

Puc. 150. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ OnClick ΠΊΠ½ΠΎΠΏΠΊΠΈ Font.

Puc. 151. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Delete.

Puc. 151. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Delete.

БвязываСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ контСкстного мСню (рис. 152).

37. ΠŸΡ€ΠΈ запускС прилоТСния ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ тСкстовоС ΠΏΠΎΠ»Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°ΠΆΠΈΠΌΠ°Π» ΠΊΠ½ΠΎΠΏΠΊΡƒ New ΠΈΠ»ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π» ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ New. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ создании Ρ„ΠΎΡ€ΠΌΡ‹ скрываСм ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ RichEdit с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Hide. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnCreate для Ρ„ΠΎΡ€ΠΌΡ‹.

procedure TTextForm. FormCreate (Sender: TObject); begin

RichEdit.Hide; end;

Puc. 152. Бвязь ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ контСкстного мСню.

Puc. 152. Бвязь ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ контСкстного мСню.

38. На Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° New Π² Π³Π»Π°Π²Π½ΠΎΠΌ мСню ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° New. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ события Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ случаям. Но ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ скрытый Ρ€Π°Π½Π΅Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ RichEdit с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Show ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ фокус Π² Ρ‚СкстовоС ΠΏΠΎΠ»Π΅.

Если Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ очищаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Clear ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ‚ся Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° прилоТСния.

procedure TTextForm. NewMenuItemClick (Sender: TObject);

begin

// Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ EnableCommands (True);

// ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ RichEdit RichEdit. Show;

RichEdit.Clear;

RichEdit.SetFocus;

// измСняСм Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° прилоТСния Caption := 'ВСкстовый Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€';

end;

39. ΠŸΠΎΠ΄ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ открытия Ρ„Π°ΠΉΠ»Π°. ВнСсСм измСнСния, ΠΊΠ°ΡΠ°ΡŽΡ‰Π°ΡΡΡ ΠΏΠΎΠΊΠ°Π·Π° Ρ€Π°Π½Π΅Π΅ скрытого ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° RichEdit.

procedure TTextForm. OpenMenuItemClick (Sender: TObject);

begin

// ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ EnableCommands (True);

if OpenDialog. Execute then begin.

// ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Rich Edit RichEdit. Show;

// Ρ‡ΠΈΡ‚Π°Π΅ΠΌ содСрТимоС Ρ„Π°ΠΉΠ»Π° Π² ΠΏΠΎΠ»Π΅ рСдактирования RichEdit.Lines.LoadFromFile (OpenDialog.FileName); // измСняСм Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° прилоТСния Caption := 'ВСкстовый Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ — ' +.

ExtractFileName (OpenDialog.FileName);

end;

end;

Puc. 153. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° события измСнСния Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° прилоТСния.

Puc. 153. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° события измСнСния Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° прилоТСния.

БвязываСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ New (рис. 154).

Puc. 154. Бвязь ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ New.

Puc. 154. Бвязь ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ New.

40. На Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° SaveAs Π² Π³Π»Π°Π²Π½ΠΎΠΌ мСню ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° SaveAs. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ события Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ случаям. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ SaveDialog ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ofOverwritePrompt Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ выдаСтся ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΆΠ΅ сущСствуСт.

procedure TTextForm. SaveAsMenuItemClick (Sender: TObject); var.

f: TextFile; // Ρ„Π°ΠΉΠ» fName: String[80]; // имя Ρ„Π°ΠΉΠ»Π° i: integer; begin.

if SaveDialog. Execute then begin.

fName := ExtractFileName (SaveDialog.FileName);

AssignFile (f, fName);

Rewrite (f); // ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ для пСрСзаписи // запись Π² Ρ„Π°ΠΉΠ»

// сохраняСм содСрТимоС поля рСдактирования Π² Ρ„Π°ΠΉΠ»

for i := 0 to RichEdit.Lines.Count do // строки Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ

// с Π½ΡƒΠ»Ρ

writeln (f, RichEdit. Lines[i]);

CloseFile (f); // Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ»

MessageDlg ('Π”Π°Π½Π½Ρ‹Π΅ записаны Π² Ρ„Π°ΠΉΠ» ', mtlnformation, [mbOk], 0); end;

// измСняСм Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° прилоТСния Caption := 'ВСкстовый Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€'; end;

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ».

Рис. 155. ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ».

БвязываСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ SaveAs, ΠΊΠ°ΠΊ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

41. На Ρ„ΠΎΡ€ΠΌΠ΅ присутствуСт ΠΊΠΎΠΌΠ°Π½Π΄Π° Close Π² Π³Π»Π°Π²Π½ΠΎΠΌ мСню. ΠŸΠΎΠ΄ΠΏΡ€Π°Π²ΠΈΠΌ Ρ€Π°Π½Π΅Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ закрытия. Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (рис. 156). ΠŸΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ: ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ». ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ случаям.

procedure TTextForm. CloseMenuItemClick (Sender: TObject); var

k: word; begin

// Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ EnableCommands (False);

k := MessageDlg ('Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»? ', mtConfirmation, mbYesNoCancel, 0); case k of mrCancel:

Π£

mrNo:

RichEdit.Clear; mrYes:

SaveAsMenuItemClick (Sender);

end;

end;

Puc. 156. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎ сохранСнии Π΄Π°Π½Π½Ρ‹Ρ….

Puc. 156. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

42. НС Π·Π°Π±ΡƒΠ΄Π΅ΠΌ вывСсти сообщСниС ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ½ΠΎΠΏΠΊΡƒ About… Π§Π΅Ρ€Π΅Π· MenuDesigner Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ About… ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ событиС OnClick.

procedure TTextForm. AboutMenuItemClick (Sender: TObject); begin

ShowMessage ('ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΌΠΎΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.' +.

' ΠŸΡ€ΠΎΡˆΡƒ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ авторскиС ΠΏΡ€Π°Π²Π°');

end;

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ About.

Рис. 157. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ About

  • 43. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Help ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ.
  • 44. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠΊΠΎΠ½ΠΊΡƒ Ρƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘Π΄Π΅Π»Π°Π΅ΠΌ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒ, Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ свойство Icon. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ (рис. 158) Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ рисунок.
Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ.

Рис. 158. Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ

На Ρ€ΠΈΡ. 159 дСмонстрируСтся Ρ€Π°Π±ΠΎΡ‚Π° созданной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Puc. 159. ДСмонстрация Ρ€Π°Π±ΠΎΡ‚Ρ‹ тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°.

Puc. 159. ДСмонстрация Ρ€Π°Π±ΠΎΡ‚Ρ‹ тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ