Witam!!!!
Szukałem conieco ale nie znalazłem odpowiedzi na mój problem oto on:
Własnie robie w delphi mały programik podobny do Visio , czyli po prawej stronie mam obrazki przeciagam je na Canvas i wtedy robi sie kopia tego obrazka, wszystko szło gładko do mometu aż natrafiłem na taki problem, obrazki tworzą sie dynamicznie mniej wiecej tak:
.....................
Procedure stworzobraz (w1,w2:integer); //generowanie obrazu parametry w1-wysokosc, w2 - szerokosc
...........
l1,l2,l3,l4,l5,l6,l7:integer; //liczniki kolejnych obrazkow
imgn:string;//nazwa genrowanego obrazka
imgs:timage;//zrodlowy obrazek
..................procedure Tform1.stworzobraz(w1,w2:integer);
begin
if (((mouse.CursorPos.X-(w1/2))>shape1.Left)and
((mouse.CursorPos.X+(w1/2))<(shape1.Left+shape1.Width)) and
((mouse.CursorPos.Y-w2)>shape1.Top)and
((mouse.CursorPos.y)<(shape1.Top+shape1.Height)) and
(shape1.Visible=true))
then
begin
img:=timage.Create(form1);
with img do
begin
Name:=imgn;
Left:=mouse.CursorPos.X-round(w1/2);
Top:=mouse.CursorPos.Y-round(w2);
Picture.Bitmap:=imgs.Picture.Bitmap;
Width:=w1;
Height:=w2;
proportional:=true;end; img.Parent:=Form1; end else showmessage('Przenoszony obrazek musi znajdować sie nad polem pomieszczenia');
end;
...................
Chodzi o to że obrazki trzeba jeszcze bedzie powiekszac, obracać i przesuwać ale to wiem jak zrobić , problemem jest zaznaczenie obrazka tzn. jeżeli klikne na stworzony obraz na Canvas to w tym momencie chciałbym żeby nazwa obrazka przypisywała mi sie do zmiennej typu timage tak aby można było robić z tym "kliknietym" obrazkiem wszystko. W tym momencie przychodzi mi do głowy tylko to żeby zrobic tablice z aktualnym położeniem danego obrazka na canvas ale to nie wchodzi w gre bo obrazki mogą sie nakładać na siebie i wtedy sieczka. Interesuje mnie coś takiego jak dynamiczne dodawanie procedury do danego obrazka czyli np OnClick- TempImage:=nazwa-kliknietego-obrazka i tyle.
Macie jakies pomysły??