Сообщения для списка


Для управления списком "combobox" используется набор сообщений, аналогичный набору сообщений для списка "listbox" и редактора текста "edit". Функция SendMessage, посылающая сообщения списку "combobox", возвращает значение, которое зависит от выполняемой функции или коды ошибок CB_ERRSPACE (ошибка при получении дополнительной памяти), CB_ERR (затребованная операция не может быть выполнена). Если операция выполнена без ошибок, возвращается значение CB_OKAY.

В файле windows.h определены сообщения, специально предназначенные для работы со списком "combobox". Символические имена этих сообщений имеют префикс CB_. Приведем список таких сообщений.

CB_ADDSTRING

Добавление строки в список.

Параметры:

wParam = 0;

lParam = (LPARAM)(LPCSTR)lpszStr;

lpszStr - указатель на добавляемую строку.

Возвращаемое значение:

Номер строки в списке (первая строка имеет номер 0), или код ошибки.

CB_DELETESTRING

Удаление строки из списка.

Параметры:

wParam = (WPARAM)nIndex;

lParam = 0L;

nIndex - номер удаляемой строки. Первая строка имеет номер 0.

Возвращаемое значение:

Количество строк, оставшихся в списке, или код ошибки.

CB_DIR

Заполнение списка именами файлов и каталогов, расположенных в текущем каталоге, а также именами дисков.

Параметры:

wParam = (WPARAM)(UINT)uAttr;

lParam = (LPARAM)(LPCSTR)lpszFileSpec;

uAttr - атрибуты файлов;

lpszFileSpec - указатель на строку, содержащую имя файла или шаблон имени файла.

Возвращаемое значение:

Номер последнего имени файла, добавленного в список, или код ошибки.

 

 

Контекст.

 

 

Как правило, приложения выполняют всю работу по рисованию во время обработки сообщения WM_PAINT , хотя часто требуется рисовать и во время обработки других сообщений. В любом случае приложение должно придерживаться следующей последовательности действий:

  1. получение или создание контекста отображения;
  2. установка необходимых атрибутов в контексте отображения;
  3. выполнение операций рисования;
  4. освобождение или удаление контекста отображения.

Последнее действие (освобождение или удаление контекста отображения) должно быть обязательно выполнено. Самый простой способ полностью нарушить работоспособность Windows - забыть освободить полученный контекст отображения или удалить созданный контекст отображения или устройства.

Так как контекст отображения - критический ресурс, его необходимо освобождать сразу, как только в нем отпадет необходимость. Операционная система Windows выполняет кеширование обычного контекста отображения (есть и необычные контексты отображения, но об этом позже), причем кешируются только пять контекстов. Если Windows не может удовлетворить запрос какого-либо приложения на выделение контекста отображения, вся операционная система окажется в критическом состоянии, единственным выходом из которого будет полный перезапуск Windows.

Среди всех атрибутов контекста отображения, описанных в первой главе, особое место занимает режим отображения, влияющий на систему координат и, соответственно, на работу практически всех функций рисования. Поэтому необходимо уделить особое внимание вопросам использования режимов отображения и систем координат.

Однако, прежде всего необходимо научиться получать и освобождать контекст отображения.



Дата добавления: 2016-07-22; просмотров: 1712;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

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

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.