Code: |
// Это необходимо объявить в секции public в верхней части вашего pas-файла procedure TForm1.IconCallBackMessage( var Mess : TMessage ); message WM_USER + 100;
procedure TForm1.FormCreate(Sender: TObject); var
nid: TNotifyIconData; begin
with nid do begin cbSize := SizeOf(TNotifyIconData); Wnd := Form1.Handle; uID := 1; uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP; uCallbackMessage := WM_USER + 100; hIcon := Application.Icon.Handle; szTip := 'Текст всплывающей подсказки'; end; Shell_NotifyIcon(NIM_ADD, @nid); end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var
nid: TNotifyIconData; begin
with nid do begin cbSize := SizeOf(TNotifyIconData); Wnd := Form1.Handle; uID := 1; uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP; uCallbackMessage := WM_USER + 100; hIcon := Application.Icon.Handle; szTip := 'Текст всплывающей подсказки'; // Все, что указано выше, не является обязательным
end; Shell_NotifyIcon(NIM_DELETE, @nid); end;
procedure TForm1.IconCallBackMessage(var Mess: TMessage); var
sEventLog: string; begin
case Mess.lParam of // Сделайте здесь все что вы хотите. Например, // вызов контекстного меню при нажатии правой кнопки мыши.
WM_LBUTTONDBLCLK: sEventLog := 'Двойной щелчок левой кнопкой'; WM_LBUTTONDOWN: sEventLog := 'Нажатие левой кнопки мыши'; WM_LBUTTONUP: sEventLog := 'Отжатие левой кнопки мыши'; WM_MBUTTONDBLCLK: sEventLog := 'Двойной щелчок мышью'; WM_MBUTTONDOWN: sEventLog := 'Нажатие кнопки мыши'; WM_MBUTTONUP: sEventLog := 'Отжатие кнопки мыши'; WM_MOUSEMOVE: sEventLog := 'перемещение мыши'; WM_MOUSEWHEEL: sEventLog := 'Вращение колесика мыши'; WM_RBUTTONDBLCLK: sEventLog := 'Двойной щелчок правой кнопкой'; WM_RBUTTONDOWN: sEventLog := 'Нажатие правой кнопки мыши'; WM_RBUTTONUP: sEventLog := 'Отжатие правой кнопки мыши'; end; end;
|
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!