Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Microsoft Visual C++ ΠΈ MFC. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для Windows 95 ΠΈ Windows NT. Π§Π°ΡΡ‚ΡŒ 2Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 24

Автор АлСксандр Π€Ρ€ΠΎΠ»ΠΎΠ²

 return CView::PreTranslateMessage(pMsg);

}

ПанСль управлСния

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

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

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· этого полоТСния, ΡΠΎΠ·Π΄Π°ΡŽΡ‚ нСсколько ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ управлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ. Вакая организация ΠΏΠ°Π½Π΅Π»Π΅ΠΉ управлСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ часто. Достаточно Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° любоС офисноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Microsoft – Microsoft Word ΠΈΠ»ΠΈ Microsoft Excel, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π½Π° срСду Microsoft Visual C++.

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния

Начиная с вСрсии 4.0 Microsoft Visual C++, панСль управлСния являСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ рСсурсом, Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΊΠ°ΠΊ мСню ΠΈΠ»ΠΈ шаблон Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ. Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ рСсурсов Microsoft Visual C++ позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ панСль управлСния ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ. Π’ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Π²Ρ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π²Ρ‹ сразу ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΈΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ClassWizard, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ. Π’ самом простом случаС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° добавлСния Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния Π·Π°ΠΉΠΌΠ΅Ρ‚ Ρƒ вас всСго нСсколько ΠΌΠΈΠ½ΡƒΡ‚.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ MFC AppWizard Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, созданный Ρ€Π°Π½Π΅Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Multi. Π’ ΠΎΠΊΠ½Π΅ Project Workspace ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ страницу ResourceView. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ рСсурсов Toolbar. Π’ Π½Π΅ΠΉ располагаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ рСсурс этого Ρ‚ΠΈΠΏΠ°, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ IDR_MAINFRAME. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ этот рСсурс Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ рСсурсов (рис. 3.7).

Рис. 3.7. Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ рСсурсов toolbar


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

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ рСсурсов позволяСт ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния. Для этого сдСлайтС Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΏΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΎΠΊΠ½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. На экранС появится диалоговая панСль Toolbar Button Properties (рис. 3.8).

Рис. 3.8. Диалоговая панСль Toolbar Button Properties


Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ½ΠΎΠΏΠΊΠΈ вводится Π² спискС ID. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² спискС ID отобраТаСтся ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ, Π²Ρ‹Π±Ρ€Π°Π² Π΅Π³ΠΎ ΠΈΠ· списка ΠΈΠ»ΠΈ ввСдя Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Если ΠΊΠ½ΠΎΠΏΠΊΠ΅, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π΅Ρ‰Π΅ Π½Π΅ присвоСн ΠΈ ΠΏΠΎΠ»Π΅ ID пустоС, Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ панСль Toolbar Button Properties, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ создан автоматичСски.

Π’ полях Width ΠΈ Height выводятся, соотвСтствСнно, ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈ высота ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния Π² пиксСлах. Π­Ρ‚ΠΈ Π΄Π²Π° значСния относятся ΠΊΠΎ всСм ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ ΠΏΠ°Π½Π΅Π»ΠΈ, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ΅, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ для рСдактирования Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚.

Π’ ΠΏΠΎΠ»Π΅ Prompt отобраТаСтся тСкстовая строка, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния. Π‘Ρ‚Ρ€ΠΎΠΊΠ° состоит ΠΈΠ· Π΄Π²ΡƒΡ… частСй, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… символом \n. ΠŸΠ΅Ρ€Π²Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ содСрТит описаниС ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π² ΠΏΠ°Π½Π΅Π»ΠΈ состояния ΠΊΠΎΠ³Π΄Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Π²Ρ‹Π±Ρ€Π°Π½Π° (ΠΈΠ»ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ строки мСню, Ссли Π² мСню Π΅ΡΡ‚ΡŒ строка с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ). Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ части строки находится ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ описаниС ΠΊΠ½ΠΎΠΏΠΊΠΈ. Оно отобраТаСтся Π² ΠΎΠΊΠ½Π΅ подсказки tooltips, Ссли Π²Ρ‹ помСститС ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ Π½Π°Π΄ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π΅Ρ‚Π΅.

КаТдая ΠΊΠ½ΠΎΠΏΠΊΠ° Π² ΠΏΠ°Π½Π΅Π»ΠΈ управлСния ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ свой собствСнный индСкс. Π­Ρ‚ΠΎΡ‚ индСкс соотвСтствуСт порядковому Π½ΠΎΠΌΠ΅Ρ€Ρƒ, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈΠ»ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π½Π° экранС.

Как хранится рСсурс, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ рСсурс, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ панСль управлСния Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ рСсурсов Microsoft Visual C++, выступаСт ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΠ² Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ панСль управлСния Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ внСшний Π²ΠΈΠ΄ ΠΊΠ½ΠΎΠΏΠΎΠΊ, Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΈ строки описания, Π½Π΅ открывая Π΄Ρ€ΡƒΠ³ΠΈΡ… рСсурсов ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

Если Π²Ρ‹ просмотритС исходный тСкст Ρ„Π°ΠΉΠ»Π° рСсурсов прилоТСния, Ρ‚ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ рСсурс ΠΏΠ°Π½Π΅Π»ΠΈ управлСния состоит ΠΈΠ· Π΄Π²ΡƒΡ…, Π° Ссли Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½Π΅Π΅, Ρ‚ΠΎ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… частСй.

ΠŸΠ΅Ρ€Π²Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ описываСт панСль управлСния:

//////////////////////////////////////////////////////////////

// ПанСль управлСния toolbar


IDR_MAINFRAME TOOLBAR DISCARDABLE  16, 15

BEGIN

 BUTTON ID_FILE_NEW

 BUTTON ID_FILE_OPEN

 BUTTON ID_FILE_SAVE

 SEPARATOR

 BUTTON ID_EDIT_CUT

 BUTTON ID_EDIT_COPY

 BUTTON ID_EDIT_PASTE

 SEPARATOR

 BUTTON ID_FILE_PRINT

 BUTTON ID_APP_ABOUT

 BUTTON ID_TOOL_EXIT

END

Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ эта панСль ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ IDR_MAINFRAME. ПослС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° слСдуСт ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово TOOLBAR, Π° Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌ использования рСсурса ΠΈ Π΄Π²Π° числа, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ.

Π—Π°Ρ‚Π΅ΠΌ Π² Π±Π»ΠΎΠΊΠ΅ BEGIN - END ΠΈΠ΄Π΅Ρ‚ описаниС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ. ПослС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова BUTTON, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ½ΠΎΠΏΠΊΡƒ слСдуСт Π΅Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. ΠœΠ΅ΠΆΠ΄Ρƒ описаниями ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова SEPARATOR.

Π’ нашСм малСньком ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° Ρ‚Π°ΠΊΠΈΡ… слова. Они ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ строкой SEPARATOR, ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΎ расстояниС. Π—Π° счСт увСличСния расстояния ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ достигаСтся эффСкт раздСлСния ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния Π½Π° Ρ‚Ρ€ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹. Π­Ρ‚ΠΎ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ восприятиС прилоТСния ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ части рСсурса ΠΏΠ°Π½Π΅Π»ΠΈ управлСния ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ сами изобраТСния ΠΊΠ½ΠΎΠΏΠΎΠΊ. Они Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π²Ρ‚ΠΎΡ€ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ рСсурса. ВсС ΠΊΠ½ΠΎΠΏΠΊΠΈ прСдставлСны ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ bitmap, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Ρ‡Ρ‚ΠΎ ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ рСсурс TOOLBAR:

//////////////////////////////////////////////////////////////

// Bitmap


IDR_MAINFRAME   BITMAP   MOVEABLE PURE   "res\\Toolbar.bmp"

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ нашСй ΠΏΠ°Π½Π΅Π»ΠΈ управлСния IDR_MAINFRAME хранится Π² Ρ„Π°ΠΉΠ»Π΅ Toolbar.bmp (рис. 3.9). Π€Π°ΠΉΠ» записан Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ RES основного ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ВсС ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния располоТСны ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ΄Π½Π° Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ располоТСны, соотвСтствуСт порядку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ описаны Π² рСсурсС TOOLBAR, ΠΈ порядку Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° экранС Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния.

Рис. 3.9. Π€Π°ΠΉΠ» Toolbar.bmp с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния


ΠœΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ изобраТСниями ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ, Π΄Π°ΠΆΠ΅ Ссли Π² описании рСсурса TOOLBAR ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ SEPARATOR.

Когда Π²Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚Π΅ рСсурс toolbar Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ рСсурсов, Ρ‚ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ввСсти ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΡƒΡŽ Π΅Π΅ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ строку. Π­Ρ‚ΠΈ строки ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ, Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ рСсурса toolbar. Π₯ранятся ΠΎΠ½ΠΈ Π² стоковых рСсурсах прилоТСния.

БоотвСтствиС строковых рСсурсов ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния достигаСтся Π·Π° счСт присвоСния ΠΈΠΌ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². Π’Π°ΠΊ, для нашСго ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π² Ρ„Π°ΠΉΠ»Π΅ рСсурсов ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ тСкстовыС рСсурсы (ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΈΠ· строковых рСсурсов прилоТСния):

STRINGTABLE DISCARDABLE

BEGIN

 ID_FILE_NEW   "Create a new document\nNew"

 ID_FILE_OPEN  "Open an existing document\nOpen"

 ID_FILE_SAVE  "Save the active document\nSave"

 ID_FILE_PRINT "Print the active document\nPrint"

 ID_EDIT_COPY  "Copy the selection and put it on the Clipboard\nCopy"

 ID_EDIT_CUT   "Cut the selection and put it on the  Clipboard\nCut"

 ID_EDIT_PASTE "Insert Clipboard contents\nPaste"

 ID_APP_ABOUT  "Display program information, version number and copyright\nAbout"

END

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

Новая ΠΊΠ½ΠΎΠΏΠΊΠ° Π² ΠΏΠ°Π½Π΅Π»ΠΈ управлСния

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΠ°Π½Π΅Π»ΠΈ управлСния Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ, пСрСмСститС ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΏΡ€Π°Π²ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² ΠΏΠ°Π½Π΅Π»ΠΈ управлСния, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΎΠΊΠ½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° рСсурсов, ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Π»Π΅Π²ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΌΡ‹ΡˆΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅.

ВмСстС с Microsoft Visual C++ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ нСсколько ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ управлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… прилоТСниях. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» рСсурсов Common.res, записанный Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚ дискС Microsoft Visual C++, ΠΈ просмотритС записанныС Π² Π½Π΅ΠΌ рСсурсы Ρ‚ΠΈΠΏΠ° toolbar. Если Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅ подходящиС Π²Π°ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, скопируйтС Π΅Π³ΠΎ Π² ΠΎΠ±ΠΌΠ΅Π½Π½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€ Windows clipboard ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ панСль управлСния. Для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ описания Ρ„Π°ΠΉΠ»Π° Common.res ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°Π·Π΄Π΅Π»Ρƒ β€œΠ Π΅ΡΡƒΡ€ΡΡ‹ Microsoft”.