Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TWebbrowser & Copy Enabled (https://www.delphipraxis.net/39712-twebbrowser-copy-enabled.html)

toms 6. Feb 2005 21:05


TWebbrowser & Copy Enabled
 
Hi,

Moechte ein Copy Menu Item je nachdem enablen, ob im Webbrowser etwas
selektiert ist oder nicht.

Leider ist bei diesem Code das MenuItem immer enabled = False.
Was mache ich falsch?

Delphi-Quellcode:
var
  Flags: OLECMDF;
begin
  Flags := Webbrowser1.QueryStatusWB(OLECMDID_COPY);
  MenuItemCopy.Enabled:= (Flags and OLECMDF_SUPPORTED) = OLECMDF_SUPPORTED;
end;

Delphi-Quellcode:
initialization
  OleInitialize(nil)

finalization
  OleunInitialize

Sprint 6. Feb 2005 21:41

Re: TWebbrowser & Copy Enabled
 
In wievielen Foren postest du eigentlich deine Beiträge?

Delphi-Quellcode:
var
  Flags: OLECMDF;
begin

  Flags := WebBrowser1.QueryStatusWB(OLECMDID_COPY); Self.Caption := IntToStr(Flags);
  MenuItemCopy.Enabled := (Flags or OLECMDF_SUPPORTED or OLECMDF_ENABLED) = Flags;

end;

toms 7. Feb 2005 06:05

Re: TWebbrowser & Copy Enabled
 
Danke, das funktioniert so. Nur im TEmbeddedWB nicht, wo ich's urspruenglich ausprobiert hatte...

Sprint 7. Feb 2005 07:21

Re: TWebbrowser & Copy Enabled
 
Delphi-Quellcode:
MenuItemCopy.Enabled :=(EmbeddedWB1.Document as IHTMLDocument2).queryCommandEnabled('Copy');

toms 7. Feb 2005 08:12

Re: TWebbrowser & Copy Enabled
 
Danke, werde das mal ausprobieren.
Ich frage mich aber, warum das erstere nicht funktioniert, da es ja auch auf das QueryStatusWB vom TWebbrowser zurückgreift.

toms 7. Feb 2005 20:29

Re: TWebbrowser & Copy Enabled
 
Zitat:

Zitat von Sprint
Delphi-Quellcode:
MenuItemCopy.Enabled :=(EmbeddedWB1.Document as IHTMLDocument2).queryCommandEnabled('Copy');

Hat funktioniert!

Hab's jetzt so geloest:

Delphi-Quellcode:
function WB_QueryCommandEnabled(WB: TWebbrowser; const Command: string): Boolean;
var
  Doc: IHTMLDocument2;
begin
  Result := False;
  Doc := WB.Document as IHTMLDocument2;
  if doc <> nil then
    Result := Doc.QueryCommandEnabled(Command);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  MenuItemCopy.Enabled := WB_QueryCommandEnabled(EmbeddedWB1, 'Copy');
  MenuItemPaste.Enabled := WB_QueryCommandEnabled(EmbeddedWB1, 'Paste');
  MenuItemCut.Enabled := WB_QueryCommandEnabled(EmbeddedWB1, 'Cut');
nd;


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz