Сборник часто задаваемых вопросов по программированию в среде Borland C++ Builder

Заявка на ипотеку через риелтора как правильно сформировать Заявку на ипотеку.            

Как перетащить файл на мою форму?



Вопрос: Как перетащить файл на мою форму?

Ответ : В хедере формы в private пишем: code: -------------------------------------------------------------------------------- void __fastcall WmDropFiles(TWMDropFiles & Message); -------------------------------------------------------------------------------- в public прописываем: code: -------------------------------------------------------------------------------- BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_DROPFILES, TWMDropFiles, WmDropFiles) END_MESSAGE_MAP(TForm) -------------------------------------------------------------------------------- в cpp-модуле формы пишем такой обработчик: code: -------------------------------------------------------------------------------- void __fastcall TMyForm::FormCreate(TObject *Sender) { DragAcceptFiles(Handle, true); } -------------------------------------------------------------------------------- Так мы сообщаем системе, что можем принемать файлы. Дальше там же (в cpp) пишем тело нашей функции: code: --------------------------------------------------------------------------------

void __fastcall TMуForm::WmDropFiles(TWMDropFiles & Message) { char path[256]; String str; HDROP hDrop = (HDROP)Message.Drop; int nFiles = DragQueryFile(hDrop, -1, NULL, NULL);//количество файлов, //ведь можно перетаскивать один файл, а можно сразу несколько. for (int i = 0; i < nFiles; i++) { DragQueryFile(hDrop, i, path, sizeof(path)); str = path;// полное имя перетсакиваемого на форму файла (включая путь) //Дальше делаем с ним чего угодно, например приводим название к нижнему регистру if (!RenameFile(str, ExtractFilePath(str) + ExtractFileName(str).LowerCase())) Application->MessageBox(("Unable rename file: " + str).c_str(), "Error", MB_OK + MB_ICONERROR); } DragFinish(hDrop); } -------------------------------------------------------------------------------- Вот так, например, работает маленькая программка, для того, чтобы быстренько "причесывать" названия файлов к одному виду.

Содержание раздела