程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 怎樣建立簡單的任務欄應用程序(4)

怎樣建立簡單的任務欄應用程序(4)

編輯:Delphi

上面的程序看起來有點復雜,你可以將它分成兩個部分來看:創建和顯示菜單。

列舉創建菜單是用Windows的外殼接口完成的。首先,我們使用SHGetDesktopForlder函數得到使用桌面的IShellFolder接口。使用這個接口,我們能得到另一個接口的實例:IEnumIDList。這個接口通常實現實際的列舉工作。我們簡單的重復調用這個函數直到錯誤值返回(例如:所有的菜單被列舉)。當我們得到一個菜單,我們使用AddToMenu函數加它。

當所有的菜單被列舉和創建後,現在我們需要運行這個菜單。我們將找到的菜單保存到一個全局的List變量中,每一個菜單都擁有它的菜單號。這確保我們能得到它的索引。

OpenDesktopIcon(WParam-cm_About)

當然,WParam中儲存了用戶單擊鼠標的菜單的菜單號(ID)。

下面我們將處理運行用戶選擇的菜單。

Procedure OpenDesktopIcon(Number : Integer);
Var
S : String;
I : Integer;
begin
S := IconData[Number];
I := ShellExecute(0,nil,PChar(S),nil,nil,sw_ShowNormal);
If (I $#@60; 32) Then Begin
S := Could not open selected item "+S+". +
Result was: +IntToStr(I)+.;
MessageBox(0,PChar(S),Shell Test,mb_OK);
End;
end;

上面,Win 32 API函數ShellExecute做了所有的工作。

現在你應該能用Delphi創建簡單的任務欄的程序了。

實際上,有一些免費的元件可以供您直接使用,不過,因為使用VCL,文件的大小將比較大,如果使用上面的方法,文件的大小將只要20K。當然,現在文件的大小已經不是我們該十分關注的問題了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved