Starten einer Anwendung als Icon in der Taskleiste


Dieser Artikel wird Ihnen zeigen, wie Sie ein Applicacion mit einem Symbol in der Systemablage (der Bereich auf der rechten Seite der Taskleiste) minimiert starten
PLATZIEREN EIN SYMBOL IN DER TASKLEISTE
Die Taskleiste ist der Bereich rechts auf der Taskleiste, wo 'Hintergrund' Anwendungen ihre Symbole platzieren können. Um ein Symbol in der Taskleiste platzieren müssen Sie rufen Sie die Shell_NotifyIcon-API in der Referats ShellAPI, übergeben sie die Konstante NIM_ADD (anzuweisen, ein Symbol hinzufügen) und die Adresse eines TNotifyIconData-Datensatzes mit den Symbol-Informationen, der das Handle des das Symbol angezeigt, enthält den Text als QuickInfo anzeigen, wenn der Mauszeiger über dem Symbol wird deklariert , das Handle des Fensters, der empfängt die Nachrichten über das Symbol und den Nachrichtentyp, das Symbol wird an diesem Fenster senden.
uses
     ..., ShellAPI;
  const
    WM_ICONTRAY = WM_USER + 1; // User-defined message
  type
    ...
  var
    ...
    NotifyIconData : TNotifyIconData;
  implementation
  procedure TForm1.FormCreate(Sender: TObject);
  begin
    with NotifyIconData do begin
      hIcon := Icon.Handle;
      StrPCopy(szTip, Application.Title);
      Wnd := Handle;
      uCallbackMessage := WM_ICONTRAY;
      uID := 1;
      uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
      cbSize := sizeof(TNotifyIconData);
    end;
    Shell_NotifyIcon(NIM_ADD, @NotifyIconData);
  end;

HANDHABUNG-SYMBOL-NACHRICHTEN
Form1 erhalten WM_ICONTRAY Nachrichten über das Symbol. Für das erfassen und verarbeiten diese Nachrichten haben wir eine neue Methode in unser Formular zu deklarieren. Zum Beispiel:
type
    TForm1 = class(TForm)
      ...
    private
      { Private declarations }
      ...
      procedure Icontray(var Msg: TMessage); message WM_ICONTRAY;
    public

      { Public declarations }
      ...
    end;

Bei der Durchführung dieser Methode können wir z. B. ein Popupmenü anzeigen, wenn der Benutzer auf das Symbol klickt. Vorausgesetzt, dass Sie ein Popup-Menü mit dem Namen PopupMenu1 erstellt haben, wird der folgende Code do the Trick:
procedure TForm1.Icontray(var Msg: TMessage);
  var
    CursorPos : TPoint;
  begin
    if Msg.lParam = WM_RBUTTONDOWN then begin
      GetCursorPos(CursorPos);
      PopupMenu1.Popup(CursorPos.x, CursorPos.y);
    end else
      inherited;
  end;

EIN- UND AUSBLENDEN VON FORM
Normalerweise wird ein Menüelement im Popup-Menü zum Anzeigen des Formulars enthalten Sie, so dass alles, was Sie tun müssen ist eine Ereignisbehandlungsroutine um die Show-Methode des Formulars aufrufen und wahlweise das Symbol aus der Taskleiste entfernen:
procedure TForm1.mnuShowClick(Sender: TObject);
  begin
    Show;
    // Shell_NotifyIcon(NIM_DELETE, @NotifyIconData);
  end;

Wenn der Benutzer das Formular geschlossen wird, können Sie z. B. statt zu schließen, es zu verbergen und optional das Symbol anzeigen wieder in der Taskleiste, wenn Sie es entfernt haben, wenn Sie das Formular sichtbar gemacht. Zum Beispiel:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
  begin
    Action := caNone;
    Hide;
    // Shell_NotifyIcon(NIM_ADD, @NotifyIconData);
  end;

BEENDEN DER ANWENDUNGDES
Sie können ein Menüelement im Popup-Menü um die Anwendung zu verlassen haben. In diesem Fall müssen Sie einen Ereignishandler für das Click-Ereignis, um das Symbol zu entfernen, und beenden Sie die Anwendung zu schreiben:
procedure TForm1.mnuExitClick(Sender: TObject);
  begin
    Shell_NotifyIcon(NIM_DELETE, @NotifyIconData);
    Application.ProcessMessages;
    Application.Terminate;
  end;

Das vollständige Quellcode-Codebeispiel dieses Artikels kann von heruntergeladen werden:
https://www.latiumsoftware.com/Download/d00035.zip









Starten einer Anwendung als Icon in der Taskleiste


Starten einer Anwendung als Icon in der Taskleiste : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Dieser Artikel wird Ihnen zeigen, wie Sie ein Applicacion mit einem Symbol in der Systemablage (der Bereich auf der rechten Seite der Taskleiste) minimiert starten
PLATZIEREN EIN SYMBOL IN DER TASKLEISTE
Die Taskleiste ist der Bereich rechts auf der Taskleiste, wo 'Hintergrund' Anwendungen ihre Symbole platzieren können. Um ein Symbol in der Taskleiste platzieren müssen Sie rufen Sie die Shell_NotifyIcon-API in der Referats ShellAPI, übergeben sie die Konstante NIM_ADD (anzuweisen, ein Symbol hinzufügen) und die Adresse eines TNotifyIconData-Datensatzes mit den Symbol-Informationen, der das Handle des das Symbol angezeigt, enthält den Text als QuickInfo anzeigen, wenn der Mauszeiger über dem Symbol wird deklariert , das Handle des Fensters, der empfängt die Nachrichten über das Symbol und den Nachrichtentyp, das Symbol wird an diesem Fenster senden.
uses
     ..., ShellAPI;
  const
    WM_ICONTRAY = WM_USER + 1; // User-defined message
  type
    ...
  var
    ...
    NotifyIconData : TNotifyIconData;
  implementation
  procedure TForm1.FormCreate(Sender: TObject);
  begin
    with NotifyIconData do begin
      hIcon := Icon.Handle;
      StrPCopy(szTip, Application.Title);
      Wnd := Handle;
      uCallbackMessage := WM_ICONTRAY;
      uID := 1;
      uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
      cbSize := sizeof(TNotifyIconData);
    end;
    Shell_NotifyIcon(NIM_ADD, @NotifyIconData);
  end;

HANDHABUNG-SYMBOL-NACHRICHTEN
Form1 erhalten WM_ICONTRAY Nachrichten über das Symbol. Für das erfassen und verarbeiten diese Nachrichten haben wir eine neue Methode in unser Formular zu deklarieren. Zum Beispiel:
type
    TForm1 = class(TForm)
      ...
    private
      { Private declarations }
      ...
      procedure Icontray(var Msg: TMessage); message WM_ICONTRAY;
    public

      { Public declarations }
      ...
    end;

Bei der Durchführung dieser Methode können wir z. B. ein Popupmenü anzeigen, wenn der Benutzer auf das Symbol klickt. Vorausgesetzt, dass Sie ein Popup-Menü mit dem Namen PopupMenu1 erstellt haben, wird der folgende Code do the Trick:
procedure TForm1.Icontray(var Msg: TMessage);
  var
    CursorPos : TPoint;
  begin
    if Msg.lParam = WM_RBUTTONDOWN then begin
      GetCursorPos(CursorPos);
      PopupMenu1.Popup(CursorPos.x, CursorPos.y);
    end else
      inherited;
  end;

EIN- UND AUSBLENDEN VON FORM
Normalerweise wird ein Menüelement im Popup-Menü zum Anzeigen des Formulars enthalten Sie, so dass alles, was Sie tun müssen ist eine Ereignisbehandlungsroutine um die Show-Methode des Formulars aufrufen und wahlweise das Symbol aus der Taskleiste entfernen:
procedure TForm1.mnuShowClick(Sender: TObject);
  begin
    Show;
    // Shell_NotifyIcon(NIM_DELETE, @NotifyIconData);
  end;

Wenn der Benutzer das Formular geschlossen wird, können Sie z. B. statt zu schließen, es zu verbergen und optional das Symbol anzeigen wieder in der Taskleiste, wenn Sie es entfernt haben, wenn Sie das Formular sichtbar gemacht. Zum Beispiel:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
  begin
    Action := caNone;
    Hide;
    // Shell_NotifyIcon(NIM_ADD, @NotifyIconData);
  end;

BEENDEN DER ANWENDUNGDES
Sie können ein Menüelement im Popup-Menü um die Anwendung zu verlassen haben. In diesem Fall müssen Sie einen Ereignishandler für das Click-Ereignis, um das Symbol zu entfernen, und beenden Sie die Anwendung zu schreiben:
procedure TForm1.mnuExitClick(Sender: TObject);
  begin
    Shell_NotifyIcon(NIM_DELETE, @NotifyIconData);
    Application.ProcessMessages;
    Application.Terminate;
  end;

Das vollständige Quellcode-Codebeispiel dieses Artikels kann von heruntergeladen werden:
https://www.latiumsoftware.com/Download/d00035.zip


Starten einer Anwendung als Icon in der Taskleiste

Starten einer Anwendung als Icon in der Taskleiste : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Starten einer Anwendung als Icon in der Taskleiste
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung