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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.008 c
6-1200754867
guard_gg
2008-01-19 18:01
2009.04.26
icmp result после udp send


2-1237296025
LLL
2009-03-17 16:20
2009.04.26
TListView. Показать нужную строку.


15-1235680515
Petr V. Abramov
2009-02-26 23:35
2009.04.26
" я не не алкашь и не пьяница я" :)


2-1236972630
TStas
2009-03-13 22:30
2009.04.26
Как из битмапа сделать значок?


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





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский