delphi制作的托盘程序

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

unit uMain;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, shellapi,

Menus, Buttons, ExtCtrls;

const

mousemsg = wm_user + 1;

iid = 100;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

Panel1: TPanel;

SpeedButton1: TSpeedButton;

SpeedButton6: TSpeedButton;

SpeedButton7: TSpeedButton;

SpeedButton8: TSpeedButton;

SpeedButton9: TSpeedButton;

SpeedButton10: TSpeedButton;

PopupMenu1: TPopupMenu;

exit1: TMenuItem;

SpeedButton2: TSpeedButton;

procedure SQLLMClick(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormCreate(Sender: TObject);

procedure exit1Click(Sender: TObject);

private

{ Private declarations }

procedure mousemessage(var message: tmessage); message

mousemsg;

public

{ Public declarations }

procedure exec(sender: tobject);

end;

var

Form1: TForm1;

ntida: TNotifyIcondataA;

implementation

{$R *.DFM}

procedure TForm1.mousemessage(var message: tmessage);

var

mousept: TPoint;

begin

inherited;

if message.LParam = wm_rbuttonup then begin

getcursorpos(mousept);

popupmenu1.popup(mousept.x, mousept.y);

end;

if message.LParam = wm_lbuttonup then begin

ShowWindow(Handle, SW_SHOW);

ShowWindow(Application.handle, SW_SHOW);

SetWindowLong(Application.Handle, GWL_EXSTYLE,

not (GetWindowLong(Application.handle, GWL_EXSTYLE)

or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW));

end;

message.Result := 0;

end;

Procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action := caNone;

ShowWindow(Handle, SW_HIDE);

ShowWindow(Application.Handle, SW_HIDE);

SetWindowLong(Application.Handle, GWL_EXSTYLE,

not (GetWindowLong(Application.handle, GWL_EXSTYLE)

or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW));

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

ntida.cbSize := sizeof(tnotifyicondataa);

ntida.Wnd := handle;

ntida.uID := iid; ntida.uFlags := nif_icon + nif_tip +

nif_message; ntida.uCallbackMessage := mousemsg;

ntida.hIcon := Application.Icon.handle;

ntida.szTip := 'Icon';

shell_notifyicona(NIM_ADD, @ntida);

end;

procedure TForm1.exit1Click(Sender: TObject);

begin

ntida.cbSize := sizeof(tnotifyicondataa);

ntida.wnd := handle;

ntida.uID := iid;

ntida.uFlags := nif_icon + nif_tip + nif_message;

ntida.uCallbackMessage := mousemsg;

ntida.hIcon := Application.Icon.handle;

ntida.szTip := 'Icon';

shell_notifyicona(NIM_DELETE, @ntida);

Application.Terminate;

end;

end.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航