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

Ваш аккаунт

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

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

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

Определение окон в MDI приложении, навигация по окошкам?

1.6K
25 декабря 2003 года
Grom2025
82 / / 20.03.2003
Помогите плиз!!! Нужно узнать какие окна в MDI приложении открыты и получать к ним доступ... причем именно к конкретному окну, а не к его какому-то экземпляру (который выбирается совершенно случайным образом):{
310
25 декабря 2003 года
fellow
853 / / 17.03.2003
Заведите в своей программе список всех открываемых окон, задайте им свои собственные опознавательные знаки и идетификаторы, выбирайте то окно, которое Вам нужно.
1.6K
25 декабря 2003 года
Grom2025
82 / / 20.03.2003
Цитата:
Originally posted by fellow
Заведите в своей программе список всех открываемых окон, задайте им свои собственные опознавательные знаки и идетификаторы, выбирайте то окно, которое Вам нужно.



А вот я заметил что в менюшке "Window" в конце винда сама добавляет пунктики и очень даже нормально определяет к какому окну он (пункт) относиться, как бы этим воспользоваться... (кстати я до сих пор не понял как данный фьючер в меню включается ж-))

310
25 декабря 2003 года
fellow
853 / / 17.03.2003
Цитата:
Originally posted by Grom2025


А вот я заметил что в менюшке "Window" в конце винда сама добавляет пунктики и очень даже нормально определяет к какому окну он (пункт) относиться, как бы этим воспользоваться... (кстати я до сих пор не понял как данный фьючер в меню включается ж-))


А-а-а, Вы в этом смысле.
Включается эта возможность путём установления в главной форме приложения свойства WindowMenu. Когда Вы положите на главную форму компонент главного меню и наполните его соответствующими для MDI пунктами ("Файл", "Окно", "Справка"), то вот имя пункта "Окно" следует указать в свойстве WindowMenu.
Создавайте своё приложение на основе предлагаемого билдером шаблона для МДИ-приложений (File->New..., затем в диалоговом окне вкладка Projects). В этом случае Вы получите работающий костяк программы с пополняемым меню "Окно".

1.6K
25 декабря 2003 года
Grom2025
82 / / 20.03.2003
Огромное спасибо!!!:angel:
293
25 декабря 2003 года
SEDEGOFF
586 / / 06.10.2002
А так есть такие свойство
которое определено глобально


if(MDIChildCount>0)
for(int i = MDIChildCount-1; i >= 0; i--)
MDIChildren->Close();
1.6K
25 декабря 2003 года
Grom2025
82 / / 20.03.2003
Цитата:
Originally posted by SEDEGOFF
А так есть такие свойство
которое определено глобально


if(MDIChildCount>0)
for(int i = MDIChildCount-1; i >= 0; i--)
MDIChildren->Close();



Немного не то. Дело в том, что MDIChildren может оказаться любым дочерним окном, т.е. если мы хотим показать только определенное окно (например frmA на котором есть TEdit, причем у нас открыто 5 его экземпляров и в каждом мы редактируем различный текст) то не факт что мы попадем в то окно которое нам нужно, единственный вариант остаётся только смотреть на
MDIChildren->Caption! А для этого все заголовки окон должны быть разными (в общем это не очень удобно), к тому-же винды как-то определяют какое окно есть какое и даже подставляют его в меню... а делать работу несколько раз, меня как-то не устраивает (зачем изобретать велосипед?)

Кстати fellow !!! Чto-то не работает WindowMenu в MDI форме!!!

293
25 декабря 2003 года
SEDEGOFF
586 / / 06.10.2002
Во первых каждое создаваемое окно MDI должно иметь свой каптион (по правилам хорошего тона)

Возможно тогда тебе пригодиться такой код

if(Application->FindComponent("Form2")==NULL)
{
Screen->Cursor = crHourGlass;
Application->CreateForm(__classid(TForm2), &Form2);
Form2->Show();
Screen->Cursor = crDefault;
}
else
{
TForm *q = (TForm *)Application->FindComponent("Form2");
q->WindowState = wsMaximized;
q->Show();
}
357
26 декабря 2003 года
Тимофей
112 / / 20.02.2000
Преобразуй указатели например
((TEditForm*)ActiveMDIChild)->Close();

Раз десять перечитал твой вопрос так и не понял что ты хочешь узнать

Цитата:
только определенное окно (например frmA на котором есть TEdit, причем у нас открыто 5 его экземпляров !!!




Цитата:
Кстати fellow !!! Чto-то не работает WindowMenu в MDI форме!!!


Неправда должно работать. Смотри тот ли ты пункт меню выбираешь в свойстве WindowMenu

310
26 декабря 2003 года
fellow
853 / / 17.03.2003
Цитата:
Originally posted by Grom2025
Чto-то не работает WindowMenu в MDI форме!!!


Вот посмотрите этот примерчик:

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