Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.14;
Скачать: CL | DM;

Вниз

Глюк свойства AutoSize у TListColumn в TListView   Найти похожие ветки 

 
Anatol_sp   (2005-07-26 22:01) [0]

На форме есть TListView (ListView1) с ViewStyle=vsReport и одной колонкой с AutoSize=True. Так вот, иногда, при добавлении большого количества элементов (TListItem), этот AutoSize срабатывает некорректно и появляется полоса горизонтальной прокрутки. Т.е. колонка расширяется до несколько большей ширины, чем надо. После долгих мучений выяснил, что, чтобы этот AutoSize все-таки установил нормальную ширину для колонки, можно изменить ширину ListView на один пункт, а потом обратно. Но это бредовый способ. Пытался и Refresh, и Update, и Repaint - ничего не помогает. Вопрос: лечится ли это?

Для упрощения понимания вопроса набросал маленький кодик, добавляющий в ListView 3000 произвольных элементов.

var
 N:TListItem;
 I,I2:Integer;
 Str:String;
 Coun:Integer;
const
 Bukv="qwertyuiopasdfghjklzxcvbnm";
begin
 Randomize;
 ListView1.Items.BeginUpdate;
 ListView1.Items.Clear;
 For I := 0 to 3000 do
   begin
     Str:="";
     Coun:=0;
     While Coun<7 do
     Coun:=Random(15);
     For I2 := 0 to Coun do
     Str:=Str+Bukv[Random(26)+1];
     N:=ListView1.Items.Add;
     N.Caption:=Str;
   end;
 ListView1.Items.EndUpdate;
end;


 
Ученик   (2005-07-26 23:02) [1]



uses
 CommCtrl;

// LVSCW_AUTOSIZE_USEHEADER    -2

...
SendMessage(ListView1.Handle, LVM_SETCOLUMNWIDTH, 0, makelparam(Word(-2), 0));
ListView1.Items.EndUpdate;




Страницы: 1 вся ветка

Текущий архив: 2005.08.14;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.036 c
3-1120485884
DelphiN!
2005-07-04 18:04
2005.08.14
Востановление "удаленных" записей из таблицы СУБД FB 1.5


1-1122188529
Wistler
2005-07-24 11:02
2005.08.14
Сравнение записей


14-1121786453
Керк
2005-07-19 19:20
2005.08.14
Изобретение велосипедов non-stop


4-1117616006
Yandexman
2005-06-01 12:53
2005.08.14
Как изменить фоновую картинку на рабочем столе.


4-1118573861
Juk
2005-06-12 14:57
2005.08.14
Обработка WM_NCACTIVATE.