Форум: "Основная";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];
ВнизStringGrid Найти похожие ветки
← →
Medved_ (2007-02-03 12:32) [0]Уважаемые мастера.
Скажите, как в Stringgrid сделать
выделение как в 1с бухгалтерии.
Нажимаешь на ячейку и у тебя FixedRows ячейки
находится как бы во вдавленном состоянии.
Спасибо.
← →
ЮЮ © (2007-02-03 12:45) [1]Рисуя ячейки самомтоятельно в OnDrawCell + DefaultDrowing = false можешь нарисовать что угодно.
З.Ы. что происхожит с ячейками в 1с по твоему описанию не понял.
← →
RASkov (2007-02-04 06:41) [2]> [0] Medved_ (03.02.07 12:32)
Со StringGrid"ом задуманное вряд ли получится, нужно что нибудь другое искать.
Но если ячейка выделена одна может быть, и не так много их(ячеек) в гриде, то можно и так попробывать:procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean);
var R: TRect;
procedure DownRect;
begin
with StringGrid1.Canvas do begin
Pen.Color:=clGray;
MoveTo(R.Left+1, R.Top+1); LineTo(R.Right-1, R.Top+1);
MoveTo(R.Left+1, R.Top+1); LineTo(R.Left+1, R.Bottom-1);
Pen.Color:=clWhite;
MoveTo(R.Right-1, R.Top+1); LineTo(R.Right-1, R.Bottom-1);
MoveTo(R.Right-1, R.Bottom-1); LineTo(R.Left+1, R.Bottom-1);
end;
end;
procedure UpRect;
begin
with StringGrid1.Canvas do begin
Pen.Color:=clWhite;
MoveTo(R.Left+1, R.Top+1); LineTo(R.Right-1, R.Top+1);
MoveTo(R.Left+1, R.Top+1); LineTo(R.Left+1, R.Bottom-1);
Pen.Color:=clGray;
MoveTo(R.Right-1, R.Top+1); LineTo(R.Right-1, R.Bottom-1);
MoveTo(R.Right-1, R.Bottom-1); LineTo(R.Left+1, R.Bottom-1);
end;
end;
var N: Integer;
begin
for N:=0 to StringGrid1.ColCount-1 do begin
R:=StringGrid1.CellRect(N, 0);
if N<>ACol then UpRect else DownRect;
end;
for N:=0 to StringGrid1.RowCount-1 do begin
R:=StringGrid1.CellRect(0, N);
if N<>ARow then UpRect else DownRect;
end;
end;
Хотя может кто и лучше, что придумает..
ЗЫ DefaultDrowing = True; Вообще все свойства StringGrid"а1 по умолчанию...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c