Назад | Начало урока | Вперед
Содержание

Глава 4 стр 35

Приложение в стиле Windows

Скачать программу можно здесь: (Скачать программу)
(Скачать исходники)

Это новый проект на С++. Программа отображает в виде матрицы изображение, сохраненное
как 24-разрядный рисунок в bmp-формате (есть такая опция в 'Paint').

Подсказка


В этой программе на форме расположены: поле EditBox для ввода имени файла, две кнопки "Выполнить" и "Выход". Далее на сером фоне элементы типа StaticText для вывода имени файла, размера файла, размера картинки, числа строк в картинке, количества символов в строке. (Можно ли на этот фон вывести так же и сам префикс файла из 54 байт?)

В первое поле EditBox вводим имя файла, после нажатия на кнопку "Выполнить" имя файла и другие данные должны появиться на сером поле формы.

Приступим к делу.

1. ВЫбираем New project
2. Выбираем имя приложения: Text_matrix

3. Выбираем тип приложения.

Application Type:

Dialog Based
Use MFC in static DLL

Usert Inteface Features:

System menu
About box
Dialog title (Заголовок) "Матрица текста"


Далее необходимо вспомнить:

1. Прием данных в переменную типа CString из EditBox
2. Вывод данных (строк и значений) в StaticText
3. Привязка функций к кнопкам.

Набросаем компоненты (элементы управления) на форму.

Static Text Caption Файл
Edit Box ID IDC_EDIT1
Static Text Caption Имя файла
Static Text Caption Размер файла
Static Text Caption Размер картинки
Static Text Caption Число строк
Static Text Caption Длина строки

Static Text Caption

ID IDC_STATIC_FILENAME
Static Text Caption
ID IDC_STATIC_SIZEFILE
Static Text Caption
ID IDC_STATIC_SIZECARD
Static Text Caption
ID IDC_STATIC_CHISLOSTR
Static Text Caption
ID IDC_STATIC_DLINASTR

Далее необходимо назначить переменные каждому элементу управления с которым связывается
какое-нибудь значение. Другими словами - переменные должны быть назначены всем
элементам управления, кроме надписей и командных кнопок.
(АВ:потому что в надписи и командные кнопки мы не будем вносить ни каких данных).

Создавая код приложения, программист взаимодействует с этими переменными. Значения,
которые пользователь вводит в элемент управления диалогового окна, помещается в эти
переменные и только затем используется в коде приложения. Аналогично, любое значение,
помещаемое кодом приложения в одну из этих переменных, обновляет и соответствующий
элемент управления диалогового окна, чтобы пользователь видел изменения.

Как же объявить все эти переменные и связать их с элементами управления?

  1. Выбрать элемент управления, с которым необходимо связать переменную.
  2. Щелкнуть правой кнопкой на нужном элементе управления, и в появившемся контекстном меню выбрать пункт Add Variable (Добавить переменную).
  3. Выбрать идентификатор (ID) одного из элементов управления, с которым необходимо связать переменную, например IDC_MSG. Идентификатор (ID) выбранного элемента управления должен быть уже выбран в поле со списком Control ID (Идентификатор элемента управления)
  4. Указать значение Value в поле Category (Категории)
  5. Указать тип данных для переменной в поле со списком Variable Type (Тип переменной)
  6. Ввести имя переменной в редактируемое поле Variable Name (Имя переменной)
  7. В редактируемое поле Comment (Комментарий), расположенное внизу диалогового окна, ввести комментарий, описывающий переменную и ее назначение. Щелкните на кнопке Finish чтобы добавить переменную.
  8. Повторить шаги 1-8 для всех остальных элементов управления, для которых нужно добавить переменные.

В наше приложение необходимо добавить следующие переменные:

IDC_EDIT1 strFileName value CString public
IDC_STATIC_FILENAME strFileName2 value CString public
IDC_STATIC_SIZEFILE strSizeFile value CString public
IDC_STATIC_SIZECARD strSizeCard value CString public
IDC_STATIC_CHISLOSTR strChisloStr value CString public
IDC_STATIC_DLINASTR strDlinaStr value CString public

Теперь в классе главного окна приложения появились переменные.
Откомпилируем и выполним.

Все хорошо, но все надписи в приложении - непонятная абракадабра!
Ну вот! Забылось как делать, чтобы в приложении были русские надписи на кнопках?
А то у меня крокозябра вместо русских букв.


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz