FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Capturar Drag del explorer en filelistbox
Saludos,
Pues quisiera hacer lo siguiente: Tengo un FileListBox en mi programa en ejecución y quisiera yo que cuando habra una ventana del explorador de windows y cogiera un fichero de un directorio y lo arrastrará a mi programa en el filelistbox que capturara la dirección del fichero del explorador. Alguna sugeréncia? Grácias. |
#2
|
||||
|
||||
Pues aquí tienes una explicación con el código delphi y la demo para que puedas probarlo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
||||
|
||||
Perdón, escribí rápido sin ver el título del foro...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
||||
|
||||
Aunque el foro sea de Builder los códigos en delphi son muy ilustrativos y no son difíciles de traducir. Yo agradezco también las respuestas en delphi a mis preguntas para Builder.
Cualquier sugerencia, creo, debe ser bien venida, por el interés y el tiempo tomado. Saludos. |
#6
|
|||
|
|||
A probarlos
Gracias por contestar rápido voy a ver los manuales
120123123 grácias |
#7
|
|||
|
|||
Otra cosilla
Escuchad,
Lo que quiero hacer ahora es que solo me capture el PATH del archivo que le envio cuando este encima de un ListBox que tengo, solamente sobre ese listbox. Grácias. |
#8
|
||||
|
||||
Bueno, no se si entiendo bien. Para capturar sólo el path, convierte el nombre de archivo a path con ExtractFilePath().
Si sólo quieres capturar en un control: Código:
// Procesar los mensajes de la aplicación void __fastcall TForm1::AppMessage(tagMSG &Msg, bool &Handled) { // Procesar el mensaje WM_DROPFILES, aquí o en otra función a parte... if(Msg.message == WM_DROPFILES){ char archivo[MAX_PATH]; int n = DragQueryFile((HDROP)Msg.wParam, 0, archivo, sizeof(archivo)); if(n>0) Procesar(archivo); // Funcion que procesa el archivo DragFinish((HDROP)Msg.wParam); Handled = true; } } Mediante esa función, que puede ser miembro de tu ListBox, capturas el nombre del path. También puedes filtrar el mensaje WM_DROPFILES, es decir en la parte del código que responde a éste del ejemplo de arribapuedes testar que tu puntero de ratón está en tu ListBox, por ejemplo. Código:
TPoint Point; ::GetCursorPos(&Point); HWND W = ::WindowFromPoint(Point); if(W == MyListBox->Handle){ // lo que quieras....... } Código:
// Procesar los mensajes de la aplicación void __fastcall TForm1::AppMessage(tagMSG &Msg, bool &Handled) { // Procesar el mensaje WM_DROPFILES, aquí o en otra función a parte... if(Msg.message == WM_DROPFILES){ char archivo[MAX_PATH]; int n = DragQueryFile((HDROP)Msg.wParam, 0, archivo, sizeof(archivo)); if(n>0){ TPoint Point; ::GetCursorPos(&Point); HWND W = ::WindowFromPoint(Point); if(W == MyListBox->Handle){ Procesar(archivo); // Funcion que procesa el archivo } } DragFinish((HDROP)Msg.wParam); Handled = true; } } Espero haberte entendido y darte la solución a tu problema. Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
FileListBox como explorer de windows | vivamotos | C++ Builder | 0 | 23-06-2008 08:48:51 |
Problema con un FileListBox. | CRIS | Varios | 5 | 28-11-2005 12:48:03 |
AYUDA CON FILELISTBOX(buscar) | rob1 | Varios | 1 | 20-09-2005 03:56:00 |
Ayuda Con Busqueda En Un Filelistbox | rob1 | Varios | 4 | 20-09-2005 01:47:02 |
Ayuda con un filelistbox | Jorghino reyes | Varios | 3 | 26-08-2005 06:28:03 |
|