Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Перетянуть список файлов


Автор: Scooter 1.3.2010, 17:58
Здравствуйте! Такая проблема нужно перетянуть файлы мышкой себе на форму в уже запущенную программу... На форуме ничего подобного не нашел может плохо искал конечно  smile ... Подскажите плиз как сие чудо реализовать можно?

Сделал чтото подобное через список параметров перед запуском если кинуть файлы на ярлык программы, но это ни то что хотел... Нужно во время работы проги перетягивать файлы...

Автор: borisbn 1.3.2010, 18:10
Сообщение http://msdn.microsoft.com/en-us/library/bb774303(VS.85).aspx
Код

// Если на нас "кинули" файлы, создать список из их имен и вызвать callBack
    case WM_DROPFILES:
    {
      // Получить количество файлов
      int numFiles = DragQueryFile((HANDLE)Message.WParam, -1, NULL, 0);
      // Если нет файлов или нет callBack'а, то ничего не делать (все равно никто не оценит :)
      if ( numFiles <= 0 )
      {
        DragFinish((HANDLE)Message.WParam);
        break;
      }
      std::list< std::string > fileNames;
      char buffer[MAX_PATH];
      for (int i = 0; i < numFiles; i++)
      {
        // Получить очередное имя файла
        DragQueryFile((HANDLE)Message.WParam, i, buffer, sizeof(buffer));
        // Запихнуть его в список
        fileNames->push_back( buffer );
      }
      DragFinish((HANDLE)Message.WParam);
    }
    break;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)