Форум: "Система";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
ВнизDrag`n`Drop до того, как пользователь отпустит кнопку мыши Найти похожие ветки
← →
Raki (2004-03-03 23:11) [0]Приведу код, который нашел здесь же, на сайте:
<--
TMainForm = class(TForm)
...
private
procedure WMDROPFILES(var Message: TWMDROPFILES); message
WM_DROPFILES;
procedure ProcessFile(Filename: string);
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
DragAcceptFiles(MainForm.Handle, TRUE); // enable drag&drop
end;
procedure TMainForm.ProcessFile(Filename: string);
begin
// any actions
BEEP;
end;
procedure TMainForm.WMDROPFILES(var Message: TWMDROPFILES);
var
Files : Longint;
I : Longint;
Buffer : array[0..MAX_PATH] of Char;
begin
Files := DragQueryFile(Message.Drop,$FFFFFFFF,nil,0); // Get count of
files
for I := 0 to Files - 1 do begin
DragQueryFile(Message.Drop,I,@Buffer,SizeOf(Buffer)); // Get N file
ProcessFile(Buffer); // do something with the file
end;
DragFinish(Message.Drop); // end drag loop
end;
--!>
В процедуре ProcessFile команда BEEP, которую я вписал в готовый код, происходит тогда, когда пользователь отпускает клавишу мыши, бросая на форму файл. А мне нужно узнать заранее, когда пользователь только начинает водить мышью с захваченным файлом над формой, что он собирается бросить файл. Цель- в это время поменять курсор. Как это сделать. В справке наткнулся на описание WM_Notify, но это не помогает.
Или, быть может, я делаю что-то неправильно.
← →
Almaz © (2004-03-04 02:31) [1]
> А мне нужно узнать заранее, когда пользователь только начинает
> водить мышью с захваченным файлом над формой, что он собирается
> бросить файл. Цель- в это время поменять курсор. Как это
> сделать. В справке наткнулся на описание WM_Notify, но это
> не помогает.
> Или, быть может, я делаю что-то неправильно.
IMHO, технология связанная с WM_DROPFILES тут не поможет. Вам стоит использовать интерфейс IDropTarget, в частности его методы DragEnter и DragLeave.
Удачи.
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.075 c