Form an Taskleiste an- und abheften
Form an Taskleiste an- und abheften
Mit welchen Befehlen kann man einstellen, ob eine Form an die Taskleiste an- oder abgeheftet ist? Ich meine eine ganz normale Verknüpfung auf der Taskleiste, mit der man, wenn das Programm läuft, die Form in den Vordergrund rücken und minimieren kann?
Re: Form an Taskleiste an- und abheften
Bei wsMinimized erscheint die Form über der Taskleiste minimiert. Mir geht es um die Schaltfläche auf der Taskleiste. Wie kann man die an- und abstellen?theo hat geschrieben:http://lazarus-ccr.sourceforge.net/docs/lcl/forms/twindowstate.html
Re: Form an Taskleiste an- und abheften
Meinst du evtl. "hide" z.B. Form1.hide?! Das Programm läuft weiter, doch ist nicht mehr zu sehen (auch nicht auf der Task-Leiste).
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Beiträge: 90
- Registriert: Fr 2. Nov 2007, 13:32
- OS, Lazarus, FPC: Win (L 1.0 FPC 2.6.0)
- CPU-Target: 32Bit
- Wohnort: Ulm
Re: Form an Taskleiste an- und abheften
Meinst Du die Funktionalität der Komponente TrayIcon?
http://wiki.freepascal.org/TrayIcon/de
http://wiki.freepascal.org/TrayIcon/de
Re: Form an Taskleiste an- und abheften
Was ich meine habe ich angehängt.
Wenn das Programm aus einer Konsole und einer Form oder aus mehreren Formen besteht, dann ist dieses Objekt nur mit der Konsole oder einer Form verknüpft. Die andere Form wird nicht in den Vordergrund gerückt, wenn man draufklickt. Daher frage ich mich, wie man das für eine Form an- und abstellen kann.
Wenn das Programm aus einer Konsole und einer Form oder aus mehreren Formen besteht, dann ist dieses Objekt nur mit der Konsole oder einer Form verknüpft. Die andere Form wird nicht in den Vordergrund gerückt, wenn man draufklickt. Daher frage ich mich, wie man das für eine Form an- und abstellen kann.
- Dateianhänge
-
- Taskleiste.png (1.38 KiB) 1568 mal betrachtet
-
- Beiträge: 90
- Registriert: Fr 2. Nov 2007, 13:32
- OS, Lazarus, FPC: Win (L 1.0 FPC 2.6.0)
- CPU-Target: 32Bit
- Wohnort: Ulm
Re: Form an Taskleiste an- und abheften
Wenn Du die Ausgabekonsole nicht mehr brauchst, lässt sie sich abstellen:
Projekteinstellungen (Strg+Shift+F11) --> Compilereinstellungen --> Linken --> Häckchen bei Win32-GUI-Anwendung
Zum Formular: Die erste Form, die mit Application.CreateForm erstellt wird, ist das Hauptformular.
Wahrscheinlich würde es gehen, wenn Du z.B. in dessen OnShow-Event die andere Form anzeigen lässt (z.B. Form2.Show)
Edit: bei der Form2 dann noch die Eigenschaft ShowInTaskBar anpassen
Projekteinstellungen (Strg+Shift+F11) --> Compilereinstellungen --> Linken --> Häckchen bei Win32-GUI-Anwendung
Zum Formular: Die erste Form, die mit Application.CreateForm erstellt wird, ist das Hauptformular.
Wahrscheinlich würde es gehen, wenn Du z.B. in dessen OnShow-Event die andere Form anzeigen lässt (z.B. Form2.Show)
Edit: bei der Form2 dann noch die Eigenschaft ShowInTaskBar anpassen
Re: Form an Taskleiste an- und abheften
Das geht doch auch mit "{$apptype gui}".Thomas B. hat geschrieben:Wenn Du die Ausgabekonsole nicht mehr brauchst, lässt sie sich abstellen:
Projekteinstellungen (Strg+Shift+F11) --> Compilereinstellungen --> Linken --> Häckchen bei Win32-GUI-Anwendung
Bisher habe ich das Formular mit "Form1:=TForm1.CreateNew(Application);" erstellt.Thomas B. hat geschrieben: Zum Formular: Die erste Form, die mit Application.CreateForm erstellt wird, ist das Hauptformular.
Wenn ich das Formular mit "Application.CreateForm(TForm1,Form1);" erstelle, erscheint jetzt wie gewünscht ein Link auf der Taskleiste. Wenn die Konsole an ist sogar zwei: eines für die Konsole, eines für das Formular. Allerdings erscheint dann in der Konsole die Meldung: "Form resource TForm1 not found. For resourceless forms CreateNew constructor must be used. See the global variable RequireDerivedFormResourse." Funktionieren tut das Programm aber trotzdem.
Mein Problem scheint nun jedenfalls gelöst. Danke für die Hilfe.
-
- Beiträge: 90
- Registriert: Fr 2. Nov 2007, 13:32
- OS, Lazarus, FPC: Win (L 1.0 FPC 2.6.0)
- CPU-Target: 32Bit
- Wohnort: Ulm
Re: Form an Taskleiste an- und abheften
Wenn ich unter Datei-->Neu-->Projekt-->Anwendung eine neue Anwendung erstelle, dazu noch ein neues Formular hinzufüge, dann steht in der Projektdatei (nicht gespeichert):
Damit sollte die Variable gesetzt sein und die Fehlermeldung nicht mehr kommen.
Code: Alles auswählen
program Project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms,Unit1,Unit2
{ you can add units after this };
{$R *.res}
begin
RequireDerivedFormResource := True;
Application.Initialize;
Application.CreateForm(TForm1,Form1);
Application.CreateForm(TForm2,Form2);
Application.Run;
end.