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

Вниз

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

 
SKIPtr   (2009-03-03 11:02) [0]

подскажите каким методом сворачиваеться приложение


 
Palladin ©   (2009-03-03 11:09) [1]

Ты не поверишь. Приложение.Минимизировать


 
Anatoly Podgoretsky ©   (2009-03-03 11:12) [2]

> SKIPtr  (03.03.2009 11:02:00)  [0]

Что это и куда?


 
faiwer ©   (2009-03-03 13:28) [3]

Application.Minimize;


 
SKIPtr   (2009-03-03 14:07) [4]


> faiwer ©   (03.03.09 13:28) [3]


спасибо видимо забывать стал

подскажите где его лучше поставить чтоб окно минимизировалось при запуске программы


 
faiwer ©   (2009-03-03 14:10) [5]

а вот это уже проблема.. помню тока что просто так проблема не решалась, поищи на delphiworld, там были статейки на эту тему


 
clickmaker ©   (2009-03-03 14:14) [6]

> где его лучше поставить чтоб окно минимизировалось при запуске
> программы

WindowState = wsMinimized у главной формы не подойдет?


 
{RASkov} ©   (2009-03-03 14:19) [7]

> [4] SKIPtr   (03.03.09 14:07)

procedure TГлавнаяФорма.FormCreate(...);
begin
 WindowState:=wsMinimized;
....
end;


 
SKIPtr   (2009-03-03 16:26) [8]


> procedure TГлавнаяФорма.FormCreate(...);
> begin
>  WindowState:=wsMinimized;
> ....
> end;


1 это не работает форма нормально появляеться
2 у меня в своистве Application.OnMinimize записаны дополнительные действия при сворачивании


 
faiwer ©   (2009-03-03 16:50) [9]

oncreate => Form.left:=-Form.width;
onshow => if ... then hide;

вот так ещё можно.. ето конечно извращение, но.. =)


 
SKIPtr   (2009-03-03 17:04) [10]

ойй как
чет там непонятно


 
faiwer ©   (2009-03-03 17:12) [11]

когда создаёшь форму задаёшь её Left так чтобы она оказалась за пределами экрана =) ну или Top
после того форма загрузилась.. ну или по таймеру её скрываешь =)


 
{RASkov} ©   (2009-03-03 17:17) [12]

> [8] SKIPtr   (03.03.09 16:26)
> 1 это не работает форма нормально появляеться

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


 
SKIPtr   (2009-03-03 19:10) [13]


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


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


 
{RASkov} ©   (2009-03-03 20:18) [14]

> [13] SKIPtr   (03.03.09 19:10)

Значит криво как-то написано.... ибо только что проверил - все ОК (D7, WinXPSP2)


 
mmelik ©   (2009-03-04 01:42) [15]

Скрыть приложение из панели задач:
   ShowWindow(Handle,SW_HIDE);
   ShowWindow(Application.Handle,SW_HIDE);


 
SKIPtr   (2009-03-04 08:44) [16]


> Скрыть приложение из панели задач:
>    ShowWindow(Handle,SW_HIDE);
>    ShowWindow(Application.Handle,SW_HIDE);


это я все сделал мне нужно чтоб это произошло при запуске


 
SKIPtr   (2009-03-04 08:50) [17]

если поставить сворачивание в FormCreate(...) оно не работает на экране все появляеться


 
brother ©   (2009-03-04 09:04) [18]

> FormCreate(...)

FormShow?


 
{RASkov} ©   (2009-03-04 10:19) [19]

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.


Таймер нужен только для возврата формы с того света....


 
SKIPtr   (2009-03-04 20:47) [20]

в этом примере при возврате она появляеться только в панеле задач
чтоб увидеть форму надо нажать на ее в панели задач

в этот пример поставил несколько компонентов они удачно венрнулись
у меня в аналогичном примере возращаеться только пустая форма


 
{RASkov} ©   (2009-03-04 21:14) [21]

> [20] SKIPtr   (04.03.09 20:47)
> в этом примере при возврате она появляеться только в панеле задач
> чтоб увидеть форму надо нажать на ее в панели задач

А если изменить так:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 ShowWindow(Application.Handle, SW_SHOW);
 Application.Restore;
 Timer1.Enabled:=False;
end;

?


 
корнелий   (2009-03-04 23:08) [22]

А вот интересно, "скрыть из панели задач". А назад как? Очередное "запуздыривание в..." Вредный совет: SHowWindow(Application.Handle, SW_Hide) на OnShow + AlphaBlend = true и AlphaBlendValue = 0. У "Главной" формы. Без всяких минимизаций. Как доставать ея, дело Ваше.


 
SKIPtr   (2009-03-05 07:19) [23]


> А вот интересно, "скрыть из панели задач". А назад как?


вот так

 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;  
      ....


 
SKIPtr   (2009-03-10 07:45) [24]

нашел как
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;


 
{RASkov} ©   (2009-03-10 11:37) [25]

> [24] SKIPtr   (10.03.09 07:45)

Нашел и нашел.... промолчал бы. Ибо такой ужасный способ не нужно было сюда показывать.
Может ты хотел продемонстрировать свою неграмотность? У тебя получилось :)


 
brother ©   (2009-03-10 11:43) [26]

> [24] SKIPtr   (10.03.09 07:45)

ужОс(


 
CodeMaster ©   (2009-03-10 15:52) [27]

Извращенец!!


 
antonn ©   (2009-03-10 17:35) [28]

Application.ShowMainForm:=False; подойдет?


 
SKIPtr   (2009-03-11 09:22) [29]

так он заработал как надо при других вариантах не такие эффекты


 
{RASkov} ©   (2009-03-11 11:26) [30]

> [29] SKIPtr   (11.03.09 09:22)

Да у тебя вся программа наверное построена на эффектах :)
Лучше переделай как правильно, а не как "заработало"...
Если правильно сделаешь, то и работать будет...


 
забыл   (2009-03-11 14:28) [31]

вот что не понятно - зачем делать окно, если его не показывать?
не пойдет:
program
begin
repeat
until
end.


 
SKIPtr   (2009-03-12 15:02) [32]


> вот что не понятно - зачем делать окно, если его не показывать?


программа записана в автозапуск и работает в фоновом режиме
если нужно открыть окно запускаю программу вторично тогда появляеться окно



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

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

Наверх




Память: 0.54 MB
Время: 0.013 c
2-1237188570
Zalum
2009-03-16 10:29
2009.04.26
открыть страницу в Internet Explorer-e. ShellExecute


15-1235387694
@!!ex
2009-02-23 14:14
2009.04.26
Как записать происходящее на рабочем столе во Flash.


15-1235338994
alex-drob
2009-02-23 00:43
2009.04.26
перевод из integer в byte и наоборот


2-1236675882
Mozgan
2009-03-10 12:04
2009.04.26
Какой компонент отвечает за работу пинга?


3-1220117523
mefodiy
2008-08-30 21:32
2009.04.26
Ошибка в триггере MySQL