Français
Source/ Codesnippets

Contrôle Hook Html souris Rechte Sperren - 2

 
souris Hook Rechte souris HTML Contrôle sperren
sans Hook:
Andreas Miethe

per OCX
Uwe Pascal Niemeier
allô gens!

qui Vollständigkeit halber, aussi si es den meisten wohl trop compliqué ist ...
une Possibilité, cela Kontextmenü eines WebBrowser-Controls trop changement ist qui Erstellung eines eigenen IDocHostUIHandler-Interfaces, cela anstelle des Originals eingesetzt wird.
cet Interface contient u.A. la méthode ShowContextMenu, pour qui une Profan-Proc verwendet volonté peux:
(Voraussetzung: OCX-Package 2 + XProfan 10)
window 10,10-500,400
usermessages 16
 $H Messages.ph
 $H Windows.ph
 $H ocx2.ph
 $I ocx2.inc
ocxInit()
declare VTable#
dim VTable#,76

proc CreateIMD---------------------------CreateInterfaceMethodDummy

    var a&=~GlobalAlloc(0,16)
    long a&,0=-1192457387,&(2),-1034033781,&(1)*4+4
    return a&
    endproc-------------------------------------------------------------

    proc ShowContextMenu--------------------------------ShowContextMenu

        parameters This&,ID&,Point&,IUnknown&,IDispatch&
        ~ScreenToClient(%hwnd,Point&)
        createmenu
        cas ID&=0:appendmenu 101,Kontextmenü leerer Bereich
        cas ID&=1:appendmenu 102,Kontextmenü Bild
        cas ID&=4:appendmenu 103,Kontextmenü markierter Text
        cas ID&=5:appendmenu 104,Kontextmenü Link
        trackmenu long(Point&,0),long(Point&,4)
        ~RedrawWindow(%hwnd,0,0,$485)
        return 0
        endproc-------------------------------------------------------------

        proc InitICustomDoc----------------------IDocHostUIHandler-Interface

            parameters Object&
            long VTable#,0= CreateIMD(2,1)QueryInterface
            long VTable#,4= CreateIMD(0,0)AddRef
            long VTable#,8= CreateIMD(0,0)Release
            long VTable#,12=procaddr(ShowContextMenu,5)
            long VTable#,16=CreateIMD(1,1)GetHostInfo
            long VTable#,20=CreateIMD(5,1)ShowUI
            long VTable#,24=CreateIMD(0,0)HideUI
            long VTable#,28=CreateIMD(0,1)UpdateUI
            long VTable#,32=CreateIMD(1,1)EnableModeless
            long VTable#,36=CreateIMD(1,1)OnDocWindowActivate
            long VTable#,40=CreateIMD(1,1)OnFrameWindowActivate
            long VTable#,44=CreateIMD(3,1)ResizeBorder
            long VTable#,48=CreateIMD(3,1)TranslateAccelerator
            long VTable#,52=CreateIMD(2,1)GetOptionKeyPath
            long VTable#,56=CreateIMD(2,1)GetDropTarget
            long VTable#,60=CreateIMD(1,1)GetExternal
            long VTable#,64=CreateIMD(3,1)TranslateUrl
            long VTable#,68=CreateIMD(2,1)FilterDataObject
            long VTable#,72=VTable#
            var IFace&=VTable#+72
            var Document&=ocxGet(Object&,Document)
            var ICustomDoc&=QueryInterface(Document&,{3050f3f0-98b5-11cf-bb82-00aa00bdce0b})
            CallMethod(ICustomDoc&,3,IFace&)--ICustomDoc::SetUIHandler
            ocxRelease(ICustomDoc&,Document&)
            endproc-------------------------------------------------------------
            declare Control&
            var URL$=C:Test.html---Irgendeine HTML(!)-Dossier
            var Object&=ocxCreate(Url$,%hwnd,10,10,400,300,$50b00000,addr(Control&))
            InitICustomDoc(Object&)

            tandis que 1

                waitinput
                cas %umessage=16:pause
                settext %hwnd,str$(%menuitem)

            endwhile

            ocxRelease(Object&)
            destroywindow(Control&)
            ocxDeInit()

PS: qui Proc CreateIMD erzeugt per Embedded ASM une Art Dummy, avec cela pas pour chacun Methode une eigene Proc incorporé volonté doit. Genauere Beschreibung et weitere Demos zum Thema Event-Handling (Ereignis-Auswertung) volonté im OCX-Package 3 enthalten son, so es car jamais fertig wird et sous XProfan 11 courir ist

SeeYou
Pascal
 
26.01.2006  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

4.292 Views

Untitledvor 0 min.
AndreasS27.11.2018
Andreas Koch07.11.2016
Ernst14.04.2016
Tommy30.01.2014
plus...

Themeninformationen

cet Thema hat 1 participant:

iF (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie