Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Кнопки в панели задач Win95

Delphi , Рабочий стол , TaskBar

Кнопки в панели задач Win95



// Это необходимо объявить в секции 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;

Код для создания иконки уведомления в системной шкале Windows 95, которая является общим явлением в более старых версиях Windows. Иконка будет отображаться с иконкой и всплывающей подсказкой ("Текст всплывающей подсказки"), а также может быть кликнута или правокликнута для запуска различных событий.

Распределение кода:

  1. procedure TForm1.IconCallBackMessage(var Mess: TMessage);: Это процедура обратного вызова, которая будет вызвана при взаимодействии пользователя с иконкой уведомления (например, клик на ней, правоклик на ней и т.д.).
  2. case Mess.lParam of ...: Это switch-статements, который проверяет тип события, запущенного пользователем при взаимодействии с иконкой уведомления.
  3. Shell_NotifyIcon(NIM_ADD, @nid); и Shell_NotifyIcon(NIM_DELETE, @nid);: Эти строки добавляют или удаляют иконку уведомления из системной шкалы соответственно.
  4. Процедура FormCreate вызывается при создании формы, и она настраивает иконку уведомления с иконкой, всплывающей подсказкой и обратным вызовом.
  5. Процедура FormClose вызывается при закрытии формы, и она удаляет иконку уведомления из системной шкалы.

Код написан на языке Delphi, который основан на Паскале для Windows.

Однако, пожалуйста, отметьте, что этот код является специфичным для Windows 95 и может не работать на более новых версиях Windows или других операционных системах. Кроме того, использование Shell_NotifyIcon считается устаревшим и может вызвать проблемы с современными системами Windows.

В статье описывается создание утилитарной программы на языке Delphi, которая добавляет кнопку в панель задач Windows 95 и обрабатывает события, связанные с ее взаимодействием.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: TaskBar ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:02:37/0.0058059692382812/1