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

Ответ :

В хедере формы в 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);

}


--------------------------------------------------------------------------------


Вот так, например, работает маленькая программка, для того, чтобы быстренько "причесывать" названия файлов к одному виду.

        
(c) 2003 Borland X Portal
Электронные Книги по компьютерным программам
На правах рекламы:
Регистрация. | Забыли пароль?
Логин
Пароль
Запомнить меня