Статические поля (класс static)
- Статическое дочернее окно управления - это окно, создаваемое на базе предопределенного класса ”static”.
Статические окна нельзя использовать для управления работой приложения: они не воспринимают щелчки мыши и не обрабатывают сообщения от клавиатуры, не посылает родительскому окну сообщение WM_COMMAND. Обычно этот орган управления используется для оформления внешнего вида диалоговых панелей или окон приложения.
- Все сообщения от мыши через “прозрачное” окно статического дочернего окна попадают в родительское окно.
Для создания статического дочернего окна необходимо использовать функцию CreateWindow. В качестве первого параметра следует указать класс окна “static”, например:
static UINT ID_static=2;
static HWND hWndStatic;
. . .
hWndStatic=CreateWindow("static",NULL,
WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS| SS_GRAYRECT,
x,y,width,height,
hWndParent,(HMENU)ID_static,hInst,NULL);
Рассмотрим стили статического дочернего окна
Первые шесть стилей – SS_BLACKRECT, SS_GRAYRECT, SS_WHITERECT и SS_BLACKFRAME, SS_GRAYFRAME, SS_WHITEFRAME – рисуют закрашенный определенным цветом прямоугольник или прямоугольную рамку, нарисованную линией определенного цвета без закрашивания внутренней области. Поле текста окна функции CreateWindow для этих стилей игнорируется.
- Вставки “BLACK”, “GRAY”, “WHITE” не означают, что цветами являются соответственно черный, серый и белый. Эти цвета основаны на системных цветах: “BLACK” – COLOR_3DDKSHADOW, “GRAY” – COLOR_BTNSHADOW, “WHITE” – COLOR_BTNHIGHLIGHT.
Для создания рамки с тенью, состоящей из серого и белого цветов можно дополнительно воспользоваться стилями SS_ETCHEDHORZ, SS_ETCHEDVERT, SS_ETCHEDFRAME.
|
|
Статический класс окон также включает в себя три стиля текста – SS_LEFT, SS_RIGHT и SS_CENTER. Они предназначены для выравнивания текста соответственно по левому краю, правому краю и центру. Текст задается в параметре текста окна функции CreateWindow, и позднее может быть изменен функцией SetWindowText.
- Фоном дочерних окон этих трех стилей обычно является COLOR_BTNFACE, а самого текста – COLOR_WINDOWTEXT.
Замечание. Кроме перечисленных стилей, статический класс содержит стили окна SS_ICON и SS_USERITEM. Однако статические окна таких стилей имеют смысл только при использовании их в окнах диалога.
Текстовые редакторы (класс edit)
- В Windows зарегистрирован класс окна с именем “edit”, на базе которого можно создать однострочный или многострочный текстовый редактор.
Для того чтобы после создания поместить в редактируемое поле текст, можно воспользоваться функцией SetWindowText. Для получения текста из окна редактирования используются функции GetWindowTextLength и GetWindowText.
- Управляющие окна редактирования хранят текст в области памяти программы (в адресном пространстве программы). Содержимое управляющих полей редактирования ограничено примерно 32 килобайтами.
Рассмотрим стили окон редактирования
|
|
Текст в управляющих окнах редактирования может быть выравнен либо по правому краю, либо по правому, либо по центру. Формат можно задать с помощью стилей окна ES_LEFT, ES_RIGHT и ES_CENTER.
По умолчанию в управляющем окне редактирования имеется одна строка. Для создания такого окна с автоматической горизонтальной прокруткой следует добавить стиль ES_AUTOHSCROLL.
Приложение может создать многострочное управляющее окно редактирования, используя стиль окна ES_MULTILINE. Для многострочного окна редактирования, если не задан стиль ES_AUTOHSCROLL, то текст автоматически переносится на новую строку при достижении правого края окна.
При задании стиля ES_AUTOHSCROLL в многострочном редакторе для перехода на новую строку нужно нажимать клавише <Enter> (т.е. появляется возможность горизонтальной прокрутки). Используя стиль окна ES_AUTOVSCROLL, в многострочное окно редактирования можно включить возможность вертикальной прокрутки.
- Если стили ES_AUTOHSCROLL и ES_AUTOVSCROLL включены в многострочные управляющие окна, то можно добавить и сами полосы прокрутки.
Добавление полос прокрутки делается путем использования тех же идентификаторов стиля окна, что и для недочерних окон: WS_HSCROLL и WS_VSCROLL.
|
|
- Чаще всего для многострочных редакторов используется следующая комбинация стилей:
WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|WS_BORDER|
ES_MULTILINE|ES_|ES_AUTOVSCROLL|WS_HSCROLL|WS_VSCROLL
Дата добавления: 2019-09-13; просмотров: 165; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!