Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DrawGrid


Страницы:   1 2 3

nickolayLI ©   (2002-10-24 01:18:00) 

Привет всем!

как можно сразу отобразить изменения в Гриде, а то пока окошко не сминимизируешь, изменения не обновятся :(

спасибо.


ЮЮ   (2002-10-25 08:58:00) [1]

Естественно, после изменения. Именно это и вызывает перерисовку ячеек и, соответственно, обработчик onDrawCell.


nickolayLI   (2002-10-25 08:52:00) [2]

>Используй RxDrawGrid, у него есть InvalidateRow, InvalidateCell
их использовать после изменения, или непосредственно в onDrawCell()
хоть пример какой-нить, посмотреть :(



ЮЮ   (2002-10-25 08:49:00) [3]

>nickolayLI (25.10.02 08:38) что перерисовка идет всех ячеек, т.е. всех иконок в гриде/ячейках, а надо на конкретной ячейке. :(

Используй RxDrawGrid, у него есть InvalidateRow, InvalidateCell


nickolayLI   (2002-10-25 08:48:00) [4]

Эх...
> Что значит вводится в ячейку? У DrawGrida нет никаких ячеек.
как это нету?
> Всё, что он показывает в ячейках
м-да. :)
я и говорю что в DrwaCell все и рисуется, но перерисовка идет не отдеьной яейки, а всех яеек в гриде, по aRow, а мне нужно чтобы arow допустим был равен 5, тама была нарисована одна иконка, после некоего измения, нарисовалась бы другая иконочка.
что непонятного-то? :)


ЮЮ   (2002-10-25 08:45:00) [5]

>B каждую ячейку вводится по клику картинка
Что значит вводится в ячейку? У DrawGrida нет никаких ячеек. Всё, что он показывает в ячейках должно рисоваться непосредственно в обработчике onDrawCell (потому он DrawGrid и называется).
Поэтому по клику по DrawGrid-y надо вносить изменения в какой либо другой объект и делать DrawGrid.Invalidate. А при перерисовке использовать измененное значение.


nickolayLI   (2002-10-25 08:38:00) [6]

>Song © (24.10.02 15:15)
угу, это то я делаю, но фичка в том, что мне нужно на конкретной ячейке поменять значок после некоторого изменения, допустим до изменения была одна иконка после изменения чтобы именно в этой ячейке стала другая иконка, делается, но получается, что перерисовка идет всех ячеек, т.е. всех иконок в гриде/ячейках, а надо на конкретной ячейке. :(

Пока.


nickolayLI   (2002-10-25 08:24:00) [7]

Invalidate попробуй
или repaint
Хотя repaint это invalidate and Update в одном флаконе


Maximal   (2002-10-24 16:39:00) [8]

В тему о DrawGrid"e.
B каждую ячейку вводится по клику картинка. Но как только данный DrawGrid закрывается другим окном, то все картинки стираются. Как сделать так, чтобы после этого все картинки заново пересовались? (В цикле заново через OnDrawCell перерисовать не получается, Refresh тоже не работает и т.д...)


Song   (2002-10-24 15:15:00) [9]

TDrawGrid.onDrawCell


nickolayLI   (2002-10-24 14:47:00) [10]

>Song © (24.10.02 11:35)
ага, а как я в этот грд запихну иконочки?


nickolayLI   (2002-10-24 14:16:00) [11]

>dolmat
Причем здесь table.*!!!


Song   (2002-10-24 13:18:00) [12]

:-)
Ну вас в баню :-)


dolmat   (2002-10-24 13:07:00) [13]

Grid вего лиль отображает попробуй обновлять то, откуда данные
table.refresh


ЮЮ   (2002-10-24 12:09:00) [14]

Song © (24.10.02 11:35)
Снова глюканул :-) Cells - это у StrigGrid-а

У тебя есть стринглист CountClient который надо рисовать в DrawGride. При изменении CountClient.Count уставливаешь соответствующее DrawGrid.RowCount, а в обработчике

onDrawCell();

Canvas.TextOut(Rect.left + 32, rect.top + 2, CountClient[ARow]);

Или вместо DrawGrid + StringList chfpe bcgjkmpjdfnm StringGrid


Song   (2002-10-24 11:35:00) [15]

Sorry, я глюканул.

Вам нужно сделать обработчик TDrawGrid.onDrawCell
после того как измените ячейку: Cells[4,1]:="1" например, делайте RePaint. Последний заставит перерисовать компонент, из-за чего вызвовется TDrawGrid.onDrawCell


nickolayLI   (2002-10-24 11:11:00) [16]

:), Вы что, начиналось всё с DrawGrid, тема сообщения-то какая?


Song   (2002-10-24 11:08:00) [17]

Вы сначала определитесь какой грид Вам нужен, потому что начиналось всё с TDBGrid, а закончилось событием onDrawCell, которого у TDBGrid нет.


nickolayLI   (2002-10-24 10:55:00) [18]

бррр... вообще че-то я запутался.
как короче можно изменить ячейку например номер 5 по Row
но так что бы она могла отоброжать сначало одно значение, после изменений другое...
я тут уже совсем запутался :(


ЮЮ   (2002-10-24 10:29:00) [19]

А что же там должно оставаться, если в onDrawCell
if CountClient.Count > 0 then begin


nickolayLI   (2002-10-24 10:21:00) [20]

после изменения ClientCount = 0, делаю Repaint,
то из грида вообще всё исчизает :(


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо