Главная страница
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.47 MB
Время: 0.017 c
3-95231
Vikuksa
2002-07-08 11:44
2002.07.29
Так чтобы побыстрей работало ...


4-95610
KSergey
2002-05-22 15:37
2002.07.29
Из dll вызвать ф-цию в другой dll


1-95343
newone
2002-07-17 11:02
2002.07.29
Добавление макроса в Excel


14-95538
ProgMan
2002-06-25 10:52
2002.07.29
Курение?


1-95338
xelax
2002-07-17 14:56
2002.07.29
Вопрос