| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
snupoo Lt Cmdr


Registrado: 19 Feb 2004Mensajes: 108Ubicación: Merida yucatan Mexico
|
Publicado: Mie 06 Oct, 2004 8:51 pm Asunto: Detectar cuando un CD se introduce en la unidad. |
|
|
hola a todos en el foro.
Actualmente estoy realizando un proyecto para la escuela en el cual necesito saber cuando se ha introducido un CD en la unidad por que tengo en mi form un DriveComboBox y quiero que este se actualice automatica.
El codigo para actualizar ya lo encontre aqui en el foro, lo que me falta es detectar el CD en la unidad.
Gracias por su ayuda.
saludos  _________________ [img]http://folding.extremeoverclocking.com/sigs/sigimage.php?un=snupoo&t=86565/sigimage.gif[/img]
A programar se aprende programando |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Lun 11 Oct, 2004 4:37 pm Asunto: |
|
|
| Puedes hacerlo interceptando el mensaje de Windows: WM_DEVICECHANGE. |
|
| Volver arriba |
|
 |
snupoo Lt Cmdr


Registrado: 19 Feb 2004Mensajes: 108Ubicación: Merida yucatan Mexico
|
Publicado: Mie 13 Oct, 2004 12:32 am Asunto: |
|
|
Hola _Leo Gracias por la informacion.
Solo un problemilla es que mi ingles y el manejo de windows dejan mucho que desaer sino es mucha molestia me puedes explicar la funcion y tal ves un ejemplillo.
Gracias por tu ayuda sin ti el foro noseria el mismo.  _________________ [img]http://folding.extremeoverclocking.com/sigs/sigimage.php?un=snupoo&t=86565/sigimage.gif[/img]
A programar se aprende programando |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mie 13 Oct, 2004 1:09 am Asunto: |
|
|
Añade lo siguiente bajo el apartado privado de la clase del Form:
| Código: | private: // User declarations
// Añadimos: #include <dbt.h>
void __fastcall WmDeviceChange(TMessage& msg)
{
if (msg.WParam == DBT_DEVICEARRIVAL)
ShowMessage("Nueva unidad");
else if (msg.WParam == DBT_DEVICEREMOVECOMPLETE)
ShowMessage("Unidad expulsada");
}
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_DEVICECHANGE, TMessage, WmDeviceChange)
END_MESSAGE_MAP(TForm) |
|
|
| Volver arriba |
|
 |
rauls66 Lt Cmdr

Registrado: 20 Abr 2008Mensajes: 119
|
Publicado: Sab 15 Ago, 2009 10:06 am Asunto: |
|
|
Pués yo no doy con la manera de actualizar el DriveComboBox. Tampoco lo he encontrado en el foro, pues solamente aparecen unos pocos post de este componente.
Snupoo, ¿me puedes indicar dónde encontraste ese código?? Así no molestamos a Leo con estas cosas.
Gracias. |
|
| Volver arriba |
|
 |
rauls66 Lt Cmdr

Registrado: 20 Abr 2008Mensajes: 119
|
Publicado: Sab 15 Ago, 2009 10:29 am Asunto: |
|
|
Bueno, acabé encontrando la solución en internet. Sólo hay que cambiar la propiedad Textcase.
Para que funcione correctamente sólo he encontrado el evento:
void __fastcall TForm1::DriveComboBox1DropDown(TObject *Sender)
{
DriveComboBox1->TextCase=tcLowerCase;
}
Saludos. |
|
| Volver arriba |
|
 |
|