Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 28 января!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

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.

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

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

<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS