[delphi] minimalizacja okna

0

jak zminimalizować wszystkie okna po naciśnięciu buttona ???

thx

0

Wszystkie twoje okna? Jak masz aplikację MDI to wystarczy dodać do Form1, tam gdzie inne komponenty:
WindowMinimizeAll1: TWindowMinimizeAll;

A w Action np. Buttona: Button1.Action := WindowMinimizeAll1;--Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

0

nuie chodzi oto aby wszystkie okna na pulpicie zminimalizować ...

0

to znalazlem na pl.comp.lang.delphi

"Autor:J ( [email protected] )
Temat Jak zminimalizowac ....
Data:1998/11/22

Miroslaw Lewandowski napisał(a) w wiadomości: ...

Czesc !
Czy ktokolwiek moze mi pomoc - nie wiem jak przy uruchomieniu mojego
programu zminimalizowac wszystkie inne ...
Z gory dzieki. Mirek

W pliku dpr umieszczasz następujący kod:

var uchwyt:HWND;

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
{Kod minimalizujacy wszystkie widoczne okna**}

uchwyt:=GetTopWindow(0);
while uchwyt0 do
begin
if IsWindowVisible(uchwyt) then
PostMessage(uchwyt,WM_SYSCOMMAND,SC_MINIMIZE,0);
uchwyt:=GetNextWindow(uchwyt,GW_HWNDNEXT);
end;

{*************************************************************}
Application.Run;
end.

Klauzulę uses uzupelniasz o moduły Windows i Messages.

Jeśli chcesz zminimalizować wszystkie działające aplikacje zamień
wstawiony kod na:
PostMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_MINIMIZE,0); ;))))

--
pppozdrowka od J
"

--
-=-=[ Delphi 3, 6 ]=-=-
-=-=-==[ LKS ]==-=-=-
-=[ [email protected] ]=-

0

dzieki

0

Dryobates napisał:
Wszystkie twoje okna? Jak masz aplikację MDI to wystarczy dodać do Form1, tam gdzie inne komponenty:
&gtWindowMinimizeAll1: TWindowMinimizeAll;

Gdzie jest ten komponent? Nie moge go znalezc na zakladkach. Czy to Delphi 6 PE, czy ja sie nie umiem polapac?

[pozniej]
znalazlem w helpie ze mam kliknac prawym na Action Manager. Gdzie on jest?

--
Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

0

pq napisał:
Gdzie jest ten komponent? Nie moge go znalezc na zakladkach. Czy to Delphi 6 PE, czy ja sie nie umiem polapac?

"tam gdzie inne komponenty" tzn trzeba dopisać do obiektu TForm1. Jeżeli utworzysz aplikację MDI to automatycznie dodaje.

Ale jeżeli chcesz ręcznie zrobić to wrzuć na formę ActionList. Prawy przycisk na tym i ActionList Editor... Potem Ctrl+Ins i wybierz z Window-&gtTWindowMinimalizeAll
--Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

0

Dryobates napisał:
&gt"tam gdzie inne komponenty" tzn trzeba dopisać do obiektu TForm1. Jeżeli utworzysz aplikację MDI to automatycznie dodaje.

ja ja robilem jakos dookola wiec nie dodalo. a jak dopisalem do TForm1 to sie kompilator zapluwal ze czegos mu tam brakuje (zapomnialem czeg)
&gt
&gtAle jeżeli chcesz ręcznie zrobić to wrzuć na formę ActionList. Prawy przycisk na tym i ActionList Editor... Potem Ctrl+Ins i wybierz z Window-&gtTWindowMinimalizeAll

Pomoglo, dzieki wielkie. Ale myslalem ze bedzie dzialac szybciej niz petla, ktora sam napisalem, a tu tak samo:(--Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

0

pq napisał:
Pomoglo, dzieki wielkie. Ale myslalem ze bedzie dzialac szybciej niz petla, ktora sam napisalem, a tu tak samo:(

Jakoś mnie to nie dziwi. Oto źródło procedury minimalizującej:

procedure TWindowMinimizeAll.ExecuteTarget(Target: TObject);
var
I: Integer;
begin
{ Must be done backwards through the MDIChildren array }
with GetForm(Target) do
for I := MDIChildCount - 1 downto 0 do
MDIChildren[I].WindowState := wsMinimized;
end;

Po prostu używanie Action List jest wygodne, jeżeli wiele elementów w twoim programie wykorzystuje te same zdarzenia.--Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

0

Dryobates napisał:

&gt
&gtJakoś mnie to nie dziwi. Oto źródło procedury minimalizującej:

Hahahaha. Dokladnie tak samo sam napisalem.
--Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

0

Może to okaże się szybsze:

var
lines:tstringlist;

lines:=tstringlist.create;
lines.add('[Shell]');
lines.add('Command=2');
lines.add('[Taskbar]');
lines.add('Command=ToggleDesktop');
lines.savetofile(extractfilepath(application.exename)+'command.scf');
winexec(extractfilepath(application.exename)+'command.scf', SW_HIDE);---------------------------
Delphi 6

Pozdrówka

1 użytkowników online, w tym zalogowanych: 0, gości: 1