Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.26;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.055 c
15-1139236824
Dmitriy G.
2006-02-06 17:40
2006.02.26
описание протокола Blast


8-1121002218
Mr.Devil
2005-07-10 17:30
2006.02.26
Уровень сигнала на LineIn


4-1133374095
dimka_sh
2005-11-30 21:08
2006.02.26
Окно на несколько секунд


2-1139477702
Steep
2006-02-09 12:35
2006.02.26
долгии процесс


15-1139300111
unknown
2006-02-07 11:15
2006.02.26
Платная электронная почта?