Идёт загрузка страницы...

htp://aptem.net.ru





/|\АРТЕМ.NET.RU /|\ - Портал для программистов и не только: Delphi Visual Basic BORLAND С++ PERL PHP HTML

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

Может ли кто-нибудь поделиться информацией, компонентом или еще чем, позволяющим в Delphi 2 или 3 создать кнопку в панели задач так, как это делает PowerDesk 2.0 Toolbar.

Да запросто!


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

[000289]