Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.01.17;
Скачать: [xml.tar.bz2];

Вниз

Убрать кнопку приложения с Task Bar   Найти похожие ветки 

 
DJ Kondakov   (2009-11-25 22:08) [0]

Доброго времени суток! У меня вопрос возник. Делаю нечто вроде резидентной программы. Нужно, чтобы вместо кнопки на панели задач была иконка в SystemTray. Иконку я реализовал, а вот скрыть кнопку не получается - приложение сворачивается полностью, а мне надо, чтобы главное окно постоянно держалось открытым. Что делать? Пытался гуглить, нашел такой пример:
Ваш файл проекта должен выглядеть приблизительно так:
program Project1;

uses
Windows,
Forms,
Unit1 in "Unit1.pas" {Form1},
Unit2 in "Unit2.pas" {Form2};

{$R *.RES}

begin
Application.Initialize;
Application.ShowMainForm := False;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
ShowWindow(Application.Handle, SW_HIDE);
Application.Run;
end.

В разделе "initialization" (в самом низу) каждого unit"а добавьте

begin
ShowWindow(Application.Handle, SW_HIDE);
end.

Проблема та же - приложение запускается свернутым и без кнопки.


 
korneley ©   (2009-11-26 03:21) [1]

"запуздырить в трей?" Не надо так. Пожалейте. Хотя:

> а мне надо, чтобы главное окно постоянно держалось открытым

Это как? Неубиенное приложение - мечта девочки подростка?


 
DJ Kondakov   (2009-11-26 05:18) [2]

Почему "неубиенное"? Приложение закрывается как обычно, кнопкой "Закрыть". Просто мне надо, чтобы в развернутом состоянии оно не имело кнопки на панели задач.Так могут делать многие плееры, например Винамп и Аимп.


 
brother ©   (2009-11-26 05:26) [3]

в FormActivate:
procedure TForm1.FormActivate(Sender: TObject);
begin
 ShowWindow(Application.Handle, SW_HIDE);
end;

у меня все отрабатывает как надо (D6, XP)...
зы каким компонентом добавляешь иконку в трей? некоторые компоненты, скрытие/ показ осуществляют сами, копай исходники...


 
DJ Kondakov   (2009-11-26 05:27) [4]

Я не компонентом пользуюсь, а работаю с TNotifyIcon.


 
brother ©   (2009-11-26 05:43) [5]

[3] код попробовал? какова реакция?


 
Юрий Зотов ©   (2009-11-26 05:54) [6]

> DJ Kondakov   (25.11.09 22:08)

> Пытался гуглить, нашел такой пример:
> В разделе "initialization" (в самом низу) каждого unit"а добавьте
> begin
> ShowWindow(Application.Handle, SW_HIDE);
> end.


Елы-палы!!! Это что же за советчик такие советы дает?

> Нужно, чтобы вместо кнопки на панели задач была иконка в
> SystemTray. Иконку я реализовал, а вот скрыть кнопку не получается -
> приложение сворачивается полностью, а мне надо, чтобы главное окно
> постоянно держалось открытым. Что делать?


Не использовать сторонние компоненты и странные (мягко говоря) советы, а вместо них реализовать нужное поведение самому. Это несложно:  
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=903


 
Alex_C   (2009-11-26 08:25) [7]

Читать тут

http://delphimaster.net/view/2-1257749650/

А ответ вот:

// Чтоб не было видно на панели задач
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
Application.Initialize;
// Чтобы скрыть главную форму при загрузке
Application.ShowMainForm := False;
Application.CreateForm(TCWForm, CWForm);
Application.Run;


 
Alex_C   (2009-11-26 08:25) [8]


> в FormActivate:
> procedure TForm1.FormActivate(Sender: TObject);
> begin
>  ShowWindow(Application.Handle, SW_HIDE);
> end;
> у меня все отрабатывает как надо (D6, XP)...


Не работает это как надо... См. ссылку на тему выше!


 
sniknik ©   (2009-11-26 09:49) [9]

> Не работает это как надо... См. ссылку на тему выше!
это работает как надо, от твоих повторений, что оно не работает, работать не перестает.... проблема не в этом, а скорее в зеркале
кстати зачем ты все повторяешь если уже "нашел" ответ в "английком" форуме
http://delphimaster.net/view/2-1257749650/
?


 
DJ Kondakov   (2009-11-26 15:48) [10]

Спокойно, ребята, спокойно... Все уже работает (спасибо brother"у). Юрий Зотов, совет я взял отсюда: http://www.mydelphi.info/code/142


 
Юрий Зотов ©   (2009-11-26 18:54) [11]

> DJ Kondakov   (26.11.09 15:48) [10]
> совет я взял отсюда: http://www.mydelphi.info/code/142

Дело Ваше, но это плохой совет.


 
DJ Kondakov   (2009-11-26 19:21) [12]

Да я уже и сам понял, что плохой, ибо он не работал так, как мне надо)


 
Юрий Зотов ©   (2009-11-26 20:13) [13]

> DJ Kondakov   (26.11.09 19:21) [12]

Я не понимаю, почему бы не использовать ссылку из [6] ? Там все просто и все работает - это проверено, наверное, уже сотнями людей.


 
DJ Kondakov   (2009-11-27 04:24) [14]

Хотя бы потому, что (повторяю) все уже работает как надо)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.01.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.005 c
15-1258463255
И. Павел
2009-11-17 16:07
2010.01.17
Java Script: Вставка текста при нажатии кнопки


1-1233135151
nes
2009-01-28 12:32
2010.01.17
TPopupMenu - подменю с левой стороны


15-1258234214
Юрий
2009-11-15 00:30
2010.01.17
С днем рождения ! 15 ноября 2009 воскресенье


15-1258475407
толстенький
2009-11-17 19:30
2010.01.17
finger trees


3-1233213892
Ruslan777
2009-01-29 10:24
2010.01.17
Клиент серверное приложение!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский