ЛЕКЦИЯ 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. Создадим на форме поле с раскрывающимся списком:
Если содержимое списка – статические строки, их модно ввести здесь через точку с запятой.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.