|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Drag & Drop на TEdit
Столкнулся с такой проблемой при перетаскивании файла с с компьютера на компонент...
Дело такое на форме стоит TPageControl на второй странице которого стоит компонент TEdit Код:
procedure TForm1.WMDropFiles(var Msg: TWMDropFiles); var i: integer; CountFile: integer; size: integer; Filename: PChar; begin try CountFile := DragQueryFile(Msg.Drop, $FFFFFFFF, Filename, 255); if CountFile>1 then exit else begin edit4.Clear; size := DragQueryFile(Msg.Drop, i , nil, 0)+1; Filename:= StrAlloc(size); DragQueryFile(Msg.Drop,i , Filename, size); EDIT4.Text:=GetFileNamefromLink(FileName); end; finally DragFinish(Msg.Drop); end; end; код не работает если Код:
procedure TForm1.FormCreate(Sender: TObject); begin DragAcceptFiles(Form1.Edit4.handle, True); end; так как Edit4 находиться на TPageControl А вот если написать Код:
procedure TForm1.FormCreate(Sender: TObject); begin DragAcceptFiles(Form1.handle, True); end; то вся форма реагирует на перетаскивание что и не есть гуд... Как справиться с такой задачей??? Нет ничего не возможного. Вопрос только во времени... |
#2
|
||||
|
||||
Цитата:
Код:
TEdit = class(StdCtrls.TEdit) procedure WMDROPFILES(var Msg: TMessage); message WM_DROPFILES; end; Пишу программы за еду. __________________ |
#3
|
||||
|
||||
И ещё, если не ошибаюсь, в OnDestroy нужно сообщить системе что таскать ничего больше не надо, посредством вызова
Код:
... DragAcceptFiles(Form1.Edit4.Handle, false); ... Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#4
|
||||
|
||||
Что то рыбка не ловиться
Код:
type TEdit4 = class(Vcl.StdCtrls.TEdit) procedure WMDROPFILES(var Msg: TMessage); message WM_DROPFILES; end; Код:
procedure TEdit4.WMDROPFILES(var Msg: TMessage); var ... ... begin ... ... end; Код:
procedure TForm1.FormCreate(Sender: TObject); begin DragAcceptFiles(form1.edit4.handle, true); end; Нет ничего не возможного. Вопрос только во времени... |
#5
|
||||
|
||||
ты не внимателен!
Пишу программы за еду. __________________ |
#6
|
||||
|
||||
Цитата:
Нет ничего не возможного. Вопрос только во времени... |
#7
|
||||
|
||||
Все разобрался нужно было новый класс поставить выше класса формы и убрать перед ним "4" ку...спасибо огромное выручили
и спасибо за замечание... Нет ничего не возможного. Вопрос только во времени... |