Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

Операционная система Windows 95 для программиста

© Александр Фролов, Григорий Фролов
Том 22, М.: Диалог-МИФИ, 1993, 271 стр.

[Назад] [Содеожание] [Дальше]

3.4. Изменение режима просмотра списка

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

Тем не менее, данная задача выполнима.

С помощью пары функций GetWindowLong и SetWindowLong приложение может изменить стиль окна созданного ранее органа управления List View, что приведет к немедленному изменению режима просмотра. Эти функции были описаны в 13 томе "Библиотеки системного программиста" в разделе "Дополнительная память в структуре окна".

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

case ID_OPTIONS_ICONVIEW:
{
  dwStyle = GetWindowLong(hwndList, GWL_STYLE);
  
  if((dwStyle & LVS_TYPEMASK) != LVS_ICON)
    SetWindowLong(hwndList, GWL_STYLE, 
      (dwStyle & ~LVS_TYPEMASK) | LVS_ICON);
  break;
}

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

Аналогичным образом вы можете установить любой другой нужный вам режим просмотра, используя флаги LVS_SMALLICON, LVS_LIST и LVS_REPORT.

[Назад] [Содеожание] [Дальше]