Советы по Delphi

         

нибудь поделиться информацией, компонентом или


Может ли кто- нибудь поделиться информацией, компонентом или еще чем, позволяющим в 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]


Содержание раздела