快速開車組合框

2022-02-13 03:04:57 字數 2105 閱讀 7710

介紹 最近,我需要一些方法來顯示計算機上的邏輯驅動器和只有邏輯驅動器。我不認為使用openfiledialog或folderbrowserdialog會有什麼問題,但我很快意識到它們並沒有完成我想要它們做的事情。 因此,我求助於codeproject,看看這裡是否存在乙個可以完成這項工作的控制項。我找到了幾個(乙個「explorer-style」的treeview控制項,drivecombobox, drive box),但沒有乙個能讓我滿意地解決我的問題,因此我選擇了黑我自己的控制項。 使用的** 要使用該控制項,請包含**並將標準組合框新增到窗體/對話方塊/控制項中。接下來,將控制項的型別更改為「system.windows.forms」。組合框」到「zinolib.windows.controls.drivecombobox」。 隱藏,複製code

...

private zinolib.windows.controls.drivecombobox _cbdrives =

new zinolib.windows.controls.drivecombobox();

...

如果您不想使用設計器將組合框新增到父控制項,下面的**描述了如何建立和新增drivecombobox到父控制項: 隱藏,複製code

public

class form1 : system.windows.forms.form

...}

本文中的**同時支援。net framework 1.1和。net framework 2.0。 的興趣點 . net框架內建了通過呼叫system.io.directory.getlogicaldrives()來檢索邏輯驅動器字母的支援——但是,它沒有提供檢索卷名或適當圖示的介面。通過瀏覽mrpj的「explorer-style」treeview控制項的源**和微軟319350,我知道了如何通過使用位於shell32.dll的shgetfileinfo來檢索這些資訊。通過解析適當的標誌,shgetfileinfo可以返回顯示名稱、圖示索引、圖示控制代碼等等。然後,我需要一種方法來顯示這些資訊——並認為擴充套件niels penneman出色的imagecombo控制很容易。10分鐘後,drivecombobox就完成了,可以使用了。 驅動器資訊的檢索是在函式「builddrivelist()」中完成的,該函式最初由drivecombobox的構造函式呼叫。在shgetfileinfo用於檢索實際的驅動器資訊之前,我們必須說明需要哪些資訊。對於drivecombobox,需要提供以下資訊: iconicon indexdisplay名稱 實際的檢索非常簡單,因為我們只需要遍歷system . io . direct . getlogicaldrives()返回的驅動器,並為每個驅動器呼叫shgetfileinfo。然後,可以使用檢索到的資訊構建驅動器圖示的imagelist,並將它們新增到組合框中。 隱藏,收縮,複製code

public

void builddrivelist()

else

idxicon = convert.toint32( _icondict[shinfo.iicon] );

imagecomboitem item =

new imagecomboitem(shinfo.szdisplayname, idxicon, false);

item.itemvalue = drive;

base.items.add( item );}}

if( base.items.count!=0 )

base.selectedindex = 0;

}

許可證 你可以自由地以任何你希望的方式使用這段**-在免費軟體和商業程式-免費。如果你能在「關於你的資訊」框裡放個小鏈結,那就太好了,但這不是必須的。 確認 大部分的功勞必須歸功於niels penneman的imagecombo控制項,它在drivecombobox控制項中做了大部分的魔法,mrpj為他的「explorer-style」treeview控制項,這給了我使用shgetfileinfo的想法。 歷史 2007-05-08:最初版本。2007-05-15:將驅動器列舉移動到單獨的函式「builddrivelist」並從設計器中刪除items屬性。2007-05-23:對文章文字的小修改。 本文**於:

MFC 組合框,列表框

組合框 ccombobox 列表框 clistbox 組合框 combo box 列表框 list box 屬性中 sort 支援自動排序 1.新增如圖空間,並聲稱對應的組合框和列表框 編輯框的控制項。2.新增 新增 刪除 函式 void clb007dlg onbnclickedbtnadd vo...

MFC組合框 編輯框

getdlgitem idc enablewindow false 設定初始狀態,編輯框獲取資訊的方式 變數 m edit m edit.format 操作組合框的資料 1 由於組合框內包含了列表框,所以列表框的功能都能夠使用。如可以利用 int addstring lpctstr lpszitem...

下拉列表框和組合框

組合框被操作時會向父視窗傳送通知訊息,這些通知訊息及其含義如下 cbn closeup 組合框的列表框元件被關閉,簡易組合框不會傳送該通知訊息 cbn dblclk 使用者在某列表項上雙擊滑鼠,只有簡易組合框才會傳送該通知訊息 cbn dropdown 組合框的列表框元件下拉,簡易式組合框不會傳送該...