Форум: "Основная";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
ВнизStringGrid Найти похожие ветки
← →
VEZ (2006-01-24 14:04) [0]Нужно вставить в ячейку грида спинэдит, самый простой способ конечно подставить спинэдит под координаты ячейки, как правильно вычислить эти координаты.
← →
Yanis © (2006-01-24 14:41) [1]
function CellRect(ACol, ARow: Longint): TRect;
При помощи этой функции можно узнать положение клетки относительно "сетки". А дальше делай с этими координатами что пожелаешь.
← →
EvS (2006-01-24 14:42) [2]Delphi Help
CellRect method (TDrawGrid)
Returns the screen coordinates of a cell in the grid.
Delphi syntax:
function CellRect(ACol, ARow: Longint): TRect;
TRect defines a rectangle
TRect = packed record
case Integer of
0: (Left, Top, Right, Bottom: Integer);
1: (TopLeft, BottomRight: TPoint);
end;
← →
VEZ (2006-01-24 14:46) [3]Дак это понятно, но там координаты-то относительно чего выдаются, надо пересчитать координаты сспинэдита относительно них.
← →
Yanis © (2006-01-24 14:55) [4]hopeless case
← →
Yanis © (2006-01-24 15:16) [5]
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
var
p: TPoint;
begin
with StringGrid1 do
begin
P := Point(CellRect(ACol, ARow).Left, CellRect(ACol, ARow).Top);
Caption := Format("Left %d, Top %d", [P.X, P.Y]);
SpinEdit1.Width := StringGrid1.ColWidths[ACol] + GridLineWidth;
SpinEdit1.Height := StringGrid1.RowHeights[ARow] + GridLineWidth;
SpinEdit1.Left := P.X + GridLineWidth + 1 + Left;
SpinEdit1.Top := P.Y + GridLineWidth + 1 + Top;
end;
end;
Помоему внедрение компонентов делается немного не так...
← →
Amoeba © (2006-01-24 15:49) [6]Используй XStringGrid. Бсплатный, с исходниками. Там это уже встроено.
http://www.eye.ch/~mduerig/prog/
← →
VEZ (2006-01-24 17:04) [7]XStringGrid и использую, только он немного глючный и неудобный, и спинэдит там только целые значения понимает.
← →
Amoeba © (2006-01-25 11:34) [8]
> VEZ (24.01.06 17:04) [7]
> XStringGrid и использую, только он немного глючный и неудобный,
> и спинэдит там только целые значения понимает.
Посмотри, как это сделано в исходниках того-же XStrinGrid или DBGridEh (из EhLib) и сделай сам по аналогии.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.046 c