Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
WinAPI-ekz_shpory.docx
Скачиваний:
5
Добавлен:
25.09.2019
Размер:
185.19 Кб
Скачать

2. Окна редактирования

Редактор используется для ввода, редактирования текста и текстовых файлов + может использоваться выделение и работа с буфером.

А) Создание (парметры аналогично комбобоксу):

hwndEdit = CreateWindow("edit",NULL, WS_CHILD|WS_VISIBLE|WS_BORDER|ES_LEFT,

30, 30, 300, 30, hwnd, (HMENU) ID_EDIT, hInst, NULL);

Б) Стили:

ES_MULTILINE – многострочный редактор текста

ES_READONLY – орган управления только для чтения

ES_LOWERCASE (UPPER) – преобразование к строчным (заглавным) символам.

ES_AUTOV(H)SCROLL – автоматическая свертка по вертикали(горизонтали)

ES_CENTER/RIGHT/LEFT –выравнивание текста

ES_PASSWORS – отображение * (для пароля).

В) Коды извещения

Текстовый редактор посылает в родительское окно сообщение WM_COMMAND с параметром wParam, равным идентификатору редактора. Младшее слово параметра lParam содержит идентификатор окна, полученный от функции CreateWindow при создании редактора. Старшее слово параметра lParam содержит код извещения.

EN_CHANGE – изменилось содержимое текста в окне редактирования

EN_H(V)SCROLL – выполнена свертка текста по горизонтали (вертикали)

EN_KILLFOCUS (SETFOCUS)– потерян фокус ввода, получен фокус ввода.

Г) Сообщения (С помощью функции SendMessage) можно посылать различные сообщения редактору:

Пример: WORD nState; nState = (WORD) SendMessage(hEdit, EM_CANUNDO, 0, 0L);

EM_CANUNDO – проверка поддержки отмены последнего действия

3. Статический орган управления (статический текстовый объект)

Это окно, создаваемое на базе предопределенного класса "static". Строго говоря, статический орган управления нельзя использовать для управления работой приложения, так как он не воспринимает щелчки мыши и не способен обрабатывать сообщения от клавиатуры. Статический орган управления не посылает родительскому окну сообщение WM_COMMAND.

Когда курсор мыши перемещается над статическим органом управления, Windows посылает функции окна этого органа сообщение WM_NCHITTEST. В ответ на это сообщение статический орган возвращает Windows значение HTTRANSPARENT. В результате Windows посылает сообщение WM_NCHITTEST родительскому окну, лежащему под органом управления.

Используется для оформления внешнего вида диалоговых панелей или окон приложения, для отображения пиктограмм.

А) Создание

HWND hStatic = CreateWindow ("static", NULL, WS_CHILD|WS_VISIBLE| SS_BLACKFRAME, 20, 40, 100, 50, hWnd, (HMENU)-1, hInstance, NULL);

2 – текст внутри статического органа; 8 – идентификатор родительского окна

9 – так как статический орган управления не посылает сообщения родительскому окну, можно указать любое число – идентификатор статического органа

Б) Стили:

SS_BLACKFRAME, SS_GRAYFRAME и SS_WHITEFRAME – прямоугольные рамки, внутри не закрашены

SS_BLACKRECT, SS_GRAYRECT и SS_WHITERECT – закрашенные прямоугольники.

SS_LEFT, SS_RIGHT, SS_CENTER, SS_LEFTNOWORDWRAP, SS_SIMPLE – для текста.

4 – обрезает не поместившийся текст и заменяет ТАВ на пробелы

5 – то же, но без замены.

  1. Способы создания меню

Меню – важный элемент пользовательского интерфейса Windows. Существует несколько типов меню: 1) Меню приложения; 2) Временное меню; 3) Многоуровневое меню; 4) Плавающее меню.

Включение меню может быть произведено несколькими (тремя) методами:

  1. С помощью текстового редактора (простой способ)

  2. С помощью графического редактора

  3. Непосредственно в оперативной памяти

Рассмотрим наиболее часто используемые способы создания меню.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]