Zadanie polega na dodaniu elementu do menu kontekstowego (popup menu) strony WWW załadowanej do TWebBrowser. Prawie mi się to udało - mój element w menu pokazuje się, ale jest nieaktywny (disabled). Kod źródłowy w Delphi (5) w załączniku.
Mam DZIAŁAJĄCE przykłady w C++
[login to view URL]
[login to view URL]
Moje tłumaczenie C++ -> Delphi ma błedy (2 ?), ale nie znam C++ wystarczająco dobrze :-(
Mój kod źródłowy używa modułów z Embedded Web Browser - [login to view URL]
*********** Ogólna zasada działania:
1) trzeba coś załadować do TWebBrowser, np.
[login to view URL](\'about:blank\');
2) Gdy strona się załaduje. dodajemy nasz IDocHostUIHandler (kod TDocHostUIHandler w załączniku)
... TForm1
...
private
FDocHostUIHandler: TDocHostUIHandler;
procedure [login to view URL](Sender: TObject);
var
CustDoc: ICustomDoc;
begin
FDocHostUIHandler := [login to view URL];
if [login to view URL](ICustomDoc, CustDoc) = S_OK then
[login to view URL](FDocHostUIHandler);
...
3) Gdy klikniemy prawym guzikiem myszy na TWebBrowser, wywoływana jest nasza funkcja TDocHostUIHandler.ShowContextMenu. Ładujemy standardowe menu, dodajemy nasz element i wyświetlamy to PopupMenu.
Mój element w menu jest widoczny, ale nieaktywny.
Potrzebuję:
1) dodać aktywny (enabled) element na górze menu kontekstowego i reagować na jego kliknięcie,
2) dodać element z SubMenu - jak na zdjęciu na
[login to view URL]
*********** PRZYKŁADY:
DZIAŁAJĄCE przykłady w C++
[login to view URL]
[login to view URL]
Podobne w Delphi
[login to view URL];page=2
Informacje o menu WebBrowser\'a
[login to view URL]
Inny przykład w C++ (Scenario 3)
[login to view URL]
Co na to Microsoft
[login to view URL]
[login to view URL](VS.85).aspx
Artykuł o IDocHostUIHandler
[login to view URL]
Dodanie elementu z submenu - function [login to view URL]
[login to view URL];path=%2Fcomponent%2FVirtualShellTools%2FSource%2FVirtualShellUtilities.pas&sc=