![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно свернуть программу [D7, XP]
SKIPtr © (2009-03-03 11:02:00)подскажите каким методом сворачиваеться приложение
SKIPtr (2009-03-12 15:02:00) [1]
> вот что не понятно - зачем делать окно, если его не показывать?
программа записана в автозапуск и работает в фоновом режиме
если нужно открыть окно запускаю программу вторично тогда появляеться окно
забыл (2009-03-11 14:28:00) [2]вот что не понятно - зачем делать окно, если его не показывать?
не пойдет:
program
begin
repeat
until
end.
{RASkov} (2009-03-11 11:26:00) [3]> [29] SKIPtr (11.03.09 09:22)
Да у тебя вся программа наверное построена на эффектах :)
Лучше переделай как правильно, а не как "заработало"...
Если правильно сделаешь, то и работать будет...
SKIPtr (2009-03-11 09:22:00) [4]так он заработал как надо при других вариантах не такие эффекты
antonn (2009-03-10 17:35:00) [5]Application.ShowMainForm:=False; подойдет?
CodeMaster (2009-03-10 15:52:00) [6]Извращенец!!
brother (2009-03-10 11:43:00) [7]> [24] SKIPtr (10.03.09 07:45)
ужОс(
{RASkov} (2009-03-10 11:37:00) [8]> [24] SKIPtr (10.03.09 07:45)
Нашел и нашел.... промолчал бы. Ибо такой ужасный способ не нужно было сюда показывать.
Может ты хотел продемонстрировать свою неграмотность? У тебя получилось :)
SKIPtr (2009-03-10 07:45:00) [9]нашел как
procedure TForm.FormCreate(Sender: TObject);
begin
...
mini := true;
...
end;
procedure TForm.FormPaint(Sender: TObject);
begin
if mini then
begin
Application.Minimize;
mini := false
end
так получаеться
end;
SKIPtr (2009-03-05 07:19:00) [10]
> А вот интересно, "скрыть из панели задач". А назад как?
вот так
h := FindWindow(nil, 'FormNm');
if h <> 0 then
begin
showwindow(h,SW_SHOW {SW_RESTORE});
h := GetWindow(h, gw_Owner);
showwindow(h,SW_SHOW {SW_RESTORE})
end
else
begin
Application.Initialize;
....
корнелий (2009-03-04 23:08:00) [11]А вот интересно, "скрыть из панели задач". А назад как? Очередное "запуздыривание в..." Вредный совет:
SHowWindow(Application.Handle, SW_Hide)наOnShow+AlphaBlend = trueиAlphaBlendValue = 0. У "Главной" формы. Без всяких минимизаций. Как доставать ея, дело Ваше.
{RASkov} (2009-03-04 21:14:00) [12]> [20] SKIPtr (04.03.09 20:47)
> в этом примере при возврате она появляеться только в панеле задач
> чтоб увидеть форму надо нажать на ее в панели задач
А если изменить так:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_SHOW);
Application.Restore;
Timer1.Enabled:=False;
end;
?
SKIPtr (2009-03-04 20:47:00) [13]в этом примере при возврате она появляеться только в панеле задач
чтоб увидеть форму надо нажать на ее в панели задач
в этот пример поставил несколько компонентов они удачно венрнулись
у меня в аналогичном примере возращаеться только пустая форма
{RASkov} (2009-03-04 10:19:00) [14]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private { Private declarations }
procedure AppMin(Sender: TObject);
public { Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.AppMin(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_HIDE);
Timer1.Enabled:=True;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Interval:=3000;
Timer1.Enabled:=False;
Application.OnMinimize:=AppMin;
WindowState:=wsMinimized;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_SHOW);
Timer1.Enabled:=False;
end;
end.
Таймер нужен только для возврата формы с того света....
brother (2009-03-04 09:04:00) [15]> FormCreate(...)
FormShow?
SKIPtr (2009-03-04 08:50:00) [16]если поставить сворачивание в FormCreate(...) оно не работает на экране все появляеться
SKIPtr (2009-03-04 08:44:00) [17]
> Скрыть приложение из панели задач:
> ShowWindow(Handle,SW_HIDE);
> ShowWindow(Application.Handle,SW_HIDE);
это я все сделал мне нужно чтоб это произошло при запуске
mmelik (2009-03-04 01:42:00) [18]Скрыть приложение из панели задач:
ShowWindow(Handle,SW_HIDE);
ShowWindow(Application.Handle,SW_HIDE);
{RASkov} (2009-03-03 20:18:00) [19]> [13] SKIPtr (03.03.09 19:10)
Значит криво как-то написано.... ибо только что проверил - все ОК (D7, WinXPSP2)
SKIPtr (2009-03-03 19:10:00) [20]
> Так что любой совет тебе не поможет пока ты не расскажешь,
> что же там у тебя за "дополнительные действия записаны")
там написано скрыть из панели задач