Okna child

0

Mam program z oknami child. W tych oknach mam Image z obrazami. Otwieram nowe okno z opcjami filtru. Klikam OK i filtr powinien zastosowac sie na obrazie w aktywnym oknie. To:

<delphi> (ActiveMDIChild as TImageForm).Image.Picture.Graphic.Assign(imgPreview.Picture.Graphic); <delphi>

wywala access violation, a to:

<delphi> ImageForm.Image.Picture.Graphic.Assign(imgPreview.Picture.Graphic); <delphi>

dziala na pierwszym z brzegu oknie. F1, F1, F1!

0

No, ludzie co jest... Czy tylko ja nie wiem jak to napisac?

0

Jak masz okno z childami to możesz się do nich odwoływać poprzez tablicę formularzy (okien "dzieci") zapisaną w parametrze MDIChildren.
Ponieważ jednak nowe okna pojawiają się podobnie jak elementy na stosie więc ostatnio utworzony zawsze ma numer 0.

Jak chcesz się do nich odwoływać to użyj MDIChildCount
var I: Integer;
begin
with Form1 do
for I := MDIChildCount-1 downto 0 do
MDIChildren[I].Captioin:=
'Okno numer '+IntToStr(i+1);
end;

0

Nie o to mi chodzi co napisal kalifat :-( . Chce wykonac operacje tylko na tym oknie child, z ktorego wywolalem nowe okno (fsNormal). Obrazowo: Photoshop jast softem MDI, a filtry sa w nowyvh oknach otwierane; po wduszeniu OK/Zastosuj filtr zostanie zastosowany na tym jednym konkretnym obrazie. Rozimiecie o co mi chodzi?

1 użytkowników online, w tym zalogowanych: 0, gości: 1