hi leute,
kann mir evtl. einer sagen wie ich beim topgrid die zelle unter dem mauszeiger rausbekomm?
Delphi-Quellcode:
var i,i2,j: integer;
lbSource : TListBox;
lbSender: TtsGrid;
mpos:Tpoint;
gpos:Tgridcoord;
begin
lbSource := Source as TListBox;
lbSender := Sender as TtsGrid;
if Source = lb_vals then
begin
i:=0;
while i<=lbSource.count-1 do //hier muß Source stehen, du willst von source nach Sender!
begin
if lbSource.Selected [i] then
begin
mpos:=mouse.CursorPos;
lbsender.CellFromXY(mpos.x,mpos.Y,gpos.x,gpos.y);
showmessage(inttostr(gpos.X)+' ; ' + inttostr(gpos.y));
lbsender.Cell[gpos.x,gpos.Y]:=lbSource.Items[i];
.
.
nun bekomm ich immer -1,-1 als zelle geboten, was wohl daran liegt, dass mouse.cursorpos globale koordinaten liefert ? wie bekomm ich die mousekoordinaten in bezug zum uebergeordnetem objekt? parent? oder brauch ich was ganz anderes?