Win32 API. Функции окна
Страница 14. Функция CreateWindow. Часть 4


Следующие стили элемента управления окна со списком (в классе LISTBOX) могут быть определены в параметре dwStyle:

  • LBS_DISABLENOSCROLL - Показывает заблокированную вертикальную линейку прокрутки в окне со списком, когда поле окна не содержит достаточно элементов для прокрутки. Если Вы не определяете этот стиль, линейка прокрутки скрыта, когда окно со списком не содержит достаточно элементов.
  • LBS_EXTENDEDSEL - Позволяет многочисленным элементам быть выбранными, при помощи использования клавиши SHIFT и мыши или специальной комбинации клавиш.
  • LBS_HASSTRINGS - Определяет, что окно со списком содержит элементы, состоящие из строк. Окно со списком сохраняет память и адреса строк, так что прикладная программа может использовать сообщение LB_GETTEXT, чтобы восстановить текст для отдельного элемента. По умолчанию, все окна со списком за исключением окон со списком предоставленных владельцем имеют этот стиль. Вы можете создать предоставляемое владельцем окно со списком с ним или без этого стиля.
  • LBS_MULTICOLUMN - Определяет многостолбцовое окно со списком, которое прокручивается горизонтально. Сообщение LB_SETCOLUMNWIDTH устанавливает ширину столбцов.
  • LBS_MULTIPLESEL - Включает или выключает выбор последовательности символов каждый раз, когда пользователь одним или двойным щелчком мыши активизирует строку символов в окне со списком. Пользователь может выбрать любое число строк.
  • LBS_NODATA - Определяет "отсутствие данных" в окне со списком. Этот стиль определяется тогда, когда число элементов в окне со списком может превысить одну тысячу. Окно со списком с "отсутствующими данными" должно иметь также стиль LBS_OWNERDRAWFIXED, но не должно иметь стилей LBS_SORT или LBS_HASSTRINGS. Окно со списком с "отсутствующими данными" имеет сходство с окном со списком предоставляемым владельцем за исключением того, что оно не содержит ни строковых или растровых данных для элемента. Команды "добавить", "вставить" или "удалить" элемент всегда игнорируют любые передаваемые элементы данных; запрос на поиск строки внутри окна всегда терпит неудачу. Windows посылает сообщение WM_DRAWITEM окну владельцу, когда элемент должен быть прорисован. ЭлементID (itemID) член структуры DRAWITEMSTRUCT, переданный с сообщением WM_DRAWITEM, определяет номер строки элемента, который будет прорисован. Окно списка с "отсутствующими данными" не посылает сообщение WM_DELETEITEM.
  • LBS_NOINTEGRALHEIGHT - Определяет, что размер окна со списком соответствует размеру, определенному прикладной программой, когда она создавала окно со списком. Обычно, Windows устанавливает величину окна со списком так, чтобы оно не отображало элементы частично.
  • LBS_NOREDRAW - Определяет, что вид окна со списком не модифицируется, когда производятся изменения. Вы можете в любое время изменить этот стиль, посылая сообщение WM_SETREDRAW.
  • LBS_NOSEL - Определяет, что окно со списком содержит элементы, которые могут просматриваться, но не выбираться.
  • LBS_NOTIFY - Сообщает родительскому окну о входящем сообщении всякий раз, когда пользователь щелкает мышью или дважды щелкает по строке в окне списка.
  • LBS_OWNERDRAWFIXED - Определяет, что владелец окна со списком ответственен за прорисовку его содержания и что элементы в окне со списком появляются одинаковой высоты. Окно владельца принимает сообщение WM_MEASUREITEM, когда окно со списком создано, а сообщение WM_DRAWITEM, когда внешний вид окна изменился.
  • LBS_OWNERDRAWVARIABLE - Определяет, что владелец окна со списком ответственен за прорисовку его содержания и что элементы в окне со списком появляются переменными по высоте. Окно владельца принимает сообщение WM_MEASUREITEM для каждого элемента в окне со списком, когда оно создано, а сообщение WM_DRAWITEM, когда внешний вид окна изменился.
  • LBS_SORT - Сортирует строки в окне со списком по алфавиту.
  • LBS_STANDARD - Сортирует строки в окне со списком в алфавитном порядке. Родительское окно принимает входящее сообщение всякий раз, когда пользователь щелкает мышью или дважды щелкает по строке. Окно со списком имеет, рамку со всех сторон.
  • LBS_USETABSTOPS - Дает возможность окну списка распознавать и развернуть символы в виде таблицы при прорисовке его строк. По умолчанию таблица занимает 32 единицы измерения диалогового окна. Единица измерения диалогового окна - горизонтальное или вертикальное расстояние. Одна горизонтальная единица диалогового окна равна четвертой части текущей единицы измерения габаритов диалогового окна. Windows вычисляет эти единицы измерения, основанные на высоте и ширине шрифта существующей системы. Функция GetDialogBaseUnits возвращает значение текущей базовой единицы измерения диалогового окна в пикселях.
  • LBS_WANTKEYBOARDINPUT - Определяет, что владелец окна списка принимает сообщения WM_VKEYTOITEM всякий раз, когда пользователь нажимает клавишу, а окно со списком имеет фокус ввода. Это дает возможность прикладной программе выполнить специальную обработку при вводе с клавиатуры. 

Следующие стили линейки прокрутки (в классе SCROLLBAR) могут быть определены в dwStyle параметре:

  • SBS_BOTTOMALIGN - Выравнивает нижнюю кромку линейки прокрутки с нижней кромкой прямоугольника, определенного параметрами x, y, nWidth, и nHeight. Линейка прокрутки имеет заданную по умолчанию высоту для системных линеек прокрутки. Используйте этот стиль со стилем SBS_HORZ.
  • SBS_HORZ - Обозначает горизонтальную линейку прокрутки. Если стили ни SBS_BOTTOMALIGN, ни SBS_TOPALIGN не определены, линейка прокрутки имеет высоту, ширину и позицию, определенные x, y, nWidth и nHeight.
  • SBS_LEFTALIGN - Выравнивает левый край линейки прокрутки с левым краем прямоугольника, определенного параметрами x, y, nWidth и nHeight. Линейка прокрутки имеет заданную по умолчанию ширину для системных линеек прокрутки. Используйте этот стиль с SBS_VERT стилем.
  • SBS_RIGHTALIGN - Выравнивает правый край линейки прокрутки с правым краем прямоугольника, определенного параметрами x, y, nWidth, и nHeight. Линейка прокрутки имеет заданную по умолчанию ширину для системных линеек прокрутки. Используйте этот стиль с SBS_VERT стилем.
  • SBS_SIZEBOX - Обозначает размер окна. Если Вы не определяете ни SBS_SIZEBOXBOTTOMRIGHTALIGN, ни SBS_SIZEBOXTOPLEFTALIGN стиль, размер окна имеет высоту, ширину и позицию, определенную параметрами x, y, nWidth и nHeight.
  • SBS_SIZEBOXBOTTOMRIGHTALIGN - Выравнивает размер нижнего правого угла окна с нижним правым углом прямоугольника, определенного параметрами x, y, nWidth, и nHeight. Размер окна имеет заданный по умолчанию размер для системы размера окон. Используйте этот стиль с SBS_SIZEBOX стилем.
  • SBS_SIZEBOXTOPLEFTALIGN - Выравнивает размер верхнего левого угла окна с левым верхним углом прямоугольника, определенного параметрами x, y, nWidth, и nHeight. Размер окна имеет заданный по умолчанию размер для системы размера окон. Используйте этот стиль с SBS_SIZEBOX стилем.
  • SBS_SIZEGRIP - Подобен стилю SBS_SIZEBOX, но с выпуклой рамкой.
  • SBS_TOPALIGN - Выравнивает верхний край линейки прокрутки с верхним краем прямоугольника, определенного параметрами x, y, nWidth, и nHeight. Линейка прокрутки имеет заданную по умолчанию высоту для системы линеек прокрутки. Используйте этот стиль с SBS_HORZ стилем.
  • SBS_VERT - Обозначает вертикальную линейку прокрутки. Если Вы не определяете ни SBS_RIGHTALIGN, ни SBS_LEFTALIGN стиль, линейка прокрутки имеет высоту, ширину и позицию, определенную параметрами x, y, nWidth и nHeight.

Следующие стили статического элемента управления (в классе STATIC) могут быть определены в параметре dwStyle. Статический элемент управления может иметь только один из этих стилей:

  • SS_BITMAP - Определяет, что в статическом элементе управления должен отобразиться точечный рисунок. Текст кода ошибки - имя точечного рисунка (не имя файла) определенного в другом месте файла ресурса. Стиль игнорирует параметры nWidth и nHeight; элемент управления автоматически устанавливает собственные размеры, чтобы поместить точечный рисунок.
  • SS_BLACKFRAME - Определяет окно с рамкой, использующей тот же самый цвет, как и у рамки основного окна. Этот цвет черный по умолчанию в системе цветов Windows.
  • SS_BLACKRECT - Определяет прямоугольник, заполненный текущим цветом рамки окна. По умолчанию этот цвет черный в системе цветов Windows.
  • SS_CENTER - Определяет простой прямоугольник и выравнивает по центру текст кода ошибки в прямоугольнике. Текст форматируется перед отображением его на экране. Слова, которые выходят за пределы конца строки автоматически переносятся в начало следующей центрированной строки.
  • SS_CENTERIMAGE - Определяет, что средняя точка статического элемента управления со стилем SS_BITMAP или SS_ICON должна остаться фиксированной, когда элемент управления изменяется. Четыре стороны корректируются так, чтобы поместить новый точечный рисунок или пиктограмму. Если статический элемент управления имеет стиль SS_BITMAP, а точечный рисунок меньше чем рабочая область элемента управления, рабочая область заполняется цветом пикселя левого верхнего угла точечного рисунка. Если статический элемент управления имеет стиль SS_ICON, пиктограмма появляется, но не окрашивает рабочую область.
  • SS_GRAYFRAME - Определяет поле окна с рамкой, выведенной тем же самым цветом, что и экранный фон (рабочий стол). По умолчанию в системе цветов Windows этот цвет серый.
  • SS_GRAYRECT - Определяет прямоугольник, заполненный текущим экранным цветом фона. По умолчанию в системе цветов Windows этот цвет серый.
  • SS_ICON - Определяет пиктограмму, отображаемую в диалоговом окне. Данный текст - имя пиктограммы (не имя файла) определенный в другом месте файла ресурса. Стиль игнорирует параметры nWidth и nHeight; пиктограмма автоматически устанавливает свою величину.
  • SS_LEFT - Определяет простой прямоугольник и выравнивание по левому краю текста, помещенного в прямоугольнике. Текст форматируется перед его отображением. Слова, которые выходят за пределы конца строки автоматически переносятся в начало следующей выровненной по левой границе строки.
  • SS_LEFTNOWORDWRAP - Определяет простой прямоугольник и выравнивание по левому краю текста, помещенного в прямоугольнике. Планшеты расширяются, но слова не переносятся. Текст, который выходит за пределы конца строки, отсекается.
  • SS_METAPICT - Определяет, что изображение метафайла должно отобразиться в статическом элементе управления. Данный текст - имя изображения метафайла (не имя файла) определенный в другом месте в файле ресурса. Статический элемент управления метафайла имеет фиксированный размер; изображение метафайла масштабируется, чтобы приспособить рабочую область статического элемента управления.
  • SS_NOPREFIX - Предотвращает интерпретацию любого символа амперсанта (&) в тексте элемента управления как символа префикса акселератора. Они отображаются с удаленным амперсантом и следующим за ним подчеркнутым символом в строке. Этот стиль статического элемента управления может быть включен с любым из определенных статических элементов управления. Прикладная программа может объединять SS_NOPREFIX с другими стилями, используя поразрядный оператор OR = ИЛИ (|). Это может быть полезно, когда имена файлов или другие строки, которые могут содержать амперсант (&) должны отображаться в статическом элементе управления диалогового окна.
  • SS_NOTIFY - Посылает родительскому окну уведомительные сообщения STN_CLICKED и STN_DBLCLK, когда пользователь щелкает или дважды щелкает мышью по элементу управления.
  • SS_RIGHT - Определяет простой прямоугольник и выравнивает по правому краю текста помещенный в прямоугольнике. Текст форматируется перед его отображением на экране. Слова, которые выходят за пределы конца строки автоматически переносятся в начало следующей выровненной по правой границе строки.
  • SS_RIGHTIMAGE - Определяет, что угол правой нижней части статического элемента управления со стилем SS_BITMAP или SS_ICON должен остаться фиксированным, когда элемент управления изменяется. Только верхняя и левая стороны корректируются, чтобы поместить новый точечный рисунок или пиктограмму.
  • SS_SIMPLE - Определяет простой прямоугольник и отображает одиночную строку выровненного по левой границе текста в прямоугольнике. Текстовая строка не может быть, сокращена или изменена в любом случае. Родительское окно панели управления или диалоговое окно не должны обрабатывать сообщение WM_CTLCOLORSTATIC.
  • SS_WHITEFRAME - Определяет поле окна с рамкой, выведенной тем же самым цветом как фон окна. По умолчанию, в системе цветов Windows - этот цвет белый.
  • SS_WHITERECT - Определяет прямоугольник, заполненный текущим цветом фона окна. По умолчанию, в системе цветов Windows - этот цвет белый.

 

 
« Предыдущая статья   Следующая статья »