![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
stringgrid drawcell
bagos © (2009-09-30 20:01:00)Всем привет, помогите разобраться
крашу ячейки в гриде, нужно провести линию в ячейке top-1
if Copy(S, 1, 1) = '-' then
if (ACol >= 5) and (ACol <= 25) and (ARow >= 0) then
begin
Canvas.Brush.Color := $00C1C1FF;
Canvas.FillRect(Rect);
Canvas.MoveTo(Rect.Left, rect.Top-1);
Canvas.LineTo(Rect.Right, Rect.Top-1);
Canvas.TextOut(rect.left + 4, rect.top+1, Copy(S, 2, Length(s) - 1));
end;
линия то рисуется то пропадает, почему? что то не так делаю походу, помогите решить!
Омлет (2009-09-30 21:58:00) [1]>
(ARow >= 0)
На надо этого. Разве бывает строка < 0? Не бывает.
Омлет (2009-09-30 21:54:00) [2]Рисовать надо только в своей ячейке!
Rect.Top-1- это уже ячейка выше данной. И если нужна там линия, то в обработчике для той ячейки и рисуй.
Омлет (2009-09-30 21:50:00) [3]Ха. Не то ))
Ты ведь пытаешься рисовать не в своей ячейке.
Canvas.MoveTo(Rect.Left, rect.Top-1);
Canvas.LineTo(Rect.Right, Rect.Top-1);
Омлет (2009-09-30 21:45:00) [4]Если стоит какой-то режим смешивания цветов, то линия может затираться при повторном выводе.
ПоставьCanvas.Pen.Mode := pmCopy;
> if Copy(S, 1, 1) = '-' then
if (Length(S) > 0) and (S[1] = '-') then