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

Вниз

поиск=>StringGrid=>мерцание:((   Найти похожие ветки 

 
Хмыня   (2002-07-16 02:27) [0]

Добрый вечер!
Есть форма поиска, результат поиска формирутся в StringGride . Одна ячейка содержит одну запись из БД. В ячейках могут быть и картинки, и многострочный текст, и ссылки. Содержимое ячейки рисуется в OnDrawCell.
Сам поиск реализуется в ните. Когда находится запись удовл. условию, то эта запись записывается в файл или в массив, а StringGrid.RowCount увеличивается на 1.
Так вот, когда просходит inc(StringGrid.RowCount), то таблица нехило моргает, а иногда и вся форма - это очень некрасиво. Может кто знает, как сделать увеличение RowCountа, чтобы канва StringGrida перерисовывалась, но по возможности меньше моргала. Понимаю, что вроде глупый вопрос, но вдруг кто сталкивался и решил такую проблему.


 
Opuhshii   (2002-07-16 07:28) [1]

что значит "В ячейках могут быть и картинки"? на канве StringGrid"a рисуется картинка?,...
,
храни где-нибудь количество кондиционных записей, и лишь однажды увелич количество строк, на это время так же можно убирать отрисовку StringGrid"a,...
,хотя,..
используй StringGrid для отображения данных, не для хранения,... допустим результат поиска 200000 записей из них в данный момент 25 записей могут быть видны пользователю, и именно они отображаются и находятся в Cells,.. OnTopLeftChanged изменяешь данные,


 
Song ©   (2002-07-16 10:43) [2]

Запретите на нужный момент прорисовку - LockWindowUpdate()


 
Хмыня   (2002-07-16 12:07) [3]


> Song ©


уже пробовал:
...
LockWindowUpdate(SrtingGrid.Handle);
inc(StringGrid.RowCount);
LockWindowUpdate(0);
...

тоже самое:((


> Opuhshii

первую часть понял (до слова "хотя"), а вторую не понял


 
Song ©   (2002-07-16 12:12) [4]

Тогда можете попробовать на момент изменения таблицы переклюыить TStringGrid.DefaultDrawing. Таблица визуально перерисовываться не будет.


 
Хмыня   (2002-07-16 12:21) [5]


> Song ©


Тоже самое ... мерцает:(




 
Song ©   (2002-07-16 18:01) [6]

Как она может мерцать, если она не перерисовывается.... :-(
Вы точно False поставили ?



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
4-95594
nester
2002-05-20 23:01
2002.07.29
А если с другой стороны sleep() и микросекундный таймер?


3-95262
Макс
2002-07-09 14:31
2002.07.29
Хитрое выделение из списка


1-95359
novill
2002-07-18 10:23
2002.07.29
Как русифицировать надписи на кнопках сообщений пользователю?


1-95448
strel
2002-07-16 20:09
2002.07.29
Ошибка при использовании DLL !!! беда :)


1-95325
Real
2002-07-16 22:55
2002.07.29
Как обратиться к объекту не имеющего имя?