![]() |
|
|
#1
|
|||
|
|||
|
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; |