Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2008, 20:12   #1
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
Смущение Свернуть все окна

Привет всем!
Есть главная форма: main_form;
из неё по нажатию кнопки открываеться другая, не модальная форма из dll библиотеки: form_2;
Ну вызываеться, работает. Всё ОК.
Но вот подумал, что будит лучше, если иконка проги не в таск баре будит, а в трее. Поставил компонент tTrayIcon, в main_formShow написал: ShowWindow(Application.Handle, SW_HIDE); Nbgf всё ОК, но: Когда делаю свернуть все окна, происходят какие-то странности.
Вообще гадости какие-то, описывать не буду.

Короче, нужно так:
1. main_form.formStyle может быть fsNormal, а может и fsStayOnTop.
2. При win+d, или при клику по иконке в трее, если прога со всеми или с одной формой показываеться, спрятать его. И на оборот.

Надеюсь, всё ясно...
Altera вне форума Ответить с цитированием
Старый 22.05.2008, 06:42   #2
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Чесно говоря лень было dll'ку писать, но в принципе какая разница?

Код:
procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
Application.ShowMainForm := false;
ShowWindow(Application.Handle,SW_HIDE);
ShowWindow(Application.MainForm.Handle, SW_HIDE);
TrayIcon1.Visible := true;
end;

procedure TForm1.TrayIcon1Click(Sender: TObject);
begin
TrayIcon1.Visible := false;
Application.ShowMainForm := true;
ShowWindow(Application.Handle, SW_RESTORE);
ShowWindow(Application.MainForm.Handle, SW_NORMAL);
SetForegroundWindow(Application.MainForm.Handle);
end;
Вроде никаких проблем не заметил...
Баламут вне форума Ответить с цитированием
Старый 22.05.2008, 09:26   #3
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Не совсем, то, что надо. Но всё равно, спасибо!
Altera вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Свернуть все окна Veiron Общие вопросы Delphi 7 24.05.2012 16:13
Свернуть окна Михаил Юрьевич Общие вопросы Delphi 9 06.06.2008 19:16
Размер окна в зависимости от размера окна Reverent JavaScript, Ajax 1 02.02.2008 15:49
закрыть все дочерни окна, кроме главного окна Worms Общие вопросы Delphi 2 03.12.2007 22:18
Как сделать чтобы дочерние окна в MDI-приложениях были вне главного окна??? dimonchuk Общие вопросы Delphi 1 11.08.2007 12:13