|
#1
|
|||
|
|||
DriveComboBox
1)Возможно ли передать информацию(с иконками) с drivecombobox1 в drivecombobox2.
2)я втыкаю флешку, то она не появляется в DriveComboBox. Что делать? |
#2
|
||||
|
||||
Проводник флешку с иконкой отображает или только стандартный вид накопителя?
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
Флешку с иконкой. Просто если я запускаю программу и потом втыкаю флешу то driveCombobox ее не видит, а если наоборот то все работает.
|
#4
|
||||
|
||||
Тогда вам нужно обновлять список дисков, правда вот
Цитата:
Код:
type TNewDriveComboBox = class(TDriveComboBox) end; ... procedure TForm1.Button1Click(Sender: TObject); var Drive: Char; begin Drive := DriveComboBox1.Drive; TNewDriveComboBox(DriveComboBox1).BuildList; // Вызываем защищенный метод родительского класса DriveComboBox1.Drive := Drive; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#5
|
|||
|
|||
а можно ли сделать это
Цитата:
|
#6
|
||||
|
||||
Можно, надо ловить сообщение WM_DEVICECHANGE, примерно так
Код:
private procedure WMDeviceChange(var Message: TMessage); message WM_DEVICECHANGE; ... const DBT_DEVICEARRIVAL = $8000; const DBT_DEVICEQUERYREMOVE = $8001; const DBT_DEVICEQUERYREMOVEFAILED = $8002; const DBT_DEVICEREMOVEPENDING = $8003; const DBT_DEVICEREMOVECOMPLETE = $8004; const DBT_DEVICETYPESPECIFIC = $8005; const DBT_CONFIGCHANGED = $0018; procedure TForm1.WMDeviceChange(var Message: TMessage); var s : string; begin {Do Something here} case Message.wParam of DBT_DEVICEARRIVAL : s := 'A device has been inserted and is now available'; DBT_DEVICEQUERYREMOVE: begin s := 'Permission to remove a device is requested'; ShowMessage(s); {True grants premission} Message.Result := integer(true); exit; end; DBT_DEVICEQUERYREMOVEFAILED : s := 'Request to remove a device has been canceled'; DBT_DEVICEREMOVEPENDING : s := 'Device is about to be removed'; DBT_DEVICEREMOVECOMPLETE : s := 'Device has been removed'; DBT_DEVICETYPESPECIFIC : s := 'Device-specific event'; DBT_CONFIGCHANGED : s:= 'Current configuration has changed' else s := 'Unknown Device Message'; end; ShowMessage(s); inherited; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |