![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перерисовать значение по формуле из табл. в DBgrid ?
Jiny © (2004-07-27 08:22:00)Как перерисовать значение, допустим, вычисляю процент наложения в документе и хочу зарисовать этот процент в ячейке DBgrid ?
Вот код который сам состряпал :
if Column.Index=10 then
begin
TDBGrid(Sender).Canvas.Font.Color:=clBlack;
TDBGrid(Sender).Canvas.Font.Size:=10;
TDBGrid(Sender).Canvas.Rectangle(Rect);
TDBGrid(Sender).Canvas.TextOut( Rect.Left,Rect.top-20,tmpPrc);
end;
Aleksey V.P. (2004-07-27 14:14:00) [1]Я так понял проблема в том, что при редактировании ячейки или когда сетка в режиме редактирования, стирается фон или текст, который отрисовывается?
Jiny (2004-07-27 09:19:00) [2]FORGET IT, you're just cheating, nothing else !
ЮЮ (2004-07-27 09:07:00) [3]>он потом не стирался при движении курсора через TextOUT
разве кyрсор затирает что-то на окне
>либо как то еще
обработчик onDraw... как раз и вызовется, если чт-то как-то сотрется и потребуется перерисовка.
Jiny (2004-07-27 08:59:00) [4]Уважаемый ЮЮ,
проблема не в расчете, А В ТОМ КАК ЕГО ЗАРИСОВАТЬ ТУДА, ЧТОБЫ он потом не стирался при движении курсора через TextOUT либо как то еще.
С уважением
ЮЮ (2004-07-27 08:48:00) [5]>(рисовать на лету)
считаешь тоже на лету? я к тому, что в приведенном коде только рисование, а надо и расчет вставить в
if Column.Index=10 then begin ... end;
иначе считаться будет для каждого столбца.
З.Ы. А проблема то в чем?
Jiny (2004-07-27 08:43:00) [6]для Morj : он и так стоит в OnDrawCell (DefaultDrawing:=False)
для ЮЮ : да, хочу так попробовать (рисовать на лету)
ЮЮ (2004-07-27 08:30:00) [7]и где ты его вычисляешь (tmpPrc)? при каждом рисовании каждой ячейки?
Morj (2004-07-27 08:29:00) [8]Обрабатывай OnDrawCell.