Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 3 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
Собственно пока я никак не могу найти решение или просто не туда смотрю? :)
Есть небольшая программа, в ней есть главная форма с некоторыми настройками и есть еще две диалоговые формы. Программа при запуске садится в трей и через меню можно вызвать главную форму или два диалоговых окна. И так, при запуске главная форма прячется, далее вызываем одно диалоговое окно через меню.
Конечно код вызова этого окна находится в теле главной формы, так как TPopupMenu тоже лежит там. Вызываем вот так
Код:
with TSettingsForm.create(Self) do
begin
        if ShowModal=mrOk then
        begin
               //что-то делаем с введенными данными
        end;
        Free;
end;

Как только диалоговое окно выводится, сразу на таск баре показывается сама программа, главной формы не видно, но если правой клавишей на таскбаре ткнуть в программу и выбрать Minimize , а затем Maximize, то наряду с диалоговым окном вылезет и главная форма!!! Это просто убивает. Как бы так извратится и сделать чтобы главная форма не выводилась при показе диалогового окна? Тоесть чтобы на таскбаре небыло видно саму программу.

Жду идей и предложений.

Добавлено спустя 23 минуты, 59 секунд:
Вот линк на готовый проект.
http://cp.people.overclockers.ru/cgi-bi ... aytest.rar

Добавлено спустя 26 минут, 18 секунд:
Да и вот что еще, хочу добавить , что если при старте просто делать Application.ShowMainForm:=false; а при показе Show; короче без использования этого трика

Цитата:
//FReememory Tweak
//Free unneeded memory
ShowWindow(handle,SW_MINIMIZE);
ShowWindow(handle,SW_hide);
Application.ShowMainForm:=false;

Все будет работать более менее нормально, но тогда при спрятывании формы не высвобождается память!
Наверное я должен быть сперва про это написать, а уж потом про проблему :). Так ка метод немного самопальный конечно лезут баги, но хотелось бы чтобы проблем не было.

Добавлено спустя 6 минут, 25 секунд:
Использование Application.Minimize; и Application.OnMinimize срабатывают один раз, потом на таскбаре все равно остается иконка программы :(



Партнер
 

Member
Статус: Не в сети
Регистрация: 15.04.2004
Откуда: Москва
А ты окошки в AutoCreate не создавай, ручками все, ручками.
И еще, убери флаг WS_EX_APPWINDOW из стиля главного окна. Тогда оно на таскбаре не появится.

_________________
Цель жизни - d20 по жизни...


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
Цитата:
А ты окошки в AutoCreate не создавай,

Не имею такой привычки :). А вот насчет WS_EX_APPWINDOW надо подумать, хотя если его не будет на таскбаре, то на десктопе оно все равно вылезет собака.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 3 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan