![]() |
Wort im Browser markieren -> Rechtsklick -> Programm s
Hallo,
wenn jemand ein Wort in einem Browser markiert und dann mit einem Rechtsklick das Kontextmenü des Browsers öffnet, soll hier ein Eintrag für mein Programm erscheinen. Wie kann man das machen ? Danke schon mal. Beste Grüße bioser |
Re: Wort im Browser markieren -> Rechtsklick -> Progra
Hi,
hast du dich für den EmbeddedWebBrowser erwärmen können? Dann ist es recht einfach. Ordne deiner Browser-Komponente WebBrowser ein PopupMenu BrowserMenu zu und schreibe Code für das Ereignis OnShowContextMenu() - hier ein wenig sceleton code aus einem Editor von mir:
Delphi-Quellcode:
Grüße vom marabu
function TEditForm.WebBrowserShowContextMenu(const dwID: Cardinal;
const ppt: PPoint; const pcmdtReserved: IUnknown; const pdispReserved: IDispatch): HRESULT; begin // die Bedingung wird nicht ausreichen und evtl. // willst du hier noch MenuItems erzeugen... if dwID in [CONTEXT_MENU_TEXTSELECT, CONTEXT_MENU_CONTROL] then begin Result := S_OK; ClientToScreen(ppt^); BrowserMenu.Popup(ppt.x, ppt.y); end else Result := S_FALSE; end; |
Re: Wort im Browser markieren -> Rechtsklick -> Progra
hi, ich habe die Kompo installiert, aber ich möchte ja das Pop-Up-Menü z.B. des Internet Explorers oder sonstigen Browsern ergänzen.
|
Re: Wort im Browser markieren -> Rechtsklick -> Progra
Hi,
zumindest für die (Embedded-)WebBrowser-Komponente kann ich dir Hoffnung machen. Ich habe zwar keinen fertigen Code zur Hand, aber vom Prinzip her geht es so: Im event handler OnShowContextMenu gibst du nicht dein eigenes, sondern das default context menu aus, nachdem du es vorher um deinen Eintrag erweitert hast. Das default menu steht als resource mit der ID 24641 in SHDOCLC.DLL bereit. Die Manipulation und Ausgabe geschieht zweckmäßigerweise über das WIN32 API (LoadLibrary, LoadMenu, GetMenuItemCount, InsertMenuItem). Bei der Mozilla-Komponente wirst du wahrscheinlich andere, evtl aber ähnliche Wege gehen müssen. Grüße vom marabu |
Re: Wort im Browser markieren -> Rechtsklick -> Progra
danke, ich habe es anders gelöst.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz