Entwickler-Ecke

Sonstiges (Delphi) - Taskleiste


Hochhäusl - Mi 17.07.02 13:39
Titel: Taskleiste
Hi,
ich habe noch 2 Fragen bevor mein Programm fertig ist:

1) Wie kann ich den Eintrag des laufenden Programms in der Taskleiste verhindern?

2)Wie kann sich das Programm selbst in den Vordergrund bringen und selbst aktivieren?
Denn das Programm läuft erst wenn man es manuel anklickt ("aktiviert"), erst danach läuft es wie gewollt ab. Wenn man jedoch einen Ordner oder eine andere Datei öffnet ist das Programm im Hintergrund und läuft nicht!!


mfg

Hochhäusl


hitstec - Mi 17.07.02 14:50

zu 1.) Diesen Code zum Bsp in das OnShow-Ereignis des Formulars einfügen:


Quelltext
1:
ShowWindow(GetWindow(Handle,GW_OWNER),SW_HIDE);                    

zu 2.) Meinst du sowas wie AlwaysOnTop? Dann:


Quelltext
1:
SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);                    


DennisB - Mi 17.07.02 14:51

Hi

Hiermal meine Quelltext. Mußt sie evtl noch ein wenig anpassen...

1)

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure Tform1.taskbarausblend;
begin
if form1.checkbox4.Checked
 then begin
      ShowWindow(GetWindow(Handle,GW_OWNER),SW_HIDE);
      end
 else begin
      ShowWindow(GetWindow(Handle,GW_OWNER),SW_normal);
      end;
end;

2)

Quelltext
1:
2:
3:
4:
5:
6:
procedure Tform1.vordergrundupd;
begin
if form1.checkbox2.Checked
  then SetWindowPos(Handle, HWND_TOPMOST, Left,Top, Width,  Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE)
  else SetWindowPos(Handle, HWND_NOTOPMOST, Left, Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
end;