m8815010
版主
![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif)
![](images/icon_photo_none.gif) 發表:99 回覆:372 積分:289 註冊:2003-11-13
發送簡訊給我
|
引言:
各位大大好!小弟滿困擾的。在我們的DriverComboBox中,有沒有什麼辦法可以讓它只秀出硬碟的分割區而不秀出軟碟機與光碟機的磁區呢??
chance你好 : 我找了一下,找不到>> <>這裏沒有提出直接可得到最終的結果的程式碼,只有上面> <>顯示電腦上的真硬碟槽的代號:>
< class="code">
要記得include: #include int NumofDrivers=GetLogicalDrives(); AnsiString Bin_NumofDriver=IntToBin(NumofDrivers); int Swap=StrToInt(Bin_NumofDriver);
Bin_NumofDriver=IntToStr(Swap); for (int Cnt=1;Cnt<=Bin_NumofDriver.Length();Cnt ) {
if (Bin_NumofDriver[Bin_NumofDriver.Length()-Cnt 1]=='1') {
char DriverRootChar='a';
AnsiString DriverRootPath=""; DriverRootChar =(Cnt-1);
DriverRootPath =DriverRootChar;
DriverRootPath =":"; if (GetDriveType(DriverRootPath.c_str())==3) <--這裏稍做修改即可顯示非硬碟槽的槽代號
ShowMessage(DriverRootPath);
}
}
砍掉非真硬碟的item 假設Index為1的item顯示的不是真硬碟的代號,要砍:
SendMessage(DriveComboBox1->Handle,CB_SETCURSEL,1,0);
DriveComboBox1->DeleteSelected();
由上,砍掉一個item後TDriverComboBox會白白沒有東西show出 可手動隨便切到另一個item,這樣就不會白白的
用程式去切的話,也是類似這樣的寫法去切:
SendMessage(DriveComboBox1->Handle,CB_SETCURSEL,1,0); 注意1只是例子,實際的值是要看你要切到的item index值是多少!That's all ! 發表人 -
|