Статические поля (класс 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!