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