日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

delphi 关闭时缩小到托盘_delphi 实现最小化系统托盘

發布時間:2023/12/4 windows 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 delphi 关闭时缩小到托盘_delphi 实现最小化系统托盘 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、new -->application

2、在form1中加入一個tPopMenu 命名為pm1

3、uses ShellAPI;

4、定義一個常量在

const

WM_TRAYMSG = WM_USER + 101;

5、在private中生命變量

NotifyIcon: TNotifyIconData;

6.聲明兩個消息

procedure TfrmMain.WMSysCommand(var Msg: TMessage);

begin

if Msg.WParam = SC_ICON then

Self.Visible := False

else

DefWindowProc(Self.Handle, Msg.Msg, Msg.WParam, Msg.LParam);

end;

procedure TfrmMain.WMTrayMsg(var Msg: TMessage);//聲明托盤消息

var

p: TPoint;

begin

case Msg.LParam of

WM_LBUTTONDOWN: Self.Visible := True; //顯示窗體

WM_RBUTTONDOWN:

begin

SetForegroundWindow(Self.Handle); //把窗口提前

GetCursorPos(p);

pm1.Popup(p.X, p.Y);

end;

end;

end;

7、oncreate中

with NotifyIcon do

begin

cbSize := SizeOf(TNotifyIconData);

Wnd := Self.Handle;

uID := ;

uFlags := NIF_ICON + NIF_MESSAGE + NIF_TIP; //圖標、消息、提示信息

uCallbackMessage := WM_TRAYMSG;

hIcon := Application.Icon.Handle;

szTip := 'erp服務';

end;

Shell_NotifyIcon(NIM_ADD, @NotifyIcon);

//去掉關閉按鈕

EnableMenuItem(GetSystemMenu(Handle, FALSE), SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);

8、ondestroy中

Shell_NotifyIcon(NIM_DELETE, @NotifyIcon);

整體代碼

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ShellAPI, Menus;

const

WM_TRAYMSG = WM_USER + ;

type

TForm1 = class(TForm)

pm1: TPopupMenu;

N1: TMenuItem;

procedure FormDestroy(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

NotifyIcon: TNotifyIconData;

procedure WMTrayMsg(var Msg: TMessage); message WM_TRAYMSG; //聲明托盤消息

procedure WMSysCommand(var Msg: TMessage); message WM_SYSCOMMAND;

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormDestroy(Sender: TObject);

begin

Shell_NotifyIcon(NIM_DELETE, @NotifyIcon);

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

with NotifyIcon do

begin

cbSize := SizeOf(TNotifyIconData);

Wnd := Self.Handle;

uID := ;

uFlags := NIF_ICON + NIF_MESSAGE + NIF_TIP; //圖標、消息、提示信息

uCallbackMessage := WM_TRAYMSG;

hIcon := Application.Icon.Handle;

szTip := 'erp服務';

end;

Shell_NotifyIcon(NIM_ADD, @NotifyIcon);

//去掉關閉按鈕

EnableMenuItem(GetSystemMenu(Handle, FALSE), SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);

end;

{ TForm1 }

procedure TForm1.WMSysCommand(var Msg: TMessage);

begin

if Msg.WParam = SC_ICON then

Self.Visible := False

else

DefWindowProc(Self.Handle, Msg.Msg, Msg.WParam, Msg.LParam);

end;

procedure TForm1.WMTrayMsg(var Msg: TMessage);

var

p: TPoint;

begin

case Msg.LParam of

WM_LBUTTONDOWN: Self.Visible := True; //顯示窗體

WM_RBUTTONDOWN:

begin

SetForegroundWindow(Self.Handle); //把窗口提前

GetCursorPos(p);

pm1.Popup(p.X, p.Y);

end;

end;

end;

end.

//這是從網上找的在delphi7測試通過(引用的哪忘了)--- http://blog.csdn.net/akof1314/article/details/6411179?這個列牛B

delphi 實現最小化系統托盤(rz控件最簡單 評論)

1.new -->application 2.在form1中加入一個tPopMenu 命名為pm1 3.uses ShellAPI; 4.定義一個常量在 const WM_TRAYMSG = W ...

Delphi - 利用TRzTrayIcon實現WinFrm工程最小化到托盤

第三方RC控件的安裝 瀏覽器搜索Delphi Rz控件下載,找到下載一個安裝文件,解壓后點擊RC3.exe一鍵安裝. Delphi WinFrm工程最小化到托盤 Delphi新建WinFrm工程,在主 ...

VC++ 最小化到托盤、恢復

所謂的“托盤”,在Windows系統界面中,指的就是下面任務條右側,有系統時間等等的標志的那一部分.在程序最小化或掛起時,但有不希望占據任務欄的時候,就可以把程序放到托盤區. 一.托盤編程相關函數?? ...

outlook新郵件到達提醒設置以及outlook最小化到托盤設置

有些郵件是需要馬上處理的,因此希望能在收到郵件之后馬上就知道,但是有不希望頻繁的去檢查有沒有.outlook可以幫我們輕松做到新郵件到達提醒. 一 .設置outlook新郵件到達提醒:選項->電 ...

vc++ 最小化到托盤的詳細實現

在VC++中,想實現將MFC最小化到系統托盤,需要調用NOTIFYICONDATA類,并注冊相應的消息,以下詳細講解如何實現: 1.聲明一個NOTIFYICONDATA類,也就是NOTIFYICOND ...

【VS開發】最小化到托盤 shell_notifyicon和NOTIFYICONDATA

shell_notifyicon和NOTIFYICONDATA Shell_NotifyIcon函數,向任務欄的狀態欄發送一個消息 函數原型 BOOL Shell_NotifIcon( DWORD?d ...

C++ 最小化到托盤

#define WM_SHOWTASK (WM_USER + 1) void CTestDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID &a ...

WPF實現窗口最小化到托盤,并且實現右擊菜單

原版是從網上找了一位大神的,自己只是用了一點適合自己的. 具體實現 1.首先已經確認WPF中沒有實現最小化托盤的類與方法,用到了winform中的程序集 using Drawing = System. ...

MFC窗口實現最小化到托盤 右鍵菜單和還原

//.h文件 void toTray();//最小化到托盤 void DeleteTray();//刪除托盤圖標 afx_msg LRESULT OnShowTask(WPARAM wParam,LP ...

隨機推薦

setNeedsDisplay,setNeedsLayout

UIView的setNeedsDisplay和setNeedsLayout方法.首先兩個方法都是異步執行的.setNeedsDisplay會調用自動調用drawRect方法,這樣可以拿到UIGraph ...

jquery-validation 使用

jquery-validation?使用 一.用前必備 官方網站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: ...

用Appium進行android自動化測試

appium是開源的移動端自動化測試框架,可以測試ios,android應用.appium讓移動端自動化測試不必限定在某種語言和某個具體的框架:也就是說任何人都可以使用自己最熟悉最順手的語言以及框架來 ...

JodaTime library not available - @DateTimeFormat not supported

使用spring的@DateTimeFormat來格式化Date類型時,報錯: org.springframework.validation.BindException: org.springfram ...

NodeJS服務器退出:完成任務,優雅退出

上一篇文章,我們通過一個簡單的例子,學習了NodeJS中對客戶端的請求(request)對象的解析和處理,整個文件共享的功能已經完成.但是,縱觀整個過程,還有兩個地方明顯需要改進: 首先,不能共享完畢 ...

使用 Xcode 和 Android Studio 管理 iOS 和 Android 項目版本

在移動應用開發和運營的過程中,版本管理是一個老生常談的基礎問題,一些版本的基本概念也常常會困擾我們的研發和運營人員.同時,手動管理軟件版本,也常常會因為不小心導致后續的發布和更新問題. 這里,我準備了 ...

動態規劃(背包問題):POJ 1742 Coins

Coins Time Limit: 3000MS ? Memory Limit: 30000K Total Submissions: 32955 ? Accepted: 11199 Descripti ...

mysql 1055

在 /etc/my.cnf 文件里加上如下: sql_mode=NO_ENGINE_SUBSTITUTION

總結

以上是生活随笔為你收集整理的delphi 关闭时缩小到托盘_delphi 实现最小化系统托盘的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。