Форум: "Основная";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];
ВнизStringgrid и Range Найти похожие ветки
← →
Igor_Zal (2006-11-30 02:23) [0]Доброй ночи.
Уважаемые мастера, вот мучаю кусок кода,
связанный с StringGrid.
Подскажите, как убрать жирные линии внутри диапазона,
когда выдяешь более 1 ячейки.оставляя жирные линии по краям всего диапазона.
Когда выделил, изменяешь размеры Col or Rowб или
кликаешь по окну с программой, все получается как надо.
Помогите исправить.
Заранее спасибо.
procedure TForm1.sgDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
const
WidthCellBorder = 3;
var
Clean:TRect;
begin
with sg.Canvas do
begin
if gdFocused in State then
begin
Brush.Color:=clblack;
FillRect(Rect);
Brush.Color:=clwindow;
Pen.Width:=WidthCellBorder;
pen.Color:=clblack;
Rectangle(Rect.Left-1+WidthCellBorder-1,rect.Top-1+WidthCellBorder,Rect.Right-WidthCellBorder+2,Rect.Bottom-WidthCellBorder+1);
Brush.Color:=clWindow;
Pen.Color:=clSilver;
end else
begin
if gdSelected in State then
begin
Brush.Color:=clinfobk;
FillRect(Rect);
Clean.Left:=sg.CellRect(sg.Selection.Left,sg.Selection.Top).Left;
Clean.Right:=sg.CellRect(sg.Selection.Right,sg.Selection.Top).Right;
Clean.Top:=sg.CellRect(sg.Selection.Left,sg.Selection.Top).Top;
Clean.Bottom:=sg.CellRect(sg.Selection.Left,sg.Selection.Bottom).Bottom;
Brush.Style := bsClear;
pen.Color:=clblack;
pen.Width:=WidthCellBorder;
Rectangle(Clean);
pen.Color:=clSilver;
Brush.Color:=clWindow;
//с этии прорисовывется, но сильно мерцает
//InvalidateRect(sg.Handle,nil,false);
end;
end;
end;
end;
← →
ЮЮ © (2006-11-30 03:53) [1]
> когда выдяешь более 1 ячейки.оставляя жирные линии по краям
> всего диапазона.
> Когда выделил, изменяешь размеры Col or Rowб или
> кликаешь по окну с программой, все получается как надо.
А когда не так как надо?
//с этии прорисовывется, но сильно мерцает
//InvalidateRect(sg.Handle,nil,false);
А почему не sq.Invalidate; ? + DoubleBuffered := true для Parent-а грида
← →
Igor_Zal (2006-11-30 08:35) [2]Спасибо, сильно выручил.
Просто ночь была, не подумал.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.046 c