![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Столкнулся с такой проблемой при перетаскивании файла с с компьютера на компонент... 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	Дело такое на форме стоит 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" ку...спасибо огромное выручили 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	и спасибо за замечание... ![]()  |