Delphi World - Заполнение полей формы в TWebBrowser методом Drag-and-Drop
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Заполнение полей формы в TWebBrowser методом Drag-and-Drop

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  This example shows how to fill out fields in your webbrowser by 
  dragging the content of Label1 to a field of your webbrowser}

 { 
  Mit diesem Beispiel kann der Inhalt von Label1 per Drag & Drop 
  in die Edit Felder gefullt werden. 
}


 procedure TForm1.FormCreate(Sender: TObject);
 begin
   label1.DragMode := dmAutomatic;
 end;


 procedure TForm1.WebBrowserDragOver(Sender, Source: TObject; X,
   Y: Integer; State: TDragState; var Accept: Boolean);
 var
   item: Variant;
 begin
   //check if document is interactive 
  if (Webbrowser.ReadyState and READYSTATE_INTERACTIVE) = 3 then
   begin
     item := WebBrowser.OleObject.Document.elementFromPoint(x, y);
     if Source is TLabel then
       Accept := True;
     Accept := (item.tagname = 'INPUT') and ((item.type = 'text') or
       (item.type = 'password')) or (item.tagname = 'TEXTAREA');
   end;
 end;

 procedure TForm1.WebBrowserDragDrop(Sender, Source: TObject; X,
   Y: Integer);
 var
   item: Variant;
 begin
   //check if document is interactive 
  if (Webbrowser.ReadyState and READYSTATE_INTERACTIVE) = 3 then
   begin
     item       := WebBrowser.OleObject.Document.elementFromPoint(x, y);
     item.Value := label1.Caption;
   end;
 end;
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования