Miten saadaan aikaan omaan ohjelmaan raahattava komponentti. Eli miten helposti voin siirtää vaikkapa image-komponenttia tekemäni ohjelman ikkunassa toiseen paikkaan.
"Raahaaminen"
M i t e n
3304
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 3
Vanhimmat
aika helppoa se on ja tässä on ihan simppeleitä esimerkkejä, toivottavasti niistä on apua:
http://delphi.about.com/od/vclusing/a/dragdrop.htm
Testaa kuvan liikutelua lomakkeella vaikkapa tällä esim. koodilla.
Luo ensin uusi sovellus. Laita lomakkeelle (form) button ja image-komponentit.
Generoi seuraavat IDE:llä seuraavat tapahtuma rungot ja täydennä ne seuraavasti
(jolloin saat sovelluksen joka toisella napin painaksuella voidaan liikuttaa kuvaa).
procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
if Source is TImage then
begin
TImage(Source).Left := X;
TImage(Source).Top := Y;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if Image1.DragMode=dmManual
then Image1.DragMode:=dmAutomatic
else Image1.DragMode:=dmManual ;
end;
procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := (Source is TImage) ;
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if ssCtrl in Shift then Image1.BeginDrag(True) ;
end;
Raahamisen opetusta:
http://users.jyu.fi/~vesal/kurssit/winohj/delphi/moniste/m/d.html#Heading463