Форум: "Основная";
Текущий архив: 2012.01.29;
Скачать: [xml.tar.bz2];
ВнизКак определить виден ли скролл. ListView. Найти похожие ветки
← →
Элия (2010-08-31 09:18) [0]В ListView скролл отображается динамически, то есть только если айтемов много и они не помещаются в заданную высоту ListView. Можно ли как-то определить отображается ли скролл в данный момент или нет? Думала, что есть что-то типа HasScroll, но такого не нашла...
← →
Ф1 (2010-08-31 09:39) [1]А зачем?
http://www.delphisources.ru/pages/faq/base/hide_lw_scrolls.html
← →
Элия (2010-08-31 10:01) [2]Хочу выставить правильно ширину столбца в ListView)
Если я выставляю ширину столбца я учетом, что у меня всегда есть скролл, то в случае, если айтемов много и скролл действительно есть, при выделении айтема все смотрится ок, а если айтемов мало и скролла нет, то при выделении айтема справа остается белая полоса шириной в скролбар.
Надеюсь, получилось объяснить)
По ссылке... К сожалению, не поняла как это можно применить в данном случае. Там вроде рассказывает как отобразить или спрятать скроллбар, а как определить отображен ли он - нет.
Конечно, можно сделать так, что скроллбар всегда будет отображаться, просто когда мало айтемов, он будет задизаблен...
← →
Anatoly Podgoretsky © (2010-08-31 10:04) [3]> Элия (31.08.2010 10:01:02) [2]
Будет только хуже, размеры начнут дергаться.
← →
QAZ (2010-08-31 11:45) [4]
> если айтемов много и они не помещаются в заданную высоту
> ListView
так и определяется
← →
Юрий Зотов © (2010-09-01 10:14) [5]> Элия (31.08.10 10:01) [2]
> Хочу выставить правильно ширину столбца в ListView)
Выставляйте относительно ClientWidth. Тогда всегда будет правильно, хоть виден скролл, хоть не виден.
← →
Rouse_ © (2010-09-01 16:15) [6]Покрути вот это: http://rouse.drkb.ru/components.php#gslistview
Там у колонок флаг Autosize есть...
← →
Макс Черных (2010-09-01 16:28) [7]
> Можно ли как-то определить отображается ли скролл в данный
> момент или нет?
Конечно можно. Например, для вертикального скролла:function TForm2.IsScrollBarVisible: boolean;
var SbInfo: TScrollBarInfo;
begin
SbInfo.cbSize := SizeOf(TScrollBarInfo);
if GetScrollBarInfo(ListView.Handle, OBJID_VSCROLL, SbInfo)
then
Result := (SbInfo.rgstate[0] and STATE_SYSTEM_INVISIBLE) = 0
else
Result := false;
end;
Однако, куда лучше прислушаться к мнению Юрий Зотов © (01.09.10 10:14) [5]
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2012.01.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c