ShowInTaskbar

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

ShowInTaskbar

Beitrag von malabarista »

Ich habe
ShowInTaskbar:=stNever;
gesetzt im OnCreate, aber das Icon wird trotzdem in der Taskbar angezeigt (Windows 7).

Was mache ich falsch ?

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: ShowInTaskbar

Beitrag von Michl »

malabarista hat geschrieben:Was mache ich falsch ?
Nichts. Siehe http://www.lazarusforum.de/viewtopic.php?p=40108#p40108

Für Windows geht sowas:

Code: Alles auswählen

uses ..., LCLIntf, LCLType;        
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  ShowWindow(Application.Handle, SW_HIDE);
  SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
  ShowWindow(Application.Handle, SW_SHOW);
end

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Re: ShowInTaskbar

Beitrag von malabarista »

Da erhalte ich aber in dieser Zeile eine Fehlermeldung vom Compiler:
>> ShowWindow(Application.Handle, SW_HIDE);
Error: identifier idents no member "Handle"

??

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: ShowInTaskbar

Beitrag von Michl »

Ja, wurde erst in Lazarus 2.0.0 eingeführt (rev. 58107). Ist wie gesagt aber nur für Windows geeignet.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Re: ShowInTaskbar

Beitrag von malabarista »

Danke!

Antworten