C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Урок 22. Drag-and-drop - имя перетащенного файла / Уроки C++ .NET / Visual C++ .NET

Visual C++.NET
Урок 22. Drag-and-drop - имя перетащенного файла

Для получения имени перетащенного файла мы должны воспользоваться функцией DragQueryFile. Вызвать эту функцию надо в обработчике сообщения Windows WM_DROPFILES. Имя этого обработчика будет OnDropFiles. Для написания заготовки этого обработчика выделите в окне Class View имя класса CMainFrame, а в окне Properties нажмите на кнопку Messages и для сообщения WM_DROPFILES выберите OnDropFiles:

Добавление обработчика

В полученной заготовке напишите следующий код:

void CMainFrame::OnDropFiles(HDROP hDropInfo)
{
    // Переменная для хранения имени файла.
    TCHAR szNextFile [MAX_PATH];
    // Получаем имя файла.
    DragQueryFile (hDropInfo, 0, szNextFile, MAX_PATH);
    // Показываем имя файла в messagebox'е.
    MessageBox(szNextFile);
    // Освобождаем память.
    DragFinish ( hDropInfo );
}

Обратите внимание, как работает функция DragQueryFile - вторым параметром мы пишем 0. Этот параметр задает номер перетаскиваемого файла (ведь их может быть несколько). Если бы нам надо было выяснить имя второго перетаскиваемого файла (оба файла, разумеется, должны перетаскиваться в окно программы одновременно), то вторым параметром функции DragQueryFile мы бы поставили 1.

Третий параметр этой функции - это адрес буфера, в который запишется имя файла. Потом мы его используем в качестве параметра MessageBox.

Результат работы функции может быть, например, таким:

Полученное имя программы