設置NOTIFYICONDATA型的構(gòu)造體變量的成員變量的值: cbSize 該構(gòu)造體的大小。 hwnd 窗口的句柄。當鼠標滑過該小圖標時,該窗口將接收到有關(guān)的音訊。 uID 小圖標的ID號。您能夠取恣意值,只是當您的應用程序有不止一個小圖標時,您要能夠區(qū)別出到底是那一個小圖標接收到了鼠標的音訊,也即ID號有必要唯一。 uFlags 指定該構(gòu)造體變量的那些成員變量有用。 NIF_ICON 有用。 NIF_MESSAGE 有用。 NIF_TIP 有用。 uCallbackMessage 自界說的音訊。當鼠標對小圖標動作時,WINDOWS外殼將把該音訊發(fā)送到您的應用程序。該音訊的值您能夠自個界說。 hIcon 放入系統(tǒng)托盤中的圖標的句柄。 szTip 64字節(jié)的緩沖區(qū),它用來放入提示字符串,當鼠標停留在小圖標上時,就會顯現(xiàn)該字符串。 調(diào)用Shell_NotifyIcon函數(shù)。該函數(shù)在shell32.inc中界說,其原型如下:
Shell_NotifyIcon PROTO dwMessage:DWORD ,pnid:DWORD dwMessage 是發(fā)送到WINDOWS外殼的音訊:
NIM_ADD 把小圖標加到系統(tǒng)托盤區(qū)。
NIM_DELETE 從系統(tǒng)托盤中刪去小圖標。
NIM_MODIFY 修正小圖標。
pnid 是指向NOTIFYICONDATA型構(gòu)造體變量的指針。
假如您想要參加一個小圖標就用NIM_ADD,刪去時使用NIM_DELETE音訊。
基本上的音訊即是這些。可是大多數(shù)的情況下,您不會只是滿意把一個小圖標放到那里。您還有必要要對鼠標事情作出恰當?shù)姆错憽D軌蛟贜OTIFYICONDATA型的構(gòu)造體變量的成員變量uCallbackMessage 中設置您要處理的音訊,然后WINDOWS外殼將在發(fā)生這些事情時告訴您的應用程序。跟著音訊傳送的參數(shù)wParam和lParam的值如下:
wParam 小圖標的ID號。它和您在NOTIFYICONDATA型構(gòu)造體變量中的成員變量uID中設置的值相同。 lParam 低字包含鼠標音訊。比如,用戶在小圖標上按下了右鍵時,lParam中將包含WM_RBUTTONDOWN音訊。 大多數(shù)的系統(tǒng)托盤中的小圖標,在用戶用鼠標右擊時都會彈出一個菜單以方便用戶挑選。咱們可先創(chuàng)立菜單,然后調(diào)用TrackPopupMenu函數(shù)來顯現(xiàn)它。進程如下:
調(diào)用CreatePopupMenu函數(shù)來創(chuàng)立菜單。該函數(shù)創(chuàng)立一個空的菜單。假如成功,將在eax中回來該菜單的句柄。 調(diào)用AppendMenu, InsertMenu 或 InsertMenuItem來向菜單中參加菜單項。 當您想在當時鼠標方位顯現(xiàn)該菜單時,調(diào)用GetCursorPosition函數(shù)來得到鼠標當時的屏幕方位,然后調(diào)用TrackPopupMenu來顯現(xiàn)菜單。當用戶從彈出式菜單中挑選了一個菜單項時,WINDOWS將發(fā)送WM_COMMAND音訊給您應用程序的音訊處理進程,這和通常的菜單挑選是相同的。