Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Определение окна в MDI приложениях

520
16 ноября 2007 года
inkognitum
155 / / 03.05.2006
Добрый день!

Вот такая проблема:
У меня многооконное приложение...
допустим есть окно - FormKontragent я его создаю вот таким кодом:
 
Код:
Application->CreateForm(__classid(TFormKontragent), &FormKontragent);


Таких окон пользователь может создать сколько захочет...
в каждом экземпляре окна есть кнопочка (...) при нажатии на эту кнопку открывается совершенно другое окно со списком "Контрагентов" при выборе двойным шелчком на определенного контрагента он должен высветится в том окне гда мы нажали на кнопку (...)

проблема в том что я не могу понять как можно определить то окно где я именно нажал на кнопку (...) и как обратится к именно к нему чтобы присвоить полю значение если таких экзепляров окон отрыто 5-6.

Заранее спасибо!
11
16 ноября 2007 года
oxotnik333
2.9K / / 03.08.2007
Создавать MDI окна:
TFormKontragent *FormKontragent = new TFormKontragent(Application);
MDIForm->Show();
Доступ к конкретному окну TCustomForm::MDIChildren
можно еще передавать на основе какого окна "третье" создается:
this->Handle;
520
17 ноября 2007 года
inkognitum
155 / / 03.05.2006
Цитата: oxotnik333
Создавать MDI окна:
TFormKontragent *FormKontragent = new TFormKontragent(Application);
MDIForm->Show();
Доступ к конкретному окну TCustomForm::MDIChildren
можно еще передавать на основе какого окна "третье" создается:
this->Handle;



Спасибо.
Только как мне определить под каким номеров идет данное окно?
И вот я создаю окно на основании другого как в том которое создал определить этот хандл?

я вот делаю так:

 
Код:
TForm21(Owner).lblRoditelID->Caption = Form1->ADOQuery1->FieldByName("id")->AsInteger;


он у меня почему то создает новое окно!
11
17 ноября 2007 года
oxotnik333
2.9K / / 03.08.2007
Цитата: inkognitum
Спасибо.
Только как мне определить под каким номеров идет данное окно?
И вот я создаю окно на основании другого как в том которое создал определить этот хандл?



TComponent *own = this->Owner;
TForm *frm = (TForm *) own ;
HWND hwnd = frm->Handle;

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог