Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.13;
Скачать: CL | DM;

Вниз

Как запустить программу в свернутом в трей виде (невидимо)?   Найти похожие ветки 

 
lipskiy ©   (2003-02-02 20:22) [0]

Использую TRXTrayIcon. Когда программа запущена, то все работает верно - Hide - гашу окно, Show - показываю. Но никак не получается запустить программу в состоянии "свернутости" в трей, то есть чтоб окно не было видно ни на рабочем столе ни на панели задач. Окно всегда отображается.
Строчка ShowWindow(Application.Handle, SW_HIDE); не помогает.
Как запустить программу так, чтоб только иконка в трее и светилась, а больше чтоб ничего не было видно?


 
Eugene1501   (2003-02-02 20:27) [1]

Попробуй у главной формы WindowState сделать равным Minimized.


 
mrcat ©   (2003-02-02 20:32) [2]

ну, если очень хочется, ShowWindow(Application.Handle, SW_HIDE), так делайте - OnActivate;


 
lipskiy ©   (2003-02-02 20:34) [3]

Это я пробовал - окно свернуто, но зажигается кнопка на панели задач, и ее никак не погасить при запуске :(


 
lipskiy ©   (2003-02-02 20:39) [4]

Делал я по всякому - на ОнАтивэйт тоже. Либо кнопка на панели задач светится, либо окно, но все вместе не погасить! Экспериментирую на пустой форме - так что ничто мешать не может. Не выходит!


 
mrcat ©   (2003-02-02 20:44) [5]

х.з. ничего не светится...


 
lipskiy ©   (2003-02-02 21:05) [6]

Может как то влиять, что я под XP?


 
Романов Р.В. ©   (2003-02-02 21:09) [7]

В OnCreate главной формы

Application.ShowMainForm := False;


 
keymaster ©   (2003-02-02 21:42) [8]

Application.ShowMainForm := False;

Можно написать это в самом DPR,
перед Application.run;


 
lipskiy ©   (2003-02-02 21:51) [9]

Вопрос решен. Спасибо VID.
Кому интересно, вот код.

Procedure TForm1.HideMainForm;
VAR WNHND:INTEGER;
begin
Application.ShowMainForm := false;
ShowWindow(Application.Handle, SW_HIDE);
WnHnd := GetWindowLong(Application.Handle, GWL_EXSTYLE);
WnHnd := WnHnd or WS_EX_TOOLWINDOW;
SetWindowLong(Application.Handle, GWL_EXSTYLE, WnHnd);
end;

procedure Form1.FormCreate(...);
begin

hidemainform;
end;


 
Юрий Зотов ©   (2003-02-03 00:29) [10]

Красивый код. Но он станет еще красивее, если его полностью выкинуть. А вместо всего этого вставить в OnCreate одну-единственную строку. Ту самую, о которой говорил Романов Р.В. © (02.02.03 21:09).

И будет так же работать.

Sorry...


 
lipskiy ©   (2003-02-04 20:33) [11]

Романов Р.В. © (02.02.03 21:09)
keymaster © (02.02.03 21:42)
Юрий Зотов © (03.02.03 00:29)

Вы совершенно правы! Спасибо!



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

Текущий архив: 2003.02.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
9-38004
Namo
2002-08-29 15:42
2003.02.13
OpenGL


3-38105
Victor_
2003-01-27 14:08
2003.02.13
ADOQuery + сортировка


1-38306
msoftware
2003-02-06 06:32
2003.02.13
Сохранение иконки в типизированный файл


1-38367
Anton
2003-02-04 10:23
2003.02.13
Как можно русифицировать ошибки, есть ли у них номер


3-38141
Ag2002
2003-01-28 17:08
2003.02.13
Пустая дата