Interaktion mit dem Anwender


Um auf die Aktionen des Anwenders zu reagieren, benötigen wir jetzt unsere eigene Nachricht "WM_TNAMSG":

WM_TNAMSG:
  case lp of
    WM_RBUTTONUP:
      begin
        // Popupmenü erzeugen
      end;
  end;

Klickt der Anwender also mit der rechten Maustaste auf unser Symbol, dann wird das Popupmenü erzeugt und angezeigt, und er hat die Auswahl. Beachten Sie, dass wir hier "WM_RBUTTONUP" benutzen. Das heißt, der Anwender muss die rechte Maustaste erst wieder loslassen; erst dann sieht er das Menü.

Zu guter Letzt wollen wir sowohl Symbol als auch Tooltipp-Text ändern. Dafür laden wir einfach nur ein neues Icon, definieren einen neuen Text und modifizieren das Symbol. Und all das passiert bei einem Doppelklick mit der linken Maustaste:

WM_TNAMSG:
  case lp of
    WM_LBUTTONDBLCLK:
      begin
        NID.hIcon := LoadIcon(0,IDI_WARNING);
        lstrcpy(NID.szTip,'geänderter Tooltipp-Text');
Shell_NotifyIcon(NIM_MODIFY,@NID); end; end;