Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.13;
Скачать: CL | DM;

Вниз

ChildForm вопрос по активной форме   Найти похожие ветки 

 
Lionzi ©   (2003-10-02 13:55) [0]

Вопрос такой: при открытии нескольких окон по следущей процедуре

begin
if OpenPictureDialog1.Execute then // если файл выбран, то выполнять следующее
begin
ChildForm := TChildForm.Create(Self);//открыть дополнительное окно
ChildForm.Image1.Picture.loadFromFile(OpenPictureDialog1.FileName);//открыть в этом окне заданный файл
ChildForm.Caption := OpenPictureDialog1.FileName;//присвоить окну имя файла
end;


Как положено окна открываются, но в случии необходимости внести изменение в свойства:
begin
if ChildForm.Image1.Stretch = True // если Stretch равно true
then ChildForm.Image1.Stretch := False // то присвоить ему значение false
else ChildForm.Image1.Stretch := True // иначе, присвоить значение true
end;

Изменение действует только на последнюю открытую форму, а не на активную в данный момент.

Как запустить последнюю процедуру для активного в данный момент окна?

Помогите пожалуста решить данную проблему!

Заранее благодарен, Александр.


 
Skier ©   (2003-10-02 13:57) [1]

TForm.ActiveMDIChild ?


 
Radionov Alexey ©   (2003-10-02 14:17) [2]

Вот это:
if ChildForm.Image1.Stretch = True // если Stretch равно true
then ChildForm.Image1.Stretch := False // то присвоить ему значение false
else ChildForm.Image1.Stretch := True // иначе, присвоить значение true

заменить этим:
if Assigned(ActiveMDIChild) then
with (ActiveMDIChild as TChildForm).Image1 do
Stretch := not Stretch

А то, что ChildForm показывает на последнюю созданную форму, следует из способа, которым ты их создаешь.
Так что ActiveMDIChild спасет отца русской демократии :)


 
Rem ©   (2003-10-02 14:26) [3]

Если пишешь проект с динамически создаваемыми формами, то...
на (далекое) будущее:
Выкинь из модуля объявление:
var
ChildForm: TChildForm;
И забудь про эту переменную!

Ну и... убери форму из списка автоматически создаваемых (в настройках проекта).



Страницы: 1 вся ветка

Текущий архив: 2003.10.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
7-40694
tvic
2003-07-31 18:32
2003.10.13
Перевод часов


14-40650
Дмитрий
2003-09-24 05:08
2003.10.13
Монитор Samsung SyncMaster 959 NF.


1-40379
GH@ST
2003-10-01 12:47
2003.10.13
Как перебрать список всех открытых окон


14-40632
MsGuns
2003-09-24 13:04
2003.10.13
А любят ли программеры грибы ?


14-40662
Журнал "Здоровье"
2003-09-23 22:45
2003.10.13
Нам пишут