Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Активное окно в CLX приложениях 
:(
    Опции темы
Alex Uskov
Дата 17.6.2003, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.6.2003

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



Создаю простой проект в Kylix
две формы
на главной форме(form1) кнопка
по кнопке происходит вызов
Form2:=TForm2.Create(Self);
Form2.Show;

В Kylix программа работает без претензий

Загружаю этот же проект в Delphi7(CLX)
запускаем
(смотрим список приложений по ALT-TAB - одна иконка)
нажимаем кнопку
активируется форма form2
(смотрим список приложений по ALT-TAB - две иконки для моего приложения
, причём если добавить
ещё одну форму в проект и показать три формы по ALT-TAB всё равно имеем две иконки)

закрываем форму form2
форма form1 не становится активной

Собственно вопрос:
Почему form1 не становится активной?
Почему по ALT-TAB имеем две иконки для приложения?




PM MAIL   Вверх
Vit
Дата 19.6.2003, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Цитата(Alex @ 17.6.2003, 02:08)
Почему по ALT-TAB имеем две иконки для приложения?

Это механизмы работы QT - сходно работает например MS Access - по иконке на каждый открытый документ... ИМХО, под Linux просто по другому не сделать...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Alex Uskov
Дата 3.7.2003, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.6.2003

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



Цитата
Это механизмы работы QT - сходно работает например MS Access - по иконке на каждый открытый документ... ИМХО, под Linux просто по другому не сделать...


Интересно всё таки было-бы узнать что это за механизмы такие
и как с этими механизмами бороться

но это не настолько важный вопрос
намного больше очень интересует вопрос:
Почему form1 не становится активной?

немного покопал в этом направлении и установил
что под windows clx aplication при закрытии окна фокус отдаётся его ParentWidget,
а конструктор TCustomForm.Create(AOwner: TComponent) создаёт форму
с ParentWidget = nil и соответственно сообщение QEventType_WindowActivate
передаётся вникуда
Можно конечно создавать формы конструктором CreateParented но
тогда ParentWidget будет отображаться всегда под дочерним окном даже
если имеет фокус ввода
Допустим и с этим можно смириться, но сразу же возникает
новый вопрос почему после закрытия окна фокус передаётся его ParentWidget,
а не предидущему активному окну в списке?






PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

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

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

2. Публиковать ссылки на варез

3. Оффтопить

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

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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




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


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

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