KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программирование » Александр Фролов - Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2

Александр Фролов - Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Александр Фролов, "Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2" бесплатно, без регистрации.
Перейти на страницу:

//

// String Table

//


STRINGTABLE DISCARDABLE

BEGIN

 ID_LEFT        "Rewind to beginnRewind to begin"

 ID_RIGHT       "Rewind to endnRewind to end"

 ID_PLAY        "PlaynPlay"

 ID_STOP        "StopnStop"

 ID_PAUSE       "PausenPause"

 ID_EJECT       "EjectnEject"

 ID_TYPE        "Type drivenType"

 ID_CD_DRV      "CD drivenCD"

 ID_BUTTON40010 "Wave/nWave File"

 ID_WAVE        "Wave filenWAWE"

 ID_UNDERLINE   "UnderlinenUnderline"

 ID_2_UNDERLINE "Double underlinenDouble underline"

 ID_SUPERSCRIPT "SuperscriptnSuperscript"

 ID_SUBSCRIPT   "SubscriptnSubscript"

END


STRINGTABLE DISCARDABLE

BEGIN

 ID_ADD "Add from edit-box item to comboboxnAdd item to list"

END


STRINGTABLE DISCARDABLE

BEGIN

 ID_TEXT_LEFT      "Left textnLeft"

 ID_ID_TEXT_CENTER "Center textnCenter"

 ID_TEXT_RIGHT     "Right textnRight"

 ID_TEXT_JUSTIFY   "Justify textnJustify"

 ID_FOTO           "FotonFoto"

 ID_PRINTER        "PrinternPrinter"

 ID_DISK           "DisknDisk"

END


STRINGTABLE DISCARDABLE

BEGIN

 IDW_EDIT  "EditnEdit"

 IDW_COMBO "Combo boxnCombo box"

END


#endif    // Russian resources

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


#ifndef APSTUDIO_INVOKED

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

// Generated from the TEXTINCLUDE 3 resource.

//


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

#endif    // not APSTUDIO_INVOKED

Изображения кнопок панелей управления располагаются в отдельных файлах player.bmp (рис. 3.14), style.bmp (рис. 3.15) и extended.bmp (рис. 3.13) в главном каталоге проекта. Файлы изображений панелей управления содержат только изображения кнопок. В них не представлены разделители и дополнительные органы управления.

В принципе, изображения панели управления можно редактировать в любом графическом редакторе, который работает с 16-цветными изображениями в формате BMP. Примером такого приложения является графический редактор Microsoft Paint, поставляемый вместе с операционными системами Windows 95 и Windows NT версии 4.0. Однако, лучше использовать редактор ресурсов среды Microsoft Visual C++, так как он не только разрешает редактировать существующие кнопки, но также позволяет добавлять новые кнопки вместе с соответствующими идентификаторами и строковыми ресурсами.

Рис. 3.13. Изображение кнопок панели управления Extended


Рис. 3.14. Изображение кнопок панели управления Player


Рис. 3.15. Изображение кнопок панели управления Style


Идентификаторы всех ресурсов приложения MultiBar и идентификаторы дополнительных органов управления панели Extended определены в файле resource.h. Этот файл автоматически создается редактором ресурсов Microsoft Visual C++.

Мы привели исходный текст файла resource.h в листинге 3.9.

Листинг 3.9. Файл resource.h

//{{NO_DEPENDENCIES}}

// Microsoft Developer Studio generated include file.

// Used by MultiBar.rc

//

#define IDW_EDIT          101

#define IDW_COMBO         102

#define IDR_PLAYER        103

#define IDR_STYLE         105

#define IDR_EXTENDED      107

#define IDR_MENU          109

#define ID_LEFT           40001

#define ID_RIGHT          40002

#define ID_PLAY           40003

#define ID_STOP           40004

#define ID_PAUSE          40005

#define ID_EJECT          40007

#define ID_TYPE           40008

#define ID_CD_DRV         40009

#define ID_WAVE           40011

#define ID_UNDERLINE      40012

#define ID_2_UNDERLINE    40013

#define ID_SUPERSCRIPT    40014

#define ID_SUBSCRIPT      40015

#define ID_TEXT_LEFT      40017

#define ID_ID_TEXT_CENTER 40018

#define ID_TEXT_RIGHT     40019

#define ID_TEXT_JUSTIFY   40020

#define ID_MARK_1         40021

#define ID_MARK_2         40022

#define ID_MARK_3         40023

#define ID_MARK_4         40024

#define ID_FOTO           40025

#define ID_PRINTER        40026

#define ID_DISK           40027

#define ID_Style          40029

#define ID_Extended       40030

#define ID_Buttons        40031

#define ID_Player         40031

#define ID_ADD            40032


// Next default values for new objects

//

#ifdef APSTUDIO_INVOKED

#ifndef APSTUDIO_READONLY_SYMBOLS

#define _APS_NEXT_RESOURCE_VALUE  110

#define _APS_NEXT_COMMAND_VALUE   40033

#define _APS_NEXT_CONTROL_VALUE   1000

#define _APS_NEXT_SYMED_VALUE     103

#endif

#endif

#endif

Панели управления приложения MultiBar

Постройте приложение MultiBar и запустите его. На экране появится главное окно приложения MultiBar, в котором отображаются сразу три панели управления – Extended, Player и Slyle. Панели управления Extended и Player присоединены к верхней и нижней границам окна, а панель управления Slyle отображается в отдельном мини-окне (рис. 3.16).

Рис. 3.16. Приложение MultiBar


Приложение MultiBar имеет меню View, состоящее из названий панелей управления Extended, Player и Slyle. Выбирая из меню View названия панелей управления, вы можете убрать их с экрана и опять отобразить (закрыть и открыть).

Панели управления, которые отображаются в мини-окнах, также можно закрыть, если нажать на переключатель  в верхнем правом углу окна. Чтобы снова открыть закрытую панель управления, используйте меню View.

Панель управления Player

Панель управления Player состоит из девяти кнопок, сгруппированных в четыре отдельные группы. Панель Player предназначена для управления музыкальным центром. Все кнопки имеют краткие подсказки.

При нажатии на кнопки панели управления Player на экране появляется сообщение, о том, что команда не поддерживается. Обратите внимание на кнопки Pause, Type, CD и WAVE.

Кнопка Pause работает как переключатель. Если вы на нее нажмете – она остается в нажатом положении до тех пор, пока вы не нажмете на нее еще один раз. Кнопки Type, CD и WAVE работают вместе как переключатель с зависимой фиксацией. Одновременно может быть нажата только одна из этих кнопок.

Панель управления Player можно присоединить к трем из четырех сторон главного окна приложения – к верхней, левой и нижней. К правой стороне окна панель Player не присоединяется (рис. 3.17). Вы также можете использовать для панели Player отдельное мини окно, форму которого можно изменять.

Рис. 3.17. Изменение формы панели управления Player


Панель управления Extended

Панель Extended демонстрирует использование в панелях управления toolbar дополнительных органов управления – поля редактирования и списка combo-box. Сразу после запуска приложения MultiBar в списке combo-box содержатся три строки – First, Second и Third. В поле редактирования можно ввести новые строки для этого списка. После того, как вы наберете строку, нажмите кнопку . Введенная строка появится в конце списка combo-box.

На рисунке 3.18 мы показали внешний вид панели управления Extended с открытым списком combo-box, после того как в нее добавлена строка Fifth.

Рис. 3.18. Новая строка в списке combo-box


Панель управления Extended можно присоединить к любой стороне главного окна приложения или разместить в отдельном мини-окне. Когда панель управления Extended отображается в мини-окне, ее форму можно изменять. Ширина панели Extended не может быть меньше, чем самый широкий орган управления.

Панель управления Slyle

Панель управления Slyle отображается исключительно в отдельном мини-окне. Вы не сможете пристыковать ее ни к одной из сторон главного окна приложения MultiBar. Кнопки панели управления Slyle отображаются в три ряда по четыре кнопки в каждом ряду. В отличие от панелей управления Extended и Player, форма панели управления Slyle не изменяется.

Два верхних ряда кнопок в панели управления MultiBar имеют краткие подсказки. Если указатель мыши задержится над ними на некоторое время, то около него появится маленькое окно tooltip с кратким описанием соответствующей кнопки. Кнопки из нижнего ряда подсказок не имеют.

Как устроено приложение MultiBar

В приложении MultiBar определены три класса CMultiBarApp, CMultiBarWindow и CExtendedBar. Классы CMultiBarApp и CMultiBarWindow представляют основные классы приложения, класс CExtendedBar представляет одну из панелей управления и будет рассмотрен ниже.

Главный класс приложения CMultiBarApp

Главный класс приложения CMultiBarApp наследуется от базового класса CWinApp. Объект MyMultiBarApp класса CMultiBarApp объявлен как глобальный и создается сразу после запуска приложения.

В класс CMultiBarApp входит только метод InitInstance. Он создает главное окно приложения, представленное классом CMultiBarWindow, наследованным от класса CFrameWnd.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*