Последние записи
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
- wprintf как напечатать кириллицу
- Взаимодействие через командную строку
- Сравнение языков на массивах. Часть 1
- Сравнение языков по скорости
- Чтение огромных xml-файлов
- Как в Python+Selenium webdriver открыть новую вкладку в уже открытом браузере?
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
21st
Фев
Получение пути к файлу путем перетаскивания
Posted by maloy under Delphi, Архив
Мне нужно сделать так, чтобы при перетаскивании объекта из проводника на Edit путь отображался в этом Edit’е.
uses ShellAPI;
type
procedure FormCreate(Sender: TObject);
protected
procedure WMDROPFILES (var Msg: TMessage); message WM_DROPFILES;
procedure TNewForm.FormCreate(Sender: Tobject);
begin
DragAcceptFiles(NewForm.Handle, true);
end;
procedure TNewForm.WMDROPFILES (var Msg: TMessage);
var
i, amount, size: integer;
Filename: PChar;
begin inherited;
Amount := DragQueryFile(Msg.WParam, $FFFFFFFF, Filename, 255);
for i := 0 to (Amount - 1) do
begin
size := DragQueryFile(Msg.WParam, i , nil, 0) + 1;
Filename:= StrAlloc(size);
DragQueryFile(Msg.WParam,i , Filename, size);
PathEdit.Text := StrPas(Filename);
StrDispose(Filename);
end;
DragFinish(Msg.WParam);
end;
Все запускается без ошибок, но не работает (курсор не изменяет вид при наведении на Edit с зажатым файлом).
Ntlegend
добавь
Код:
type
procedure FormCreate(Sender: TObject);
procedure CreateParams(var Params: TCreateParams); override;
protected
procedure WMDROPFILES (var Msg: TMessage); message WM_DROPFILES;
и собственно сама процедура:
Код:
procedure TMainFrm.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.ExStyle := Params.ExStyle or WS_EX_ACCEPTFILES;
end;
тема на форуме от 2009 года
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)