Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить выравнивание текста колонки


p ©   (2016-08-03 10:52:00) 

подскажите пожалуйста, так возвращает всегда HDF_LEFT

var
  AItem: THDItem;

///
if Header_GetItem(HeaderHandle, Header_OrderToIndex(HeaderHandle, Index), AItem) then
   begin
     if (AItem.fmt and HDF_LEFT) = HDF_LEFT then
       Form1.Caption := 'HDF_LEFT'
     else if (AItem.fmt and HDF_RIGHT) = HDF_RIGHT then
       Form1.Caption := 'HDF_RIGHT'
     else if (AItem.fmt and HDF_CENTER) = HDF_CENTER then
       Form1.Caption := 'HDF_CENTER';
   end;


p   (2016-08-03 13:13:00) [1]

Спасибо Александр, два дня мучался весь нет перерыл


Rouse_   (2016-08-03 11:58:00) [2]

var
 HeaderHandle: THandle;
 AItem: THDItem;
 I: Integer;
 S: string;
begin
 HeaderHandle := ListView_GetHeader(ListView1.Handle);
 ZeroMemory(@AItem, SizeOf(THDItem));
 AItem.Mask := HDI_FORMAT;
 for I := 0 to 2 do
 begin
   Header_GetItem(HeaderHandle, Header_OrderToIndex(HeaderHandle, I), AItem);
   if (AItem.fmt and HDF_RIGHT) = HDF_RIGHT then
     S := S + IntToStr(I) + ' = HDF_RIGHT'
   else
     if (AItem.fmt and HDF_CENTER) = HDF_CENTER then
       S := S + IntToStr(I) + ' = HDF_CENTER'
     else
       S := S + IntToStr(I) + ' = HDF_LEFT';
   S := S + sLineBreak;
 end;
 ShowMessage(S);
end;


p   (2016-08-03 10:54:00) [3]

Хотя тот же код корректно возвращает ширину, текст, тип сортировки


Наверх

Титульная страница Поиск, карта сайта Написать письмо