Создание элементов управления на диалоговой форме

Страницы работы

Содержание работы

ЛЕКЦИЯ 3 (продолжение)

СОЗДАНИЕ  ЭЛЕМЕНТОВ  УПРАВЛЕНИЯ  НА  ДИАЛОГОВОЙ  ФОРМЕ

1. С помощью инструмента “Static Text” создадим на форме статическую надпись «Поле Ввода»

С помощью инструмента “Edit Box” создадим на форме поле для редактированного вода текста.

Вызовем окно свойств этого поля и в поле ID введем имя PVIEW_COMPUTER

Установим флажки свойств поля редактирования согласно рисунков:

Visible

Видимость поля на форме

Disable

Установка не активности поля на форме

Group

Tab stop

Поле может выбираться при нажатии клавиши табуляция

Help ID

Поле имеет идентификатор справочной системы

Align text

Вид выравнивания текста в поле

MultiLine

Поле имеет многострочный ввод

Number

Разрешается вводить только цифры

Horisontal scroll

Имеется линейка горизонтальной прокрутки

Vertical scroll

Имеется линейка вертикальной прокрутки

AutoHScroll

Появление горизонтальной линейки прокрутки при необходимости

AutoVAcroll

Появление вертикальной линейки прокрутки при необходимости

Passvord

Вместо вводимых символов показываются звездочки

No hide selection

При потере полем фокуса выделение в тексте не снимается

OEM convert

Вводимые символы из одного набора преобразуются в символы из другого набора

Want return

При нажатии клавиши Enter в многострочном окне система вставляет в вводимый текст символ возврата каретки

Border

Имеется ограничивающая рамка

Uppercase

Вводимые символы приводятся к верхнему регистру

Lowercase

Вводимые символы приводятся к нижнему регистру

Read-only

Текст в поле можно только просматривать, но не редактировать

Client edge

Static edge

Modal frame

Transparent

Фон текстового поля прозрачен

Accept files

Right aligned text

Right-to-left reading order

Left scroll bar

Вертикальная линейка прокрутки расположена слева

2. Для управления полем в тексте программы следует добавить программный код. Новый текстовый код (по отношению к уже созданному по лекции 3) помечен жирным шрифтом:

//описание нужных переменных

//определяем идентификатор самодельного сообщения в системе

//это не обязательно для управления текстовым полем, просо мы решили дополнительно

//продемонстрировать технологию создания собственного сообщения в системе

#define TEST_WM_001      102

//определяем текстовый буфер для приема данных из текстового поля

char       szListText[256];

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

// Сообщение от элементов диалогового окна

case WM_COMMAND:

switch (LOWORD (wParam))

{

//Работа с текстовым полем (сообщение соответствует идентификатору поля)

case PVIEW_COMPUTER:

//в верхнем слове wParam содержится код извещения, пришедшего от текстового поля

//все коды начинаются с EN_ их много, поэтому их перечень смотрите в MSDN

if (HIWORD(wParam) == EN_CHANGE ){

// Отправим полю сообщение, чтобы прислало имеющийся текст

// Все сообщения для текстового поля начинаются с EM_ и их очень много

//поэтому их перечень смотрите в MSDN

// Для однострочного поля можно использовать сообщение EM_GETLINE

SendMessage((HWND)lParam,EM_GETLINE,0,(LPARAM)szListText);

//выведем полученный текст в окно сообщений

MessageBox(hWnd, szListText, "Принят ТЕКСТ:", MB_OK );

//А теперь продемонстрируем как можно послать самим себе самодельное сообщение

// пример его обработки смотрите ниже

PostMessage (hWnd, WM_COMMAND, TEST_WM_001, 0);

                                                                                   }

break;

//Пример обработки самодельного сообщения

case TEST_WM_001:  MessageBox(hWnd, "Обработка самодельного сообщения", "САМОДЕЛЬНОЕ  СООБЩЕНИЕ", MB_OK );

break;

default:

return FALSE;

}

break;

COMBO BOX (Раскрывающийся список)

3. Создадим на форме поле с раскрывающимся списком:

Если содержимое списка – статические строки, их модно ввести здесь через точку с запятой.

Похожие материалы

Информация о работе