• <rp id="wfxtb"><acronym id="wfxtb"></acronym></rp><em id="wfxtb"></em><dd id="wfxtb"><big id="wfxtb"><video id="wfxtb"></video></big></dd>
  • <rp id="wfxtb"></rp>

    <mark id="wfxtb"><center id="wfxtb"></center></mark>

      <rp id="wfxtb"><span id="wfxtb"><u id="wfxtb"></u></span></rp>

      <rp id="wfxtb"><object id="wfxtb"></object></rp>

      注意:訪問本站需要Cookie和JavaScript支持!請設置您的瀏覽器! 打開購物車 查看留言付款方式聯系我們
      初中電子 單片機教材一 單片機教材二
      搜索上次看見的商品或文章:
      商品名、介紹 文章名、內容
      首頁 電子入門 學單片機 免費資源 下載中心 商品列表 象棋在線 在線繪圖 加盟五一 加入收藏 設為首頁
      本站推薦:
      用VB實現任務欄右下角的小圖標
      文章長度[2925] 加入時間[2007/3/23] 更新時間[2025/3/12 16:11:03] 級別[0] [評論] [收藏]
      <!--StartFragment-->將VB應用程序縮成系統狀態欄圖標二法
      第一種方法:
      VB光盤的tools\unsupport\systray目錄下有一個例子,將此目錄復制到硬盤,編譯生成一個OCX控件,在自己的程序中使用此控件,可以實現將程序圖標放于右下角系統圖標區,這方法比調用API要簡單得多


      第二種方法:
      梁潔儀
      ---- 在很多應用程序中,其操作窗口縮小后將變成一圖標放置在系統狀態欄中。

      ---- 為什么有的程序可以縮小成圖標呢?

      ---- 對于Windows來說,這些圖標并非窗口或程序,它們只是圖標,能作出這樣的功能,關鍵在于調用了Windows的API函數Shell_NotifyIcon,在Visual Basic開發環境中,通過其所附帶的API瀏覽器,我們可查找出Shell_NotifyIcon的聲明格式如下:

      ---- Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

      ---- 現把本函數聲明中的參數分別說明如下:

      ---- 參數dwMessage為消息設置值,它可以是以下的幾個常數值:0、1、2。在程序中為了使用更方便,我們把它們定義為三個常量:NIM_ADD、NIM_MODIFY及NIM_DELETE,本示例中的常量及Shell_NotifyIcon調用都可以在窗口新建的模塊中聲明它:

      Public Const NIM_ADD = 0 //加入圖標到系統狀態欄中
      Public Const NIM_MODIFY = 1 //修改系統狀態欄中的圖標
      Public Const NIM_DELETE = 2 //刪除系統狀態欄中的圖標

      ---- 這三個常量的應用將中下文中具體介紹。
      ---- 參數LpData 用以傳入NOTIFYICONDATA數據結構變量,我們也需要在"模塊"中定義其結構如下:

      Type NOTIFYICONDATA
      cbSize As Long
      hWnd As Long
      uID As Long
      uFlags As Long
      uCallbackMessage As Long
      hIcon As Long
      szTip As String * 64
      End Type

      ---- 在本數據結構定義中,各變量都有其實用意義:
      cbSize:需填入NOTIFYICONDATA數據結構的長度。
      HWnd:設置成窗口的句柄。
      Uid:為圖標所設置的ID值。
      UFlags:用來設置以下三個參數uCallbackMessage、
      hIcon、szTip是否有效。
      UCallbackMessage:消息編號。
      HIcon:顯示在狀態欄上的圖標。
      SzTip:提示信息。

      ---- 其中參數uCallbackMessage、hIcon、szTip也應在模塊中聲明為以下的常量:
      Public Const NIF_MESSAGE = 1
      Public Const NIF_ICON = 2
      Public Const NIF_TIP = 4

      ---- 了解了上述各參數所代表的意義,就可以直接編寫代碼了。應用本函數所建立的窗體示例(略)。
      ---- 為了進一步讓大家了解本函數的使用,下面將將詳細介紹上例所需編寫的代碼。

      ---- 1、加入圖標按鈕。代碼如下:

      Dim nid As NOTIFYICONDATA

      nid.cbSize = Len(nid)
      //取數據結構的長度設置給cbSize
      nid.hWnd = Me.hWnd //設置窗體的句柄
      nid.uID = 9999 //圖標的ID值,可自定義
      nid.uFlags = NIF_ICON //表示設置圖標
      nid.hIcon = Me.Icon
      //把圖標設置成當前窗體的圖標,也可以指定為某一圖標文件

      Shell_NotifyIcon NIM_ADD, nid //加入圖標

      ---- 2、刪除圖標按鈕。這里要注意的是,當我們把圖標加入到狀態欄后,一定要把hWnd及uID的值記下來,不然將無法正確刪除此圖標,本按鈕的Click事件代碼如下:

      Dim nid As NOTIFYICONDATA
      nid.cbSize = Len(nid)
      nid.hWnd = Me.hWnd //記下句柄
      nid.uID = 9999 //ID值
      Shell_NotifyIcon NIM_DELETE, nid
      //調用Shell_NotifyIcon函數刪除它

      ---- 3、改變圖標按鈕。同樣的道理,在窗體運行過程中,如果要更新圖標,可以用以下的Click事件代碼來完成:
      Dim nid As NOTIFYICONDATA
      nid.cbSize = Len(nid)
      nid.hWnd = Me.hWnd
      nid.uID = 9999
      nid.uFlags = NIF_ICON
      nid.hIcon = Image1.Picture
      //用窗體中的Image控件中之圖片來代替

      Shell_NotifyIcon NIM_MODIFY, nid //修改它

      ---- 4、設置信息提示按鈕。提示信息就是當我們將鼠標移到本圖標上時,這些圖標會顯示出來的信息,下面的Click事件代碼可以作到:
      Dim nid As NOTIFYICONDATA

      nid.cbSize = Len(nid)
      nid.hWnd = Me.hWnd
      nid.uID = 9999
      nid.uFlags = NIF_ICON + NIF_TIP
      nid.szTip = "這是試驗圖標" + Chr(0)
      Shell_NotifyIcon NIM_MODIFY, nid

      ---- 當然,在把本窗口縮小成圖標的同時,也別忘了將窗口隱藏,代碼是:Me.hide。這樣窗口就不會在任務欄中出現了。
      ---- 利用Win 32 API函數,我們可以完成很多VB本身不具備的功能,只要靈活運用,必能為VB應用程序增色不少。
      1、 本站不保證以上觀點正確,就算是本站原創作品,本站也不保證內容正確。
      2、如果您擁有本文版權,并且不想在本站轉載,請書面通知本站立即刪除并且向您公開道歉! 以上可能是本站收集或者轉載的文章,本站可能沒有文章中的元件或產品,如果您需要類似的商品請 點這里查看商品列表!
      本站協議。 版權信息。 關于我們。 本站地圖。 營業執照。 發票說明。 付款方式。 聯系方式
      深圳市寶安區西鄉五壹電子商行——粵ICP備16073394號-1;地址:深圳西鄉河西四坊183號;郵編:518102
      E-mail:51dz$163.com($改為@);Tel:(0755)27947428
      工作時間:9:30-12:00和13:30-17:30和18:30-20:30,無人接聽時可以再打手機13537585389
      91嫩草黄片动漫版