国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

把最小化圖標放到任務欄右下角

2019-11-18 17:33:45
字體:
來源:轉載
供稿:網友
----目前有不少Win95應用程序在最小化后,代表該程序的小圖標就會隱藏在屏幕的右下角(即任務欄的右邊),如“金山詞霸”、“東方快車”等,而我們用VisualBasic編制的程序在最小化后,圖標卻總是出現在任務欄的中央,并且占據較大的空間。如何讓我們自己的程序也能將最小化圖標放在任務欄的右邊呢?我們可以通過WindowsAPI函數調用來實現該功能。

一、如何添加和隱藏圖標
----在Windows的動態連接庫Shell32.dll中有一個名為Shell_NotifyIconA的WindowsAPI函數,其功能是對任務欄的右下角圖標進行操作,包括添加、刪除和修改。Shell_NotifyIconA函數的VB聲明格式如下:
----DeclareFunctionShell_NotifyIconALib"SHELL32"(ByValdwMessageAsLong,lpDataAsNOTIFYICONDATA)AsIntegerShell_NotifyIconA有兩個參數DwMessage和lpData。DwMessage為操作圖標的方式,可能的取值和含義如下:

----0(向任務欄添加圖標)
----1(修改任務欄中的圖標)
----2(刪除任務欄中的圖標)

----lpData是自定義數據類型NOTIFYICONDATA的數據,該自定義數據結構由以下成員構成:

----1.cbSize:需填寫NOTIFYICONDATA數據結構的長度,在使用時可通過VB的標準函數Len來計算,如nid為NOTIFYICONDATA類型的變量,則cbSize為Len(nid)。

----2.hWnd:最小化窗體的句柄。

----3.uID:使用者為圖標所設定的ID,可自定。

----4.uFlags:用來設定后面三個成員(uCallbackMessage、hIcon、szT
----(2)編寫自己的消息處理過程,注意參數的數量和類型必須按照下面的格式(過程名可隨意):

----SubWnd
.uFlags=NIF_ICON NIF_TIP NIF_MESSAGE
.hIcon=frmIconTest.Icon.Handle'圖標句柄
.szTip="單擊鼠標左鍵恢復窗體!"'提示信息
.uCallbackMessage=2'圖標的消息號
EndWith
Shell_NotifyIconANIM_ADD,nid'添加圖標
IconMsg=nid.uCallbackMessage
'用全局變量記錄消息號,
'讀取frmIconTest正常的消息處理程序
的地址保存在全程變量OldWinProc中
OldWinProc=GetWindowLong(frmIconTest.hWnd,
GWL_WNDPROC)
'用自定義過程MyProc的地址
代替正常消息處理程序的地址
SetWindowLongfrmIconTest.hWnd,
GWL_WNDPROC,AddressOfMyProc
frmIconTest.Hide'隱藏窗體
HadAdd=True'置“已經添加圖標”標志
Else
frmIconTest.Hide'如果已經有小圖標了,
則直接隱藏窗體
EndIf
EndSub
PrivateSubcmdNormalMin_Click()
frmIconTest.WindowState=1'普通最小化窗體
EndSub
PrivateSubForm_Load()
HadAdd=False'將“是否添加了圖標的標志”置為False
'下面為窗體裝載圖標,讀者應當根據自己的VB目錄而定
frmIconTest.Icon=oadPicture("c:/MyIcon/files10.ico")
EndSub

----按下F5,執行本程序,單擊“最小化到右下角”按鈕,窗體將消失,同時任務欄的右邊出現代表窗體的圖標(如圖2),在該圖標上單擊鼠標左鍵,窗體恢復正常。再單擊“普通最小化圖標”按鈕,你會看到窗體雖然也消失了,但最小化圖標在任務欄的中間,即普通位置(如圖3)。

----本程序用VB5編制,在Pwin95下調試正常。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邳州市| 镇平县| 额济纳旗| 宁德市| 石门县| 常德市| 凌源市| 东平县| 武穴市| 平潭县| 仙游县| 剑川县| 宕昌县| 酒泉市| 永平县| 沙坪坝区| 庄浪县| 郁南县| 晋宁县| 安阳县| 阿拉善右旗| 普陀区| 沾益县| 砚山县| 奈曼旗| 兖州市| 原平市| 孟津县| 商城县| 巢湖市| 津市市| 射阳县| 陈巴尔虎旗| 溆浦县| 新河县| 彝良县| 油尖旺区| 黑水县| 绥宁县| 白银市| 乌恰县|