2016-12-21 14 views
0

У меня возникает странная проблема при удалении горизонтальной полосы прокрутки от TListView.Скрыть горизонтальную полосу прокрутки от TListView

procedure TForm1.listDataResize(Sender: TObject); 
begin 
    ShowScrollBar(listData.Handle, SB_HORZ, False); 
end; 

При использовании вниз или вверх клавиш со стрелками, а затем Колонка заголовка второе и далее стирается, когда я изменить размер столбца вручную, то она отображается обратно. Когда я удалю код из listDataResize, тогда эта проблема больше не возникает.

Я просто хочу, чтобы удалить горизонтальной полосы прокрутки появляться в ListView. Поскольку выше код работает нормально, единственное, что меня беспокоит, - это то, почему второй и более столбцы заголовков стираются.

+0

Вы проверили, стали ли столбцы шириной = 0? При удалении полосы прокрутки вы также оставляете компонент без средств для отображения всего содержимого. Компонент может вернуться к очень базовому виду, потому что меньше места для рисования на –

+0

строк отображаются нормально. только заголовок столбца выглядит так, будто они стираются. даже если я перетаскиваю другое окно над списком, все становится нормально. Так же, как проблема с картинкой. Но я не могу понять это. – Angelica

ответ

0

Я не знаю, почему это происходит, я удалил текущую форму держит TListView и создал новую форму не прикасались любое свойством формы, кроме Подписи формы и уронил TListView еще раз.

ListView.RePaint; 
ListView.Refresh; 

Теперь он больше не стирает заголовок столбца. Я не касался каких-либо свойств, таких как двойная буферизация и т. Д. Работая хорошо.

Смежные вопросы