Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как программно свернуть программу [D7, XP]


Страницы:   1 2

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]


> Так что любой совет тебе не поможет пока ты не расскажешь,
>  что же там у тебя за "дополнительные действия записаны")


там написано скрыть из панели задач


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо