Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-1282812225
Vidog
2010-08-26 12:43
2012.01.29
Упаковка файлов и архивация


3-1270836090
AlexJ
2010-04-09 22:01
2012.01.29
Не видны изменения при модификации через Edit ... Post


2-1318857607
Бездомный
2011-10-17 17:20
2012.01.29
Клонировать компонент в runtime.


1-1282232239
DrAndriy
2010-08-19 19:37
2012.01.29
Проблема с модулями с модулями DesignIntf и DesignEditors. Где на


2-1319031742
Fr
2011-10-19 17:42
2012.01.29
группировка Items в TListView Delphi 7





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский