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

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ программирования для Windows

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

Поясним сказанноС Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Допустим, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΌ ΠΎΠΊΠ½Π΅ «Π Π°ΡΡ…одная накладная: ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°» прилоТСния «ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΡ SuperStocks: запасы ΠΈ Π²Π·Π°ΠΈΠΌΠΎΡ€Π°ΡΡ‡Π΅Ρ‚Ρ‹» (рис. 1.16). Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ присвоил подклассу Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΊΠΎΠ½ имя DocsOut. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ Π² Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΌ ΠΎΠΊΠ½Π΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΠΎΠΉ Π΅ΠΌΡƒ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ содСрТаниС ΠΊΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΡƒΡ‡Π΅Ρ‚Π°… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ программирования для Windows (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

  • 1. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для Windows: особСнности
    • 1.1 Новый интСрфСйс — Π½ΠΎΠ²Ρ‹Π΅ возмоТности
    • 1.1.1 Окна ΠΈ ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹
    • 1.1.2 Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ элСмСнты ΠΎΠΊΠ½Π°
    • 1.1.3 Π”Ρ€ΡƒΠ³ΠΈΠ΅ особСнности интСрфСйса
    • 1.2 DOS ΠΈ Windows: Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ
    • 1.2.1 ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…
    • 1.3 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² CA-Visual Objects
    • 1.3.1 ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Бвязи Ρ‚ΠΈΠΏΠ° «Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅»
    • 1.3.2 ГСнСрация ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий
    • 1.3.3 Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ связСй Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…
    • 1.3.4 Как всС-Ρ‚Π°ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² CA-Visual Objects?

1. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для Windows: особСнности

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

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π½Π΅ Π²ΡΠ΅ Ρ‚Π°ΠΊ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡƒΡ‚ΠΈ. БистСма программирования CA-Visual Objects — Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт, способный ΡΠ½ΡΡ‚ΡŒ с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½Ρ‹Ρ… Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ создаваСмых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Надо Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этим инструмСнтом…

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½Ρ‹Ρ… отличиях Windows ΠΎΡ‚ DOS, нСпосрСдствСнно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹Π΅ трСбования ΠΊ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ прилоТСниям, Ρ‚Π°ΠΊ ΠΈ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

1.1 Новый интСрфСйс — Π½ΠΎΠ²Ρ‹Π΅ возмоТности

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ бросаСтся Π² Π³Π»Π°Π·Π° ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΎΡ‚ DOS ΠΊ Windows, это графичСская опСрационная срСда. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, графичСский интСрфСйс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (Graphical User Interface — GUI) составляСт сСрдцСвину Windows. ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ графичСского интСрфСйса ΠΏΡ€ΠΎΠ΄ΠΈΠΊΡ‚ΠΎΠ²Π°Π½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ эстСтичСскими сообраТСниями. ОсновноС Π΅Π³ΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ уровня Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½ΠΎΡΡ‚ΠΈ ΠΈ ΠΈΠ½Ρ„ормативности экрана дисплСя, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… возмоТностСй ΠΏΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌΡƒ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Ρƒ Π² Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ процСсс. Π­Ρ‚ΠΈ Ρ†Π΅Π»ΠΈ Π² GUI Π΄ΠΎΡΡ‚ΠΈΠ³Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π·Π° ΡΡ‡Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ использования графичСских ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² ΠΈ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ Π³Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΊ ΠΈ Π·Π° ΡΡ‡Π΅Ρ‚ ввСдСния Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² элСмСнтов управлСния интСрфСйсом.

ΠžΡΠ½ΠΎΠ²Ρƒ графичСского интСрфСйса Π² Windows ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΠΊΠ½Π°. Окна ΠΈ ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ — «Π°Π»ΡŒΡ„Π°» ΠΈ «ΠΎΠΌΠ΅Π³Π°» GUI. Π§Π΅Ρ€Π΅Π· ΠΎΠΊΠ½Π° ΠΈ ΠΈΡ… ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, с ΠΎΠ΄Π½ΠΎΠΉ стороны, осущСствляСт интСрфСйс с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π° Ρ Π΄Ρ€ΡƒΠ³ΠΎΠΉ — взаимодСйствуСт с Windows. Π›ΡŽΠ±ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ Π² ΡΡ€Π΅Π΄Π΅ Windows, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ прСдставлСно ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ.

1.1.1 Окна ΠΈ ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

Π’ CA-Visual Objects Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ Ρ‚Ρ€ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° ΠΎΠΊΠΎΠ½:

1. Окно прилоТСния — Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΈΠ»ΠΈ СдинствСнноС ΠΎΠΊΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ ΡΠΎΠΎΡ‚вСтствии со ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΎΠΌ GUI, ΠΎΠΊΠ½ΠΎ прилоТСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π²ΡƒΡ… Π²ΠΈΠ΄ΠΎΠ²: ΠΎΠ΄Π½ΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΌ (Single Document Interface — SDI) ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΌ (Multiple Document Interface — MDI). ОсновноС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ этими Π²ΠΈΠ΄Π°ΠΌΠΈ ΠΎΠΊΠΎΠ½ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ MDI-ΠΎΠΊΠ½Π° ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² ΡΠ΅Π±Π΅ нСсколько Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΎΠΊΠΎΠ½, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ нСзависимо ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ…, Π² Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΊΠ°ΠΊ SDI-ΠΎΠΊΠ½ΠΎ являСтся СдинствСнным Π½Π° Π²ΡΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ MDI-прилоТСния являСтся тСкстовый процСссор WORD Ρ„ΠΈΡ€ΠΌΡ‹ Microsoft (рис. 1.1). Запустив это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΠΌΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… прСдставляСтся ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ.

Рис 1.1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ MDI-прилоТСния (Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Microsoft Word ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ Π΄Π²Π° нСзависимых Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΎΠΊΠ½Π° — BOOK1. DOC ΠΈ BOOK2. DOC)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ SDI-прилоТСния являСтся игровая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «ΠŸΠ°ΡΡŒΡΠ½Ρ», входящая Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ поставки Windows (рис. 1.2). Π’ ΡΡ‚ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ открываСтся СдинствСнноС ΠΎΠΊΠ½ΠΎ, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ «Ρ€Π°ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ» Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ всСго ΠΎΠ΄ΠΈΠ½ пасьянс.

Рис 1.2 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ SDI-прилоТСния

Ясно, Ρ‡Ρ‚ΠΎ MDI-стандарт ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π±ΠΎΠ³Π°Ρ‚Ρ‹Π΅ возмоТности. ИмСнно ΠΎΠ½ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ «ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΠΈ» Windows ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ слоТных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. По ΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΌΡ‹ ΠΈ Π²ΠΎΠ·ΡŒΠΌΠ΅ΠΌ Π΅Π³ΠΎ Π·Π° ΠΎΡΠ½ΠΎΠ²Ρƒ Π²ΠΎ Π²ΡΠ΅Ρ… Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… рассуТдСниях.

Π’ MDI-прилоТСниях ΠΎΠΊΠ½ΠΎ прилоТСния называСтся Ρ‚Π°ΠΊΠΆΠ΅ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠΊΠ½ΠΎΠΌ ΠΈΠ»ΠΈ ΠΎΠΊΠ½ΠΎΠΌ-ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ. Π­Ρ‚ΠΎ ΠΎΠΊΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ пустым, Ρ‚. Π΅. Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² ΡΠ΅Π±Π΅ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… элСмСнтов управлСния, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ мСню (см. Π½ΠΈΠΆΠ΅).

2. Окно Π΄Π°Π½Π½Ρ‹Ρ… — спСцифичСский Π²ΠΈΠ΄ ΠΎΠΊΠ½Π°, Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ приспособлСнный для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Оно ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² ΡΠ΅Π±Π΅ Π»ΡŽΠ±Ρ‹Π΅ элСмСнты управлСния, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ срСдства Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ сказанного Π² ΠΏ. 1, ΠΎΠΊΠ½ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… — ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΎΠΊΠΎΠ½ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° прилоТСния. И ΠΈΠΌΠ΅Π½Π½ΠΎ поэтому ΠΎΠΊΠ½ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС нСмодально, Ρ‚. Π΅. допускаСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·Π°Ρ†ΠΈΠΈ Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΊΠΎΠ½. ВсС ΠΎΠΊΠ½Π° Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° прилоТСния.

3. Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ — ΠΎΠΊΠ½ΠΎ с Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², основная Ρ†Π΅Π»ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ состоит Π² Π²Ρ‹Π΄Π°Ρ‡Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ сообщСний ΠΈ/ΠΈΠ»ΠΈ запросов ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌ ΠΎΡ‚ Π½Π΅Π³ΠΎ нСбольшого числа ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠΊΠ½Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС модально, Ρ‚. Π΅. Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΊΠ½Π° Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎ. ВмСстС с Ρ‚Π΅ΠΌ, Π² ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ программирования ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈ Π½Π΅ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΎΠΊΠ½Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для поиска ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ отобраТСния Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ процСссов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ прогрСсс-ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ².

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΎΠΊΠ½ΠΎ состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²:

ΠΎΠ±Π»Π°ΡΡ‚ΡŒ (панСль) Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°;

ΠΎΠ±Π»Π°ΡΡ‚ΡŒ (панСль) мСню;

ΠΎΠ±Π»Π°ΡΡ‚ΡŒ (панСль) инструмСнтов;

ΠΎΠ±Π»Π°ΡΡ‚ΡŒ (панСль) состояния:

ΠΊΠ½ΠΎΠΏΠΊΠ° систСмного мСню;

ΠΊΠ½ΠΎΠΏΠΊΠΈ максимизации ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΊΠ½Π°;

Ρ€Π°ΠΌΠΊΠ° ΠΎΠΊΠ½Π°;

рабочая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΎΠΊΠ½Π°.

ПанСль Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ сама Π·Π° ΡΠ΅Π±Ρ — Π½Π° Π½Π΅ΠΉ отобраТаСтся Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. Π’ ΠΌΠ½ΠΎΠ³ΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΎΠΊΠΎΠ½ ΠΈΠ³Ρ€Π°ΡŽΡ‚ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ, позволяя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ быстрСС ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

ПанСль мСню находится Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΎΠΊΠ½Π°. Она ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для хранСния Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню (мСню ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня). Если Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π½Π΅ ΡƒΠΌΠ΅Ρ‰Π°ΡŽΡ‚ся Π² ΠΎΠ΄Π½ΠΎΠΉ строкС, ΠΎΠ½ΠΈ пСрСносятся Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку (Ρ‚.Π΅. панСль мСню Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ).

ПанСль мСню имССтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° прилоТСния. Если это ΠΎΠΊΠ½ΠΎ пустоС, Ρ‚ΠΎ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ мСню ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ мСню Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. Если ΠΆΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π΅ ΠΎΠΊΠ½ΠΎ (ΠΎΠΊΠ½ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…), Ρ‚ΠΎ Π½Π° Π΅Π³ΠΎ ΠΏΠ°Π½Π΅Π»ΠΈ мСню ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ мСню Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ ΠΎΠΊΠ½Π°. Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΎΠΊΠ½Π° Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ собствСнного мСню.

ПанСль инструмСнтов содСрТит Π² ΡΠ΅Π±Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ с Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ. Π­Ρ‚ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΌΡ‹ΡˆΠΊΠΈ ΠΈ ΡΠ»ΡƒΠΆΠ°Ρ‚ для запуска Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π’ CA-Visual Objects эта панСль называСтся панСлью управлСния, ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° Π½Π΅ΠΉ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ ваТнСйшиС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ мСню. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, панСль инструмСнтов располагаСтся Π²Π²Π΅Ρ€Ρ…Ρƒ, нСпосрСдствСнно ΠΏΠΎΠ΄ панСлью мСню. Однако допускаСтся Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ этой ΠΏΠ°Π½Π΅Π»ΠΈ Π² Π»Π΅Π²ΠΎΠΉ, ΠΏΡ€Π°Π²ΠΎΠΉ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΉ частях ΠΎΠΊΠ½Π°. CA-Visual Objects позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ динамичСски с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡ‹ΡˆΠΊΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ эту панСль Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ для Π½Π΅Π³ΠΎ мСсто.

ПанСль состояния располагаСтся Ρƒ Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΊΡ€ΠΎΠΌΠΊΠΈ ΠΎΠΊΠ½Π° ΠΈ ΡΠ»ΡƒΠΆΠΈΡ‚ для Π²Ρ‹Π²ΠΎΠ΄Π° сообщСний ΠΎ ΡΠΎΡΡ‚оянии прилоТСния, состоянии ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅, ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ, — Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π°Ρ‚Ρ‹.

Кнопка систСмного мСню ΠΎΠΊΠ½Π° активизируСтся любо ΠΌΡ‹ΡˆΠΊΠΎΠΉ, Π»ΠΈΠ±ΠΎ клавишСй Alt. БистСмноС мСню содСрТит Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ управлСния ΠΎΠΊΠ½ΠΎΠΌ, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π΅Π³ΠΎ закрытия. Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ всСх связанных с Π½ΠΈΠΌ процСссов. Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° прилоТСния ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ этого прилоТСния.

Кнопка максимизации ΠΎΠΊΠ½Π° доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΌΡ‹ΡˆΠΊΠΈ ΠΈ ΡΠ»ΡƒΠΆΠΈΡ‚ для увСличСния Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΎΠΊΠ½Π° Π΄ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ…. Π”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° прилоТСния, Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ — Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² экрана.

Кнопка ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΊΠ½Π° Ρ‚Π°ΠΊΠΆΠ΅ доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΌΡ‹ΡˆΠΊΠΈ ΠΈ ΡΠ»ΡƒΠΆΠΈΡ‚ для свСртывания ΠΎΠΊΠ½Π° Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΈΠΊΠΎΠ½ΠΊΠΈ — ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ стандартного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, 32×32 Ρ‚ΠΎΡ‡ΠΊΠΈ).

Рис. 1.3 Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Ρ‚Ρ‹ ΠΎΠΊΠ½Π° Π² Windows

Π Π°ΠΌΠΊΠ° ΠΎΠΊΠ½Π° слуТит Π΅Π³ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Π³Ρ€Π°Π½ΠΈΡ†Π΅ΠΉ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎ Π²ΠΈΠ΄Ρƒ Ρ€Π°ΠΌΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡƒΠ΄ΠΈΡ‚ΡŒ, допускаСт Π»ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΠ»Π°Π²Π½ΠΎΠ΅ динамичСскоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ своих Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡ‹ΡˆΠΊΠΈ ΠΈΠ»ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.

Рабочая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ — это Ρ‚Π° Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠΊΠ½Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… элСмСнтов. ИмСнно Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ располагаСт всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π΄ΠΈΠ°Π»ΠΎΠ³Π° с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ элСмСнты.

1.1.2 Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ элСмСнты ΠΎΠΊΠ½Π°

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ GUI, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² Windows 3.1 ΠΈ 3.11, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ для всСх ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ минимального Π½Π°Π±ΠΎΡ€Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… элСмСнтов. Π’ ΡΡ‚ΠΎΡ‚ Π½Π°Π±ΠΎΡ€ входят:

ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ (PushButton);

ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ (CheckBox);

Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ (RadioButton) ΠΈ ΠΈΡ… Π³Ρ€ΡƒΠΏΠΏΡ‹ (RadioButtonGroup);

однострочный элСмСнт Π²Π²ΠΎΠ΄Π° (SingleLineEdit);

многострочный элСмСнт Π²Π²ΠΎΠ΄Π° (MultiLineEdit);

блок списка (ListBox);

ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ списка (ComboBox);

тСкстовоС ΠΏΠΎΠ»Π΅ (FixedText);

панСль Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΈΡ„Ρ‚ (VerticalScrollBar);

панСль Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΈΡ„Ρ‚ (HorisontalScrollBar);

элСмСнт Ρ‚ΠΈΠΏΠ° «Π³Ρ€ΡƒΠΏΠΏΠ°» ΠΈΠ»ΠΈ Ρ€Π°ΠΌΠΊΠ° (GroupBox);

ΠΈΠΊΠΎΠ½ΠΊΠ° ΠΈΠ»ΠΈ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° (Icon).

Π’ Π»ΡŽΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ нСпосрСдствСнно Π³ΠΎΡ‚ΠΎΠ² ΠΊ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ лишь ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΅Π³ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… элСмСнтов. Говорят, Ρ‡Ρ‚ΠΎ этот элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ фокус (ΠΈΠ»ΠΈ фокус Π²Π²ΠΎΠ΄Π°). ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° фокуса ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ элСмСнту осущСствляСтся Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΊΠΈ Π½Π° Π΅Π³ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. Π”Ρ€ΡƒΠ³ΠΎΠΉ способ — с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Он ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Ρ‚ΠΎΠΌ Ρ„Π°ΠΊΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² Π»ΡŽΠ±ΠΎΠΌ ΠΎΠΊΠ½Π΅ имССтся строго упорядочСнный список всСх Π΅Π³ΠΎ элСмСнтов. (Π£ΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡Π΅Π½Π½ΠΎΡΡ‚ΡŒ списка опрСдСляСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ). НаТатиС клавиши Tab Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ фокуса ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΌΡƒ элСмСнту управлСния ΠΎΠΊΠ½Π°, Π° Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш Shift+Tab — ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ.

ΠšΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Командная ΠΊΠ½ΠΎΠΏΠΊΠ° (рис. 1.4) — это Ρ‚Π°ΠΊΠΎΠΉ элСмСнт ΠΎΠΊΠ½Π°, «Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅» Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ дСйствиС. «ΠΠ°ΠΆΠ°Ρ‚ΠΈΠ΅» Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ осущСствляСтся Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ Π½Π° Π½Π΅Π΅ указатСля ΠΌΡ‹ΡˆΠΊΠΈ ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π»ΠΈΠ±ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ «Π³ΠΎΡ€ΡΡ‡Π΅ΠΉ» клавиши (Ρ‚.Π΅. ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ клавиши Alt ΠΈ ΠΊΠ»Π°Π²ΠΈΡˆΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΠΎΠΉ Π±ΡƒΠΊΠ²Π΅ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ), Π»ΠΈΠ±ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ клавиши ΠΏΡ€ΠΎΠ±Π΅Π»Π°, Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ фокус (Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ±Π²Π΅Π΄Π΅Π½ΠΎ ΡˆΡ‚Ρ€ΠΈΡ…ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ — Π½Π° Ρ€ΠΈΡ. 1.4 это ΠΊΠ½ΠΎΠΏΠΊΠ° «Π”Π°»).

Рис. 1.4 Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ.

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ (рис. 1.5) — элСмСнт ΠΎΠΊΠ½Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности прилоТСния. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° состояния: Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря, Ρƒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Сля имССтся ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅, «Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅» состояниС, Π½ΠΎ ΠΎΠ½ΠΎ для нас интСрСса Π½Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚авляСт. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΌ со ΡΡ‚ΠΎΡ€ΠΎΠ½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ осущСствляСтся Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, сколько ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ располоТСно Π² ΠΎΠΊΠ½Π΅, сгруппированы ΠΎΠ½ΠΈ ΠΈΠ»ΠΈ Π½Π΅Ρ‚, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСзависимо ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ….

Рис. 1.5 Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΎΠΊΠ½Π° с ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Слями

Π Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ.

Π Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠ° (рис. 1.6) ΠΊΠ°ΠΊ элСмСнт управлСния ΠΎΠΊΠ½Π° Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€ΠΎΠ΄Π΅ Π±Π»ΠΈΠ·ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŽ. Π­Ρ‚ΠΎΡ‚ элСмСнт Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ всСго Π΄Π²Π° состояния: Π²ΠΊΠ»ΡŽΡ‡Π΅Π½/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ. ΠŸΡ€ΠΈ этом Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π°Π²Ρ‚оматичСскому Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ всСх Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ этой Π³Ρ€ΡƒΠΏΠΏΡ‹. Π˜Π½Π°Ρ‡Π΅ говоря, всС Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ взаимозависимы. Π’Π°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π’сС» Π½Π° Ρ€ΠΈΡ. 1.6 автоматичСски Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹». Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ осущСствляСтся Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡΠΌΠΈ, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° фокуса ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΉ осущСствляСтся Π½Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΠ΅ΠΉ Tab, Π° ΠΊΠ»Π°Π²ΠΈΡˆΠ°ΠΌΠΈ-стрСлками.

Рис. 1.6 Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΎΠΊΠ½Π° с Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΎΠΊ

ΠžΠ΄Π½ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹ΠΉ элСмСнты Π²Π²ΠΎΠ΄Π°

ΠžΠ΄Π½ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹ΠΉ элСмСнт Π²Π²ΠΎΠ΄Π° (см. Π ΠΈΡ. 6.1, справа ΠΎΡ‚ Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ «Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹») — это графичСский Π°Π½Π°Π»ΠΎΠ³ GET-элСмСнта Π² Clipper’e. НазначСниС Π΅Π³ΠΎ Ρ‚ΠΎ ΠΆΠ΅ — Π²Π²ΠΎΠ΄ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° однострочных Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹ΠΉ элСмСнт Π²Π²ΠΎΠ΄Π° (рис. 1.7) ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ слоТных тСкстовых Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ΅ΠΌΠΎ-ΠΏΠΎΠ»Π΅ΠΉ), содСрТащих символы «Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ». Π’ Clipper’Π΅, ΠΊΠ°ΠΊ ΠΈΠ·Π²Π΅Ρ‚Π½ΠΎ, для этих Ρ†Π΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция MemoEdit ().

Рис. 1.7 Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΎΠΊΠ½Π° с ΠΌΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹ΠΌ элСмСнтом Π²Π²ΠΎΠ΄Π°

Π‘Π»ΠΎΠΊΠΈ списка

Π‘Π»ΠΎΠΊ списка — Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ элСмСнт управлСния ΠΎΠΊΠ½Π°. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ (ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ) ΠΈΠ· ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ³ΠΎ пСрСчня, Π½Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Π΄ΠΎ 8000 элСмСнтов, ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ нСсколько Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΅ΠΌΡƒ строк. Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ простыС ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ списков.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π±Π»ΠΎΠΊ (рис. 1.8) прСдставляСт собой ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ отобраТаСтся нСсколько строк-Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Если вСсь ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π½Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ся Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… этого ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, справа ΠΎΠ½ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π»ΠΈΡ„Ρ‚ΠΎΠΌ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΡƒ всСго пСрСчня. Π‘Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ Π»ΠΈΡ„Ρ‚ΠΎΠΌ Π² ΡΠ»ΡƒΡ‡Π°ΡΡ…, ΠΊΠΎΠ³Π΄Π° строки Π½Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ся Π² Π½Π΅ΠΌ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ. ΠŸΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΈΠ»ΠΈ клавишами-стрСлками, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ подсвСчиваСт Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ строку. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π±Π»ΠΎΠΊΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Π²Ρ‹Π±ΠΎΡ€ сразу Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтов. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ осущСствляСтся ΠΌΡ‹ΡˆΠΊΠΎΠΉ (Π»ΠΈΠ±ΠΎ нСпосрСдствСнно, Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΡƒΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠΈ Π² Π½Π°ΠΆΠ°Ρ‚ΠΎΠΌ состоянии клавиши Shift ΠΈΠ»ΠΈ Ctrl — Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΡΠ²ΠΎΠΉΡΡ‚Π² Π±Π»ΠΎΠΊΠ°).

Π’ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π±Π»ΠΎΠΊΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… списков. Π’Π°ΠΊΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π±Ρ‹Π²Π°ΡŽΡ‚ Π² Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ состоянии, отобраТая лишь Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ (рис. 1.9Π°). Π’Π΅ΠΌ самым экономится рабочая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΎΠΊΠ½Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… элСмСнтов. РаскрытиС Π±Π»ΠΎΠΊΠ° осущСствляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹Π±ΠΎΡ€Π° Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΊΠΈ Π½Π° ΡΡ‚Ρ€Π΅Π»ΠΊΠ΅, послС Ρ‡Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с Π½ΠΈΠΌ производится Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС, Ρ‡Ρ‚ΠΎ ΠΈ Ρ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ Π±Π»ΠΎΠΊΠΎΠΌ. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ фокуса ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ элСмСнту ΠΎΠΊΠ½Π° Π±Π»ΠΎΠΊ автоматичСски закрываСтся.

Рис. 1.8 Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΎΠΊΠ½Π° с ΠΏΡ€ΠΎΡΡ‚Ρ‹ΠΌ Π±Π»ΠΎΠΊΠΎΠΌ списка

Π°) Π±)

Рис. 1.9 Π‘Π»ΠΎΠΊ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка Π² Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ (Π°) ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ (Π±) состоянии

ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ списка.

ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ списка ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π±Π»ΠΎΠΊ списка с ΠΎΠ΄Π½ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹ΠΌ ΠΏΠΎΠ»Π΅ΠΌ Π²Π²ΠΎΠ΄Π°. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π»ΠΈΠ±ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Π΅ΠΌΡƒ строку ΠΈΠ· ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ³ΠΎ пСрСчня, Π»ΠΈΠ±ΠΎ попросту Π²Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π΅ Ρ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π²Π°ΡŽΡ‚ простыми (рис. 1.10Π°) ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈ (рис. 1.10Π±).

Π°) Π±)

Рис. 1.10 Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΎΠΊΠΎΠ½ с ΠΏΡ€ΠΎΡΡ‚Ρ‹ΠΌ (Π°) ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ (Π±) ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ

Поля тСкста.

ПолС тСкста — ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ элСмСнт управлСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для размСщСния Π² ΠΎΠΊΠ½Π΅ ΠΏΠΎΡΡΠ½ΡΡŽΡ‰Π΅Π³ΠΎ тСкста. Π­Ρ‚ΠΎΡ‚ элСмСнт относится ΠΊ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ пассивных — ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ фокус Π²Π²ΠΎΠ΄Π°.

ПанСли Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ

ПанСли Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ скроллинга Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области ΠΎΠΊΠ½Π° Π² ΡΠ»ΡƒΡ‡Π°ΡΡ…, ΠΊΠΎΠ³Π΄Π° эта ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Π΅Π³ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹. ПанСль Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ располагаСтся Ρƒ ΠΏΡ€Π°Π²ΠΎΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΎΠΊΠ½Π°, панСль Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ — Ρƒ Π½ΠΈΠΆΠ½Π΅ΠΉ. На Ρ€ΠΈΡ. 1.11 прСдставлСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ°Π½Π΅Π»ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ панСлями осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡ‹ΡˆΠΊΠΈ трСмя способами. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ состоит Π² «Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ» ΠΌΡ‹ΡˆΠΊΠΎΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ скроллинга, Π²Ρ‚ΠΎΡ€ΠΎΠΉ — Π² «Π±ΡƒΠΊΡΠΈΡ€ΠΎΠ²ΠΊΠ΅» ΠΌΡ‹ΡˆΠΊΠΎΠΉ Π»ΠΈΡ„Ρ‚Π° Π² Π½ΡƒΠΆΠ½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. Π’Ρ€Π΅Ρ‚ΠΈΠΉ способ рСализуСтся Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΊΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ области нСпосрСдствСнно Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.

Рис. 1.11 ПанСль Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Ρ‚ΠΈΠΏΠ° «Π³Ρ€ΡƒΠΏΠΏΠ°».

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ «Π³Ρ€ΡƒΠΏΠΏΠ°» Π² CA-Visual Objects ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ разновидности: простая Π³Ρ€ΡƒΠΏΠΏΠ° ΠΈ Π³Ρ€ΡƒΠΏΠΏΠ° Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠŸΡ€ΠΎΡΡ‚Π°Ρ Π³Ρ€ΡƒΠΏΠΏΠ° ΠΈΠΌΠ΅Π΅Ρ‚ чисто эстСтичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, позволяя ΠΎΡ‡Π΅Ρ€Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°ΠΌΠΊΠΎΠΉ Π»ΡŽΠ±Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ элСмСнты ΠΎΠΊΠ½Π°. Π“Ρ€ΡƒΠΏΠΏΠ° Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΎΠΊ — Ρ€Π°ΠΌΠΊΠ°, ΠΎΡ‡Π΅Ρ€Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ взаимосвязанныС Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ. Чисто внСшнС ΠΎΠ±Π΅ разновидности Π³Ρ€ΡƒΠΏΠΏ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° (рис. 1.12). Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π΅ΡΡ‚ΡŒ. ΠŸΡ€ΠΎΡΡ‚Π°Ρ Π³Ρ€ΡƒΠΏΠΏΠ° — пассивный ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΎΠΊΠ½Π° (Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ), Π² Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΊΠ°ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ° Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΎΠΊ — Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Рис. 1.12. Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΎΠΊΠ½Π° с Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ

Иконки (ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹)

Иконка — это нСбольшоС ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (32×32 Ρ‚ΠΎΡ‡ΠΊΠΈ), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΎ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области ΠΎΠΊΠ½Π° Π² ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… цСлях. Иконка — пассивный элСмСнт ΠΎΠΊΠ½Π°, Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΉ фокуса Π²Π²ΠΎΠ΄Π°.

Рис. 1.13. Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΎΠΊΠ½Π° с ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ.

1.1.3 Π”Ρ€ΡƒΠ³ΠΈΠ΅ особСнности интСрфСйса

Наряду с ΠΎΠΊΠ½Π°ΠΌΠΈ ΠΈ ΠΈΡ… ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ управлСния, стандарт интСрфСйса GUI ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². Π’ΠΎΡ‚ лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…:

БСзусловная ΠΈ ΠΏΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΡ‹ΡˆΠΊΠΈ.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΎΡ‚ΠΊΠ°Π· ΠΎΡ‚ ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹Ρ… мСню, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹Π±ΠΎΡ€ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² Π»ΡŽΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π°, прСдоставляСмого ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ происходит Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

Полная «ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ» всСх элСмСнтов интСрфСйса для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΈΡ… Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠŸΡ€ΠΈ малСйшСм Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ контСкстно-Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ справку Ρ‡Π΅Ρ€Π΅Π· извСстный Π΅ΠΌΡƒ стандартный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠΌΠΎΡ‰ΠΈ.

Как Π²ΠΈΠ΄Π½ΠΎ, интСрфСйс с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Windows, сущСствСнно Π±ΠΎΠ»Π΅Π΅ Π±ΠΎΠ³Π°Ρ‚ ΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ Π² ΡΡ€Π°Π²Π½Π΅Π½ΠΈΠΈ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ мСсто Π² DOS. Ясно, Ρ‡Ρ‚ΠΎ нСпосрСдствСнноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ интСрфСйса — Π·Π°Π΄Π°Ρ‡Π° вСсьма ΠΈ Π²Π΅ΡΡŒΠΌΠ° слоТная. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, CA-Visual Objects ΠΈΠΌΠ΅Π΅Ρ‚ достаточный Π½Π°Π±ΠΎΡ€ срСдств, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅, максимально ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ интСрфСйса. Π’ Ρ‡Π°ΡΡ‚ности, всС описанныС Π²Ρ‹ΡˆΠ΅ ΠΎΠΊΠ½Π°, ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ встроСнными срСдствами Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования (ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ мСню), Ρ‚Π°ΠΊ ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹ΠΌΠΈ срСдствами языка программирования.

1.2 DOS ΠΈ Windows: Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ

ГрафичСский интСрфСйс — Π½Π΅ ΡΠ°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Windows, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ c DOS. Π“ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Windows — ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ·Π°Π΄Π°Ρ‡Π½Π°Ρ опСрационная срСда, призванная ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π­Ρ‚ΠΎ ваТнСйшСС свойство Windows обусловливаСт Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊΠ°ΠΊ нСпосрСдствСнно ΠΊ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ, Ρ‚Π°ΠΊ ΠΈ ΠΊ ΡΠΈΡΡ‚Π΅ΠΌΠ°ΠΌ ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. И ΠΏΠ΅Ρ€Π²ΠΎΠ΅ срСди Ρ‚Π°ΠΊΠΈΡ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ — ΠΎΡ‚ΠΊΠ°Π· ΠΎΡ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ программирования.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, написанных ΠΏΠΎΠ΄ DOS, ΠΈΠΌΠ΅ΡŽΡ‚ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ структуру. На ΡΠ°ΠΌΠΎΠΌ Π²Π΅Ρ€Ρ…Ρƒ этой структуры находится нСкая головная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΠ»ΠΈ функция. Она ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π½Π° ΡΠΊΡ€Π°Π½Π΅ мСню ΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня ΠΈΠ»ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ Ρ„ункциях Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ для Π²Ρ‹Π±ΠΎΡ€Π° Π½ΠΎΠ²Ρ‹Π΅ мСню, Π² ΡΠΎΠΎΡ‚вСтствии с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ «ΡΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ» Π½Π° ΠΎΠ΄ΠΈΠ½ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π½ΠΈΠΆΠ΅, Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ конкрСтизируя ΠΈ Π΄Π΅Ρ‚ализируя Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ процСсс, ΠΈ Ρ‚. Π΄. На Π»ΡŽΠ±ΠΎΠΌ ΠΈΠ· ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒΡΡ ΠΎΠΊΠ½Π° для просмотра, Π²Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Π’ΠΎ Π²ΡΠ΅Ρ… случаях, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ процСсс (Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· ΠΌΠ΅Π½ΡŽ, Π²Π²ΠΎΠ΄/ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚. Π΄.), ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ оТидания.

Π’ Clipper’Π΅ основныС срСдства Π΄ΠΈΠ°Π»ΠΎΠ³Π° с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΈ Ρ„ункциями, ΠΊΠ°ΠΊ MENU TO, ACHOICE (), READ. Для всСх Π½ΠΈΡ… ΠΎΠ±Ρ‰ΠΈΠΌ являСтся ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‚. Π΅. Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° своими срСдствами Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π»ΡŽΠ±ΡƒΡŽ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π½Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ процСсс Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ Π·Π°Ρ€Π°Π½Π΅Π΅ обусловлСнного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ дСйствия (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°ΠΆΠΌΠ΅Ρ‚ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Esс). ΠœΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ² Π² DOS ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ возмоТности ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ процСссом. НапримСр, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π½Π° Π²Ρ€Π΅ΠΌΡ Π²Π²ΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· ΠΌΠ΅Π½ΡŽ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π²Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

Π˜Π½Ρ‹ΠΌΠΈ словами, Π² DOS ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² Π±ΠΎΠ»ΡŒΡˆΠ΅ΠΉ стСпСни Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π½Π΅ΠΆΠ΅Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ — ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΊΠ°ΠΊ Π±Ρ‹ Π²Π΅Π΄Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π·Π° Ρ€ΡƒΠΊΡƒ ΠΏΠΎ ΡΠ²ΠΎΠΈΠΌ «Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚Π°ΠΌ», прСдоставляя Π΅ΠΌΡƒ вСсьма ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ спСктр возмоТностСй ΠΏΠΎ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠΌ дСйствиям Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ «ΠΏΠ΅Ρ€Π΅ΠΊΡ€Π΅ΡΡ‚ΠΊΠ΅». Π’ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰Π΅ΠΌ ΠΏΠ»Π°Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Π² DOS ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° управляСт событиями, Π° Π½Π΅ ΡΠΎΠ±Ρ‹Ρ‚ия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΠ°Ρ структура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Π°Ρ Π² Π½ΠΈΡ… схСма взаимосвязи ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π²ΠΏΠΎΠ»Π½Π΅ удовлСтворяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² DOS, Π½ΠΎ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π½Π° ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Windows. Один ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Windows состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ всСгда Π±Ρ‹Ρ‚ΡŒ хозяином полоТСния ΠΈ Π² Π»ΡŽΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ самый ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ процСссом. НапримСр, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Π° Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ заполнСния ΠΏΠΎΠ»Π΅ΠΉ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅/ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π½Π° Π²Ρ€Π΅ΠΌΡ процСсс Π²Π²ΠΎΠ΄Π°/ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π»ΡŽΠ±ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ возмоТности ΠΈΠ· Ρ‡ΠΈΡΠ»Π° Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ! Π’Π΅Π΄ΡŒ Windows, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ DOS, — многозадачная опСрационная срСда.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ сами ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… дСйствий ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля ΠΈ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΈΡ… ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ, Ρ‚. Π΅. Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этой Π·Π°Π΄Π°Ρ‡ΠΈ Π±Π΅Ρ€Π΅Ρ‚ Π½Π° ΡΠ΅Π±Ρ срСда Windows, которая прСдоставляСт Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° «ΡΠ΅Ρ€Π²ΠΈΡ» Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ для всСх ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

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

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

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° своСго запуска ΠΈ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ: ΠΎΠ½Π° пСриодичСски активизируСтся сигналом ΠΎΡ‚ Windows, Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события ΠΈ ΡΠ½ΠΎΠ²Π° «Π·Π°ΡΡ‹ΠΏΠ°Π΅Ρ‚» .

Новая схСма функционирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ Π΅Π΅ ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»Π΅ΠΉ ярко Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ событий Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ строго ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½ ΠΎΡ‚ Π»ΡŽΠ±ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ†Π΅Π»ΠΎΠΌ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ событий ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ отсутствиС Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… эффСктов.

ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΉ схСмС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° появляСтся довольно нСприятный ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΉ эффСкт: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΊΠ°ΠΊ Π±Ρ‹ ΡƒΡ‚Ρ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ свою Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ссли Π² DOS ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° являСтся стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ всСгда ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈΠ»ΠΈ Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Ρ‚ΠΎ Π² Windows Ρ‚Π°ΠΊΠΎΠΉ стСк Π² ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв оказываСтся практичСски Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌ, ΠΈΠ±ΠΎ Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Π² ΡΠ΅Π±Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

1.2.1 ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

Π”Ρ€ΡƒΠ³ΠΎΠΉ аспСкт, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ вСсьма Π²Π°ΠΆΠ½Ρ‹ΠΌ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΎΡ‚ DOS ΠΊ Windows, состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½ΠΎΠ²Ρ‹Ρ… условиях приходится с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ возмоТности мноТСствСнного ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ доступа ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ Π΄Π°ΠΆΠ΅ Π² Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π΄ΡƒΠΌΠ°Π½Π° ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ.

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π² ΡΡ€Π΅Π΄Π΅ DOS слоТилась вСсьма чСткая классификация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅. ΠžΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° рассчитана Π½Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ монопольном Ρ€Π΅ΠΆΠΈΠΌΠ΅ доступа. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ для локальной сСти ΠΈ ΠΎΠ±ΡΠ·Π°Π½Π° ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ доступа ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ со ΡΡ‚ΠΎΡ€ΠΎΠ½Ρ‹ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. ЕстСствСнно, Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅, особСнно для случаСв слоТных Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. Π’Ρ‹Π±Ρ€Π°Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для своСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ с ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°Ρ‡Π°Π»Π° руководствуСтся двумя сообраТСниями:

«DOS Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΌΠΎΠ½ΠΎΠ·Π°Π΄Π°Ρ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ никакая другая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠ΅ΠΉ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ возмоТности ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ»;

«Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΌΠΎΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ мною ΠΆΠ΅ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ся, поэтому я Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠ³Ρƒ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π΅ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ» Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π΄Π²Π°ΠΆΠ΄Ρ‹» .

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

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡΠΌ. Оба ΠΎΠΊΠ½Π° ΠΈ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π΅Π΅Π½Ρ‚Π΅Ρ€Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (Ρ‚.Π΅. Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠΌΠΈ своС сущСствованиС Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… нСзависимых копиях). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½ΠΎΠ²ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΎΠΊΠ½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» открывался Π² Π½ΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ алиасом (псСвдонимом). И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΎΠΊΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ срСдства ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π΅ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΉ, ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½Ρ‹ΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Windows Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π½ΠΎΠ²Ρ‹Π΅ Ρ…Π»ΠΎΠΏΠΎΡ‚Ρ‹. Каким ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, способноС устойчиво Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΡΡ‚ΠΎΠ»ΡŒ слоТной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ срСдС? ΠžΡ‚Π²Π΅Ρ‚ Π½Π° ΡΡ‚ΠΎΡ‚ вопрос ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ: успСх ΠΆΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΏΡƒΡ‚ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (ООП). И ΡΠΈΡΡ‚Π΅ΠΌΠ° CA-Visual Objects Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ обСспСчиваСт Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅!

1.3 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² CA-Visual Objects

1.3.1 ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Бвязи Ρ‚ΠΈΠΏΠ° «Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅»

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рСализация ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ООП Π² CA-Visual Objects рассматриваСтся Π² Π³Π»Π°Π²Π΅ 3. БСйчас ΠΆΠ΅ ΠΌΡ‹ ΠΊΠΎΡΠ½Π΅ΠΌΡΡ этих вопросов лишь Π² Ρ‚ΠΎΠΉ ΠΌΠ΅Ρ€Π΅, Π² ΠΊΠ°ΠΊΠΎΠΉ это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для уяснСния структуры ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, создаваСмых с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CA-Visual Objects, ΠΈ ΠΈΡ… ΠΎΡΠ½ΠΎΠ²Π½Ρ‹Ρ… особСнностСй.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² CA-Visual Objects — это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², способных Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ посрСдством сигналов (сообщСний).

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ — Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ-ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ свойств. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ способСн ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ сигналы (сообщСния) ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π½ΠΈΡ… ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ собствСнныС сигналы (сообщСния).

ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΡ€Π΅Π±Ρ‹Π²Π°Π΅Ρ‚ Π² ΠΏΠ°ΡΡΠΈΠ²Π½ΠΎΠΌ состоянии, оТидая получСния ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ сообщСний.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ² сообщСниС X (см. Ρ€ΠΈΡ. 2.1), ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько своих свойств (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹, Ρ†Π²Π΅Ρ‚) ΠΈ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько сообщСний Y Π΄Π»Ρ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° опрСдСляСтся содСрТаниСм Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сообщСния X. ΠžΡ‚Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Π² Π½Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ΅ сообщСниС, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ снова ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΏΠ°ΡΡΠΈΠ²Π½ΠΎΠ΅ состояниС Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΈΠ·Π²Π½Π΅ Π½ΠΎΠ²Ρ‹ΠΉ сигнал.

Рис 1.14. БхСматичСскоС прСдставлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Ρ‰ΠΈΠ΅ «Ρ€ΠΎΠ΄ΠΎΠ²Ρ‹Π΅» характСристики (Ρ‚.Π΅. сходныС свойства ΠΈ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π½Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ сообщСния), ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² классы.

Π’ ΠžΠžΠŸ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ сообщСния принято Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ большиС Π³Ρ€ΡƒΠΏΠΏΡ‹:

простыС сообщСния — Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ свойству ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°;

слоТныС сообщСния — Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ нСсколько свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ/ΠΈΠ»ΠΈ ΠΏΠΎΠ±ΡƒΠΆΠ΄Π°ΡŽΡ‚ Π΅Π³ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои собствСнныС сообщСния.

Π’ CA-Visual Objects, ΠΊΠ°ΠΊ ΠΈ Π² Clipper’Π΅ вСрсий 5. Ρ…, Ρ„Π°ΠΊΡ‚ посылки сообщСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ обозначаСтся символом «: «(Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅). ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ сообщСния Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ свойства, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

cColor: = oBar: Color // Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Color ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° oBar

// ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ cColor

oBox: Width: = 10 // свойству Width ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° oBox

// ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 10

Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ сообщСния Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΈ ΡΠΈΠ½Ρ‚аксичСски Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ ΠΏΠ°Ρ€Ρ‹ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок — «() «:

oWindow: Repaint () // ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ oWindow Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ // Repaint ()

РСакция ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ слоТного сообщСния Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ явно ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

Для обСспСчСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ (адрСсного) взаимодСйствия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ посрСдством сообщСний Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° схСма ΠΈΡ… ΡΠ²ΡΠ·Π΅ΠΉ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ связи Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎΠΉ сСтСвой структуры, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ нСпосрСдствСнно ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ с Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ, — Π·Π°Π΄Π°Ρ‡Π° вСсьма ΠΈ Π²Π΅ΡΡŒΠΌΠ° слоТная. Для упрощСния процСсса программирования Π² CA-Visual Objects принята сущСствСнно Π±ΠΎΠ»Π΅Π΅ простая, Π½ΠΎ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя вСсьма гибкая иСрархичСская структура связСй.

Π‘ΡƒΡ‚ΡŒ иСрархичСской структуры связСй Π² CA-Visual Objects раскрываСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ: любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠΌΠ΅Π΅Ρ‚ своСго Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°. Π­Ρ‚Π° концСпция Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Π²Π°ΠΆΠ½Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ позволяСт вСсьма просто ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ систСму связСй ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½ΠΎ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ динамичСской цСлостности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΌΠ°. Рассмотрим Π΅Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ ΡΡ€Π΅Π΄Π΅ Windows.

Как ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ, Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Windows Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ прСдставляСтся Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠΊΠ½ΠΎΠΌ (ΠΈΠ»ΠΈ, ΠΈΠ½Π°Ρ‡Π΅, ΠΎΠΊΠ½ΠΎΠΌ-ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ), Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ сколь ΡƒΠ³ΠΎΠ΄Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΎΠΊΠΎΠ½. Π›ΡŽΠ±ΠΎΠ΅ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π΅ ΠΎΠΊΠ½ΠΎ содСрТит Π² ΡΠ΅Π±Π΅ Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ элСмСнты управлСния. Описанная Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° Π»Π΅Π³ΠΊΠΎ ΠΈ Π΅ΡΡ‚СствСнно укладываСтся Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ структуру (рис. 1.15):

Рис. 1.15. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΠ°Ρ структура связСй ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² CA-Visual Objects

Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ связи ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² CA-Visual Objects Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° владСния, Π² Π½Π°Π±ΠΎΡ€Π΅ свойств любого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° всСгда имССтся свойство с ΠΈΠΌΠ΅Π½Π΅ΠΌ Owner («Π²Π»Π°Π΄Π΅Π»Π΅Ρ†» — Π°Π½Π³Π»), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ содСрТится ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π²Π»Π°Π΄Π΅ΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. ΠŸΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ этой ссылкой, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ²ΡΠ·Π°Ρ‚ΡŒΡΡ с Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ, Π² Ρ‚ΠΎΠΌ числС ΠΈ Ρ Ρ€Π°Π²Π½Ρ‹ΠΌ сСбС ΠΏΠΎ Ρ€Π°Π½Π³Ρƒ (Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ случаС — транслируя своС сообщСниС Ρ‡Π΅Ρ€Π΅Π· своСго Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°).

Бвязи Ρ‚ΠΈΠΏΠ° «Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅» — становой Ρ…Ρ€Π΅Π±Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… срСдствами CA-Visual Objects. ИмСнно с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ этих связСй осущСствляСтся ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ сообщСний, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ подсказок ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΠΊΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок. Π­Ρ‚ΠΈ связи Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ€ΠΎΠ»ΡŒ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ Ρ‚ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ³Ρ€Π°ΡŽΡ‚ стСки Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ….

1.3.2 ГСнСрация ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий

Рассмотрим Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎ схСму Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий, ΠΏΡ€ΠΈΠ½ΡΡ‚ΡƒΡŽ Π² CA-Visual Objects.

Π›ΡŽΠ±Ρ‹Π΅ манипуляции ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ ΠΈΠ»ΠΈ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² CA-Visual Objects событиями. Π’Π°ΠΆΠ½Ρ‹ΠΌ Π² ΡΡ…Π΅ΠΌΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ пСрвичная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° любого события осущСствляСтся систСмой Windows. Она распознаСт событиС ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π½Π΅ΠΌ диспСтчСру событий систСмы Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ исполнСния CA-Visual Objects, которая автоматичСски ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ. ДиспСтчСр событий Π² ΡΠΎΠΎΡ‚вСтствии с ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΎΡ‚ Windows ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ опрСдСляСт ΠΎΠΊΠ½ΠΎ, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ событиС ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ, ΠΈ ΠΏΠΎΡΡ‹Π»Π°Π΅Ρ‚ ΠΎΠΊΠ½Ρƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ сообщСниС. Окно Π΄ΠΎΠ»ΠΆΠ½ΠΎ своими срСдствами Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ это сообщСниС ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ дСйствия.

Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° эта схСма интСрпрСтируСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: всС ΠΎΠΊΠΎΠ½Π½Ρ‹Π΅ классы ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ-ΠΏΠΎΠ»Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², способным ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ любого события. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ спСктр Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… событий достаточно ΡˆΠΈΡ€ΠΎΠΊ, для удобства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² CA-Visual Objects Π² Π½Π΅ΠΌ выдСляСтся особая Π³Ρ€ΡƒΠΏΠΏΠ° Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… событий. ΠšΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ события Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ситуациях:

ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈΠ· ΠΌΠ΅Π½ΡŽ ΠΊΠ°ΠΊΠΎΠ³ΠΎ Π»ΠΈΠ±ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° (нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, осущСствлСн Π²Ρ‹Π±ΠΎΡ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ ΠΌΡ‹ΡˆΠΊΠΈ);

ΠΏΡ€ΠΈ «Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡ‹ΡˆΠΊΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠΉ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ управлСния ΠΎΠΊΠ½Π°;

ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ клавиш-аксСлСраторов;

ΠΏΡ€ΠΈ «Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠΉ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области ΠΎΠΊΠ½Π°.

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

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ΡΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ события (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ назначаСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ²ΠΎΠΉΡΡ‚Π² всСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ, способным Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ события).

Π’Π½Π°Ρ‡Π°Π»Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ищСтся подкласс ΠΎΠΊΠΎΠ½, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ совпадаСт с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ события. Если Ρ‚Π°ΠΊΠΎΠΉ подкласс ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ, Ρ‚ΠΎ Π°Π²Ρ‚оматичСски создаСтся ΠΈ ΠΎΡ‚обраТаСтся Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄Π°Π½Π½ΠΎΠ³ΠΎ подкласса.

Если Ρ‚Π°ΠΊΠΎΠ³ΠΎ подкласса Π½Π΅Ρ‚, диспСтчСр пытаСтся Π½Π°ΠΉΡ‚ΠΈ подкласс ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ.

Если ΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ подкласса Π½Π΅Ρ‚, диспСтчСр приступаСт ΠΊ ΠΏΠΎΠΈΡΠΊΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° с Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ для ΠΎΠΊΠ½Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π΄Π°Π½Π½Ρ‹ΠΉ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ элСмСнт.

Если ΠΈ Π² ΡΡ‚ΠΎΠΌ случаС поиск оказываСтся Π±Π΅Π·ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌ, диспСтчСр опрСдСляСт ΠΎΠΊΠ½ΠΎ-Π²Π»Π°Π΄Π΅Π»Π΅Ρ† ΠΈ, Ссли ΠΎΠ½ΠΎ сущСствуСт, пытаСтся ΠΎΡ‚Ρ‹ΡΠΊΠ°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρƒ ΡΡ‚ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. И Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ — Π²Π²Π΅Ρ€Ρ… ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ владСния.

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

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

Поясним сказанноС Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Допустим, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΌ ΠΎΠΊΠ½Π΅ «Π Π°ΡΡ…одная накладная: ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°» прилоТСния «ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΡ SuperStocks: запасы ΠΈ Π²Π·Π°ΠΈΠΌΠΎΡ€Π°ΡΡ‡Π΅Ρ‚Ρ‹» (рис. 1.16). Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ присвоил подклассу Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΊΠΎΠ½ имя DocsOut. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ Π² Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΌ ΠΎΠΊΠ½Π΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΠΎΠΉ Π΅ΠΌΡƒ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ содСрТаниС ΠΊΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΡƒΡ‡Π΅Ρ‚Π° Ρ‚ΠΎΠ²Π°Ρ€Π½ΠΎ-ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… цСнностСй. Для этого ΠΎΠ½ Π² ΠΌΠ΅Π½ΡŽ «Π€Π°ΠΉΠ»Ρ‹» Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ «ΠšΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΠ°». ΠŸΡƒΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄Π°Π½Π½ΠΎΠ³ΠΎ прилоТСния связал этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΌ событиСм Cards. Π’ ΡΡ‚ΠΎΠΌ случаС диспСтчСр прилоТСния Π²Π½Π°Ρ‡Π°Π»Π΅ попытаСтся ΠΎΡ‚Ρ‹ΡΠΊΠ°Ρ‚ΡŒ Π² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ описаниС ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ подкласса с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Если Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ прСдусмотрСл подкласс Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΊΠΎΠ½, Ρ‚ΠΎ ΡΠΈΡΡ‚Π΅ΠΌΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ исполнСния автоматичСски создаСт экзСмпляр этого ΠΎΠΊΠ½Π°, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΎΠΊΠ½Π° «Π Π°ΡΡ…одная накладная: ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°"ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ (рис. 1.17). НовоС ΠΎΠΊΠ½ΠΎ с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «ΠšΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΠ°» ΠΈΠΌΠ΅Π΅Ρ‚ собствСнныС мСню ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅.

ВСрнСмся ΠΊ ΠΎΠΊΠ½Ρƒ, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠΌΡƒ Π½Π° Ρ€ΠΈΡ. 1.16, ΠΈ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. ΠŸΡƒΡΡ‚ΡŒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ вмСсто Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· ΠΌΠ΅Π½ΡŽ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° «Π½Π°ΠΆΠΌΠ΅Ρ‚» ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠžΡ‚ΠΊΠ°Π·» Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ этого ΠΎΠΊΠ½Π°. Допустим, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ связал эту ΠΊΠ½ΠΎΠΏΠΊΡƒ с ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΌ событиСм CancelButton, ΠΈ ΠΏΠΎ Π·Π°ΠΌΡ‹ΡΠ»Ρƒ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ этой ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΎΡ‚ΠΊΠ°Π·Ρƒ ΠΎΡ‚ Π²ΡΠ΅Ρ… сдСланных Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ ΠΎΠΊΠ½Π° «Π Π°ΡΡ…одная накладная: ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°». Для этого ΠΎΠ½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» ΠΌΠ΅Ρ‚ΠΎΠ΄ с ΠΈΠΌΠ΅Π½Π΅ΠΌ CancelButton () Π² ΠΊΠ»Π°ΡΡΠ΅ ΠΎΠΊΠΎΠ½ DocsOut. ПослС «Π½Π°ΠΆΠ°Ρ‚ия» клавиши «ΠžΡ‚ΠΊΠ°Π·» диспСтчСр ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ попытаСтся Π½Π°ΠΉΡ‚ΠΈ сначала подкласс ΠΎΠΊΠΎΠ½ с ΠΈΠΌΠ΅Π½Π΅ΠΌ CancelButton. ΠŸΠΎΡ‚Π΅Ρ€ΠΏΠ΅Π² Π½Π΅ΡƒΠ΄Π°Ρ‡Ρƒ, диспСтчСр попытаСтся Π΄Π°Π»Π΅Π΅ Π½Π°ΠΉΡ‚ΠΈ подкласс ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ. НС Π½Π°ΠΉΠ΄Ρ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° «CancelButton» , диспСтчСр приступит ΠΊ ΠΏΠΎΠΈΡΠΊΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° CancelButton () Π² ΠΊΠ»Π°ΡΡΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° (DocsOut). Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ΄Π°Ρ‡Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Π΄Π°Π½Π½ΠΎΠΌ классС ΠΌΠ΅Ρ‚ΠΎΠ΄ с Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ прСдусмотрСн Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ. ΠžΡ‚Ρ‹ΡΠΊΠ°Π² ΠΌΠ΅Ρ‚ΠΎΠ΄, диспСтчСр запустит Π΅Π³ΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

Рис. 1.16. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π° «Π Π°ΡΡ…одная накладная… «

Рис 1.17. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π° «ΠšΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΠ°»

1.3.3 Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ связСй Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…

Помимо связСй Ρ‚ΠΈΠΏΠ° «Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅» CA-Visual Objects ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΅Ρ‰Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΈΡ… Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΠΈ:

связь ΠΏΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡŽ;

рСляционная связь Ρ‚Π°Π±Π»ΠΈΡ† (Ρ„Π°ΠΉΠ»ΠΎΠ²) Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…;

связь ΠΎΠΊΠΎΠ½ с ΡΠ΅Ρ€Π²Π΅Ρ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (связь ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡŽ);

связь с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ прилоТСниями (связь «ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр»).

Бвязь ΠΏΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡŽ

НаслСдствСнныС связи Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ³Ρ€Π°ΡŽΡ‚ Π² CA-Visual Objects Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π½ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠΎΡ‰ΡŒ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования. ОсознанноС Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ наслСдствСнных связСй — ΠΊΠ»ΡŽΡ‡ ΠΊ ΡƒΡΠΏΠ΅Ρ…Ρƒ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ слоТных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΈ связи ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π³Π»Π°Π²Π΅ 3.

РСляционныС связи Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

РСляционныС связи Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π² CA-Visual Objects своС дальнСйшСС Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅. Как извСстно, Clipper Π² ΡΡ‚ΠΎΠΌ ΠΏΠ»Π°Π½Π΅ ограничиваСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ связи Ρ‚ΠΈΠΏΠ° «1: 1» («ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ»), прСдлагая Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ инструмСнта Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ DBSetRelation () (ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΆΠ΅, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ SET RELATION TO). Установка Ρ‚Π°ΠΊΠΎΠΉ связи ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ) ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ (Π²Π΅Π΄ΠΎΠΌΠΎΠΌΡƒ) ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ автоматичСскоС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ указатСля Π² Π²Π΅Π΄ΠΎΠΌΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΏΡ€ΠΈ Π»ΡŽΠ±Ρ‹Ρ… Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… опСрациях Π½Π° Π²Π΅Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ Π²Π΅Π΄ΠΎΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» упорядочСн Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌΡƒ полю (полям). Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Π²ΠΈΠ΄ рСляционной связи ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Π½Π° Ρ€ΠΈΡ. 1.18.

Рис. 1.18. Виповая схСма рСляцонной связи «1: 1»

Бвязь «1: 1» (ΠΊΠ°ΠΊ ΠΈ ΡΠ²ΡΠ·ΡŒ «Πœ: 1») являСтся Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈ Π½Π° Xbase-языках. Являясь основой для построСния слоТных рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ½Π° Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ лишь частичноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ: гарантируя автоматичСскоС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ указатСля ΠΊ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ строкС Π² Π²Π΅Π΄ΠΎΠΌΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅, ΠΎΠ½Π° Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ. Π’ Ρ‡Π°ΡΡ‚ности, для нашСго ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, эта связь Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡˆΠ°Π΅Ρ‚ пСрСвСсти ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅-классификаторС ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ΠΎΠ² явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, скаТСм, Π½Π° ΠΎΠ΄Π½Ρƒ строку Π²Π²Π΅Ρ€Ρ… ΠΈΠ»ΠΈ Π²Π½ΠΈΠ·. Π˜Π½Π°Ρ‡Π΅ говоря, ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π° Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ цСлостности Ρ‚Π°ΠΊΠΎΠΉ связки Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π»Π΅ΠΆΠΈΡ‚ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Π΅.

Учитывая это, Π² CA-Visual Objects Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° связСй, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ — связСй Ρ‚ΠΈΠΏΠ° «1: M» («ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ»). Π­Ρ‚Π° связь Π² CA-Visual Objects ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ сСлСктивной ΠΈΠ»ΠΈ связи «ΠΌΠ°ΡΡ‚Π΅Ρ€-Π΄Π΅Ρ‚Π°Π»ΠΈ». БСлСктивная связь поддСрТиваСтся Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ сСрвСров Π΄Π°Π½Π½Ρ‹Ρ… (Ρ‚.Π΅. Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²) стандартным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ SetSelectiveRelation (). Установка Π΄Π°Π½Π½ΠΎΠΉ связи ΠΎΡ‚ Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΊ Π²Π΅Π΄ΠΎΠΌΠΎΠΌΡƒ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ (ΠΏΡ€ΠΈ условии Π΅Π³ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ упорядочСнности) ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ всС записи, значСния ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»Π΅ΠΉ Π² Π²Π΅Π΄ΡƒΡ‰Π΅ΠΌ Ρ„Π°ΠΉΠ»Π΅. Π’Π΅Π΄ΠΎΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΊΠ°ΠΊ Π±Ρ‹ усСкаСтся Π΄ΠΎ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… записСй с Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡Π°, получая ΠΏΡ€ΠΈ этом Π½ΠΎΠ²Ρ‹Π΅ логичСскиС ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ Π½Π°Ρ‡Π°Π»Π° ΠΈ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π°. БоотвСтствСнно, Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ„Π°ΠΉΠ»Π° (GoTop) ΠΈ Π² Π΅Π³ΠΎ ΠΊΠΎΠ½Π΅Ρ† (GoBottom), Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. БСлСктивная связь ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Π½Π° Ρ€ΠΈΡ. 1.19:

Рис. 1.19. Виповая схСма рСляционной связи «1: M»

БСлСктивная связь Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’ Ρ‡Π°ΡΡ‚ности, послСдний ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вСсьма эффСктно прСдставлСн, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…:

Рис. 1.20. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСлСктивной связи Π² ΠΎΠΊΠ½Π΅ Π΄Π°Π½Π½Ρ‹Ρ… CA-Visual Objects

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ ΠΏΠΎΠΏΡƒΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого ΠΎΠΊΠ½Π° Π² CA-Visual Objects Π°Π²Ρ‚ΠΎΡ€Ρƒ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ всСго ΠΎΠ΄Π½Ρƒ строку ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π·Π°Π΄Π°ΡŽΡ‰ΡƒΡŽ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ срСдствами Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² систСмы!

Бвязь ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡŽ

Бвязь ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡŽ являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· «ΠΈΠ·ΡŽΠΌΠΈΠ½ΠΎΠΊ» CA-Visual Objects. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ эту связь Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΌΠΎΡ‰Π½Ρ‹Π΅ скрытыС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ систСмы. Данная связь ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π΄Π²ΡƒΡ… классов: ΠΎΠΊΠ½Π°ΠΌΠΈ ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΡƒΡ‚ΡŒ Π΅Π΅ Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠΊΠ½ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ сСрвСр Π΄Π°Π½Π½Ρ‹Ρ…, становится ΠΊΠ°ΠΊ Π±Ρ‹ Π΅Π³ΠΎ Π²ΠΈΡ‚Ρ€ΠΈΠ½ΠΎΠΉ, приобрСтая ΠΏΡ€ΠΈ этом Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽΡΡ Π² ΡΠ΅Ρ€Π²Π΅Ρ€Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½ΠΎ ΠΈ Ρ†Π΅Π»Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ стандартных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²), Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Ρ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для сСрвСра (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ Ρ„Π°ΠΉΠ»Ρƒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…).

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

Рис. 1.21 Π‘Ρ…Π΅ΠΌΠ° взаимодСйствия сСрвСра ΠΈ ΠΎΠΊΠ½Π° Π΄Π°Π½Π½Ρ‹Ρ…

Бвязь ΠΏΠΎ Π²Π»Π°Π΄Π΅Π½ΠΈΡŽ рСализуСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Use () ΠΎΠΊΠ½Π° Π΄Π°Π½Π½Ρ‹Ρ…. ИспользованиС этого ΠΌΠΎΡ‰Π½ΠΎΠ³ΠΎ ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ своСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ, связанных с Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ сСрвСр Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… oServer с полями Π΄Π°Π½Π½Ρ‹Ρ… Name ΠΈ Code ΠΈ ΠΎΠΊΠ½ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… oWnd с полями Π²Π²ΠΎΠ΄Π°, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π°. Π’ΠΎΠ³Π΄Π° сказанноС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:

Function Test ()

// «ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ°» сСрвСра ΠΊ ΠΎΠΊΠ½Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…

oWnd: Use (oServer)

? oWnd: Name // «Π˜Π²Π°Π½ΠΎΠ² Иван Π˜Π²Π°Π½ΠΎΠ²ΠΈΡ‡»

? oWnd: Code // 0034

// Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° Name Π½ΠΎΠ²ΠΎΠΉ строкой символов

// прямым присваиваниСм (Ρ‚ΠΎ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹)

oWnd: Name: = «Π˜Π²Π°Π½ΠΎΠ² Иван ΠŸΠ΅Ρ‚Ρ€ΠΎΠ²ΠΈΡ‡»

? oWnd: Name // «Π˜Π²Π°Π½ΠΎΠ² Иван ΠŸΠ΅Ρ‚Ρ€ΠΎΠ²ΠΈΡ‡»

// ПолС сСрвСра (Π° Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΈ ΠΏΠΎΠ»Π΅ Ρ„Π°ΠΉΠ»Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…)

// Ρ‚Π°ΠΊΠΆΠ΅ измСнилось:

? oServer: Name // «Π˜Π²Π°Π½ΠΎΠ² Иван ΠŸΠ΅Ρ‚Ρ€ΠΎΠ²ΠΈΡ‡»

// ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ записи:

oWnd: Skip (1)

? oWnd: Name // «ΠŸΠ΅Ρ‚Ρ€ΠΎΠ² Π‘Π΅Ρ€Π³Π΅ΠΉ Π”ΠΌΠΈΡ‚Ρ€ΠΈΠ΅Π²ΠΈΡ‡»

Return nil

Однако, ΠΌΠΎΡ‰ΡŒ связи ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡŽ этим Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ся. ΠœΠ΅Ρ‚ΠΎΠ΄ Use () позволяСт нСскольким ΠΎΠΊΠ½Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ сСрвСр ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π’Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° ситуации Π² ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ программирования Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ довольно часто: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ΄Π½ΠΎ ΠΎΠΊΠ½ΠΎ слуТит для отобраТСния Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, записанной Π² Ρ„Π°ΠΉΠ»Π΅, Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ — для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ/ΠΈΠ»ΠΈ добавлСния записСй Π² ΡΡ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» Π² Π±Π»Π°Π½ΠΊΠΎΠ²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅. Если ΠΎΠ±Π° ΠΎΠΊΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ сСрвСр Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ Π»ΡŽΠ±Ρ‹Π΅ измСнСния Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ автоматичСски ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ! Π‘Π΅Ρ€Π²Π΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ ΠΎΠΊΠ½Π° постоянно «ΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡ» Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, Π½Π΅ ΠΎΡΡ‚авляя Π±Π΅Π· внимания Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ происходящСго с Π½ΠΈΠΌΠΈ события!

Бвязь «ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр»

Windows ΠΊΠ°ΠΊ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ·Π°Π΄Π°Ρ‡Π½Π°Ρ срСда устанавливаСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ общСния Π΄Π²ΡƒΡ… ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ исполняСмых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для этого срСдства. Π­Ρ‚ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ извСстСн ΠΏΠΎΠ΄ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ DDE (Dynamic Data Exchange — ДинамичСский ОбмСн Π”Π°Π½Π½Ρ‹ΠΌΠΈ). Π‘ΡƒΡ‚ΡŒ этого ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, зарСгистрировав сСбя Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ сСрвСра, способно ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ запросы Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ прилоТСния, Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π²ΡˆΠ΅Π³ΠΎ сСбя Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. И Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса с ΡΡ‚ΠΈΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Π² CA-Visual Objects Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π±Ρ€ΠΎΡˆΡŽΡ€Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ ΠΏΡ€ΠΎΡΡ‚ΠΎ констатируСм, Ρ‡Ρ‚ΠΎ этот интСрфСйс Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Π΅ΡΡ‚ΡŒ, вСсьма просто Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½, ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Π΅Π³ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ использованиС послС освоСния основ программирования Π² CA-Visual Objects.

1.3.4 Как всС-Ρ‚Π°ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² CA-Visual Objects?

Π˜Ρ‚Π°ΠΊ, попытаСмся Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ сказанного, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠΈ управлСния Π² Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, написанной Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ CA-Visual Objects. Бтруктурная схСма Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ модуля Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставлСна Π½Π° Ρ€ΠΈΡ. 1.8 Как Π²ΠΈΠ΄Π½ΠΎ, ΠΎΠ½Π° довольно проста.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΉ дСлаСтся — это создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ShellWnd, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ классу Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΎΠΊΠΎΠ½ прилоТСния. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ²ΠΎΠΈΡ… свойств этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса мСню, свойства ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ описаны Π·Π°Ρ€Π°Π½Π΅Π΅ программистом с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. Допустим, Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅-мСню Π΅ΡΡ‚ΡŒ Π΄Π²Π° подмСню с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ «Π€Π°ΠΉΠ»» ΠΈ «ΠŸΠΎΠΌΠΎΡ‰ΡŒ», ΠΏΡ€ΠΈ этом подмСню «Π€Π°ΠΉΠ»» ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½Π° Π²Ρ‹Π±ΠΎΡ€ Ρ‚Ρ€ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°: «ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ» (с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ события File_Open), «Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ» (с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ события File_Close) ΠΈ «Π’Ρ‹Ρ…ΠΎΠ΄» (с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ события File_Exit).

Рис. 1.22 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ модуля ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π”Π°Π»Π΅Π΅ созданноС ΠΎΠΊΠ½ΠΎ отобраТаСтся Π½Π° ΡΠΊΡ€Π°Π½Π΅, послС Ρ‡Π΅Π³ΠΎ запускаСтся Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ диспСтчСр событий. Как ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ, Π·Π°Π΄Π°Ρ‡Π° диспСтчСра состоит Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ события (Ρ‚.Π΅. сигнала ΠΎΡ‚ Windows), Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ΅ Π΅Π³ΠΎ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

ПослС фактичСского выполнСния описанных Ρ‚Ρ€Π΅Ρ… Π±Π»ΠΎΠΊΠΎΠ² (кстати, прСдставляСмых всСго трСмя строками ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°) Π½Π° ΡΠΊΡ€Π°Π½Π΅ отобразится ΠΎΠΊΠ½ΠΎ с ΠΏΠ°Π½Π΅Π»ΡŒΡŽ мСню. ΠŸΡƒΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ ΠΈΠ· ΠΌΠ΅Π½ΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅Π³ΠΎΡΡ ΠΎΠΊΠ½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ ΠΌΡ‹ΡˆΠΊΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ «Π€Π°ΠΉΠ»-ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ». Windows Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΡΡ‚ΠΎ событиС ΠΏΠΎΡˆΠ»Π΅Ρ‚ диспСтчСру ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ сигнал. ДиспСтчСр распознаСт этот сигнал ΠΊΠ°ΠΊ событиС ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ Ρ€Π°Π½Π΅Π΅ описанный стандартный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ события ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ File_Open. Если Ρ‚Π°ΠΊΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½ (Π² Π²ΠΈΠ΄Π΅ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΎΠΊΠ½Π° ShellWnd с ΡΡ‚ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ), Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ запустится Π² Ρ€Π°Π±ΠΎΡ‚Ρƒ. ΠŸΡƒΡΡ‚ΡŒ ΠΏΠΎΠ΄ событиСм File_Open скрываСтся Π½ΠΎΠ²ΠΎΠ΅ (Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π΅) ΠΎΠΊΠ½ΠΎ. Π’ ΡΡ‚ΠΎΠΌ случаС ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ создано ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΊΡ€Π°Π½Π΅. Π­Ρ‚ΠΎ ΠΎΠΊΠ½ΠΎ становится Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ. Оно ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ²ΠΎΠΈΡ… свойств собствСнноС мСню ΠΈ Π²Π»Π°Π΄Π΅Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ числом элСмСнтов управлСния. ВсС эти элСмСнты ΠΎΠΊΠ½Π° — ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π½ΠΎΠ²Ρ‹Ρ… событий, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ.

Π­Ρ‚ΠΎΡ‚ цикличСский процСсс Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠΎΠ±Ρ‹Ρ‚ΠΈΠΉ Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ явно ΠΈΠ»ΠΈ нСявно ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° прилоТСния. ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с Π΅Π³ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ диспСтчСр событий, Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈ Π²ΡΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ†Π΅Π»ΠΎΠΌ.

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