hi
ich hab 8 panels (name:stoff[i]) und ein stringgrid mit ''8'' zeilen. neben der ersten zeile liegt stoff1, neben der 2. stoff2 ...
wenn ich nun ein panel aufs andere ziehe, soll sich die zeile, die zum dragdrop panel gehört aus der zeile des begindrag panel ergeben. mein sourcecod funktioniert nicht wirklich:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| procedure TForm1.Stoff2DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin if source is tpanel then accept := true; end;
procedure TForm1.Stoff1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if sender = stoff1 then sen:=1; if sender = stoff5 then sen:=5; if sender = stoff2 then sen:=2; if sender = stoff6 then sen:=6; if sender = stoff3 then sen:=3; if sender = stoff7 then sen:=7; if sender = stoff4 then sen:=4; if sender = stoff8 then sen:=8; (findcomponent('stoff'+inttostr(sen))as Tpanel).begindrag(false); end;
procedure TForm1.Stoff1DragDrop(Sender, Source: TObject; X, Y: Integer); var i : integer; begin if source = stoff1 then sen2:=1; if source = stoff5 then sen2:=5; if source = stoff2 then sen2:=2; if source = stoff6 then sen2:=6; if source = stoff3 then sen2:=3; if source = stoff7 then sen2:=7; if source = stoff4 then sen2:=4; if source = stoff8 then sen2:=8;
for i := 2 to 10 do stringgrid1.Cells[i,sen2+1]:= stringgrid1.Cells[i,sen+1]; showmessage(''); end; |
bräuchte hilfe
