15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Как определить выравнивание в ListView Control

В документации для структуры LVCOLUMN используемой в ListView сказано, что для установки выравнивания колонки можно использовать fmt, который присутствует в структуре LVCOLUMN. Итак, давайте посмотрим, как получить значение выравнивания колонки в ListView.

Перед тем, как мы получим значение fmt структуры LVCOLUMN, его значение должно быть однажды добавлено с флагом LVCFMT_JUSTIFYMASK, который объявлен в Commctrl.h. Например, следующий код показывает как определить выравнивание второй колонки в list view: вправо, по центру или влево:

   LVCOLUMN lvc;
   // Допустим hWndOfLV это HWND существующего окна ListView.
   if(ListView_GetColumn(hWndOfLV, GetColumn, 1, &lvc))
   {
      switch(lvc.fmt & LVCFMT_JUSTIFYMASK)
      {
         case LVCFMT_RIGHT:
            // выравнена вправо
            break;
         case LVCFMT_CENTER:
            // выравнена по центру
            break;
         case LFCFMT_LEFT:
            // выравнена влево
            break;
      }
   }