Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Окно другой проги между моими окнами, Как избавиться 
V
    Опции темы
petlyura
Дата 26.11.2008, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 30.1.2008
Где: Харьков

Репутация: 2
Всего: 2



Ув. форумчане! Подскажите, как избавиться от такого неудобства интерфейса. Есть окно (1) гл. программы. По нажатию в нем кнопки появляется модально окно (2). Нажимая в нем (2) кнопку "Открыть файл", появляется стандартное окно OpenDialog, после закрытия OpenDialog'а между окнами (1) и (2) вечно влезет Word или TotalCommander. Как сделать так, чтобы никакие окна других прог не лезли между моими окнами. Чтобы если мне нужен TC, Word, etc., то я кликал их на панели задач, и только тогда они всплывали передо мной.
Че-то fsStayOnTop не помогает...
PM MAIL   Вверх
petlyura
Дата 13.1.2009, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 30.1.2008
Где: Харьков

Репутация: 2
Всего: 2



Да, кстати, эту проблему я решил. Я после закрытия всяких там OpenDialog'ов делал BringToFront своих форм и все в порядке.
Была еще проблема с тем, что модальные окна и просто сообщения создавали отдельную кнопку на панели задач. Можно было щелкания по кнопкам на панели потерять сообщения из виду или сделать слои, как я писал в топике. Решил проблему для форм через CreateParams

Код
void __fastcall TForm1::CreateParams(Controls::TCreateParams &Params)
{
TForm::CreateParams(Params);
Params.WndParent = Application->MainForm->Handle;
}

А для сообщений путем
Код

MessageBox(Application->MainForm->Handle, "ЫЫЫЫЫЫЫ", "ФФФФФФ", MB_OK);
 

Может, кому надо, пользуйтесь.
PM MAIL   Вверх
xvr
Дата 13.1.2009, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Попробуй так:
  • Вместо MessageBox используй Application->MessageBox
  • При создании модальных форм подавай твое главное окно параметром Owner в конструктор формы (или Application)
может помочь  smile 

PM MAIL   Вверх
petlyura
Дата 13.1.2009, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 30.1.2008
Где: Харьков

Репутация: 2
Всего: 2



Э-э! Так у меня уже все работает. Я ж об этом и пишу. Ведь, если задал вопрос, а потом нашел ответ, то желательно сообщить об этом, что, мол, все проблема решена, вот решение:... Чтоб, ежели кто другой попадет на мою тему знал решение, а не создавал такую же тему.

xvr, По поводу MessageBox. Когда у меня было Application->MessageBox, то формировалась отдельная кнопка на панели задач, а как сделал MessageBox(Application->MainForm->Handle, ...); так теперь все в порядке, есть только одна кнопка - кнопка главного окна
PM MAIL   Вверх
xvr
Дата 13.1.2009, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(petlyura @ 13.1.2009,  14:18)
Э-э! Так у меня уже все работает. Я ж об этом и пишу. Ведь, если задал вопрос, а потом нашел ответ, то желательно сообщить об этом, что, мол, все проблема решена, вот решение:... Чтоб, ежели кто другой попадет на мою тему знал решение, а не создавал такую же тему.

У тебя решение несколько через заднепроходное отверстие  smile То, что я написал, делает ТОЖЕ САМОЕ, но вполне законными и предусмотренными VCL методами (наверное  smile )
Цитата

xvr, По поводу MessageBox. Когда у меня было Application->MessageBox, то формировалась отдельная кнопка на панели задач, 
 Да, есть такое  smile  
Цитата

а как сделал MessageBox(Application->MainForm->Handle, ...); так теперь все в порядке, есть только одна кнопка - кнопка главного окна
 У Application->MessageBox там не только показ MessageBox, а еще 28 строк другого кода  smile 
PM MAIL   Вверх
petlyura
Дата 13.1.2009, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 30.1.2008
Где: Харьков

Репутация: 2
Всего: 2



Цитата(xvr @ 13.1.2009,  15:43)

У тебя решение несколько через заднепроходное отверстие  smile  

Ну, я это, как умею, так и делаю... Бывает, если никак не могу, то нахожу через заднепроходное...
Цитата

У Application->MessageBox там не только показ MessageBox, а еще 28 строк другого кода  smile

Это тоже может быть, просто я не в курсе был.
PM MAIL   Вверх
xvr
Дата 13.1.2009, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(petlyura @ 13.1.2009,  15:58)
Цитата(xvr @ 13.1.2009,  15:43)

У тебя решение несколько через заднепроходное отверстие  smile  

Ну, я это, как умею, так и делаю... Бывает, если никак не могу, то нахожу через заднепроходное...

Это нормально (если другого способа нет). Но для общего развития неплохо было бы знать и методы, которые были изначально сделаны в VCL для этого  smile 
Собственно именно поэтому я и написал свой первый пост   smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0471 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.