Autor Beitrag
Holg_i
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Mo 12.12.11 19:05 
Kleines Problem.

Ich ziehe mit Drag & Drop etwas in ein TImage.
Nun müsste ich aber wissen welches MDIChild das Image binhaltet.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
Procedure TForm1.MyEndDrag(Sender, Target: TOpject; Z,Y: Integer);

Begin
     IF (Target is TImage) then
     Begin
          ???????? 
     end;
end;


Genau hier müsste ich nun herrausbekommen welches MDIChild das Target gehört.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
         For I:=0 to MDIChildCount-1 do
         Begin
              MDIChildren[I]????
         end;


So in der Art müsste es doch etwas geben oder?
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mo 12.12.11 22:05 
mir ist nicht ganz klar was das bringen soll MDIChildren[x] kann mal das dann wieder ein anderes Fenster sein.
Wenn Du es trotzdem brauchen solltest könntest Du eine Methode GetMyMDIChildrenNumber(Sender:Tform):Integer schreiben die über die MDIChildren iteriert und mit Sender vergleicht und dann entweder -1 oder den Index zurückgibt.

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
Holg_i Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Di 13.12.11 08:23 
Ich Danke für den Lösungsversuch.

Ich habe es nun so geregelt:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
    IF (Target is TImage) then
    Begin
         For I:=0 to MDIChildCount-1 do
         Begin
              For II:=0 to MDIChildren[I].ComponentCount-1 do
              Begin
                   IF MDIChildren[I].Components[II] is TImage then
                   Begin
                        IF TImage(MDIChildren[I].Components[II])=Target then
                        Begin
                              MyForm:=MdiChildren[i] as TForm2;
                              ...
                              ...
                              ...
                              ... 
                        end;
                   end;
              end;
         end;
    end;