Einzelnen Beitrag anzeigen

Erutan

Registriert seit: 16. Mär 2013
71 Beiträge
 
Delphi 7 Professional
 
#1

Drag & Drop in TWebBrowser funtioniert nicht

  Alt 10. Mär 2014, 20:33
Delphi-Version: 7
Hallo,

ich hab' mal wieder ein Problem.

Ich habe einen Code vom Swissdelphicenter verwendet und ein bisschen an meine Umgebung angepaßt. Es sollte damit möglich sein, die Caption eines Labels via Drag & Drop in ein Formularfeld einer Seite zu schieben, die im TWebBrowser aufgerufen wird.

Das Problem: Es geht nicht. Dabei scheint das Problem beim Label zu liegen. Fasse ich den Labeltext nämlich mit dem Mauszeiger an, verwndelt sich dieser in ein Stop-Symbol. Ziehe ich ihn dann über ein Formularfeld, wird daraus ein Formular-Symbol. Ich schließe daraus, daß irgendwas beim Label falsch ist.

Hier der Code:

Delphi-Quellcode:
procedure TForm1.WebBrowser1DragOver(Sender, Source: TObject; X,
  Y: Integer; State: TDragState; var Accept: Boolean);
var
  item: Variant;
begin
  //check if document is interactive
  if (Webbrowser1.ReadyState and READYSTATE_INTERACTIVE) = 3 then
  begin
    item := WebBrowser1.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.WebBrowser1DragDrop(Sender, Source: TObject; X,
  Y: Integer);
var
  item: Variant;
begin
  //check if document is interactive
  if (Webbrowser1.ReadyState and READYSTATE_INTERACTIVE) = 3 then
  begin
    item := WebBrowser1.OleObject.Document.elementFromPoint(x, y);
    item.Value := labelHaupttext.Caption;
  end;
end;
Bei oncreate habe ich außerdem eingetragen:
labelHaupttext.DragMode := dmAutomatic; Vielleicht weiß jemand Rat.

Viele Grüße
Holger
Holger
  Mit Zitat antworten Zitat