| |
|
|
- Seite 1 - |
|
Julian Schmidt | Ich habe mir deine OCX Hilfe einmal angeschaut. Und habe anhand deinen Quellcode es nun hinbekommen weitere Menupunkte im "HTMLWin Kontextmenu" anzusprechen.
LG
Julian |
|
|
| ˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗ Webseite [...] | 13.03.2011 ▲ |
|
|
|
|
« Dieser Beitrag wurde als Lösung gekennzeichnet. » |
|
Uwe ''Pascal'' Niemeier | Hi Julian!
Zuerst noch ein Hinweis: Damit du auf Teile einer HTML-Datei oder Webseite zugreifen kannst, mußt du sicherstellen, daß die Seite vollständig geladen ist (das hatte ich bisher unterschlagen). Darum sind in den folgenen Beispielen entsprechende Warteschleifen eingebaut.
Wie kann man den Punkt "Eigenschaften" im Kontextmenu ansprechen
Das geht auch wieder über das IOleCommandTarget -Interface; damit lassen sich alle Funktionen aufrufen, die über diverse Menüs zu erreichen sind: KompilierenMarkierenSeparierenwindow 600,600
$H Windows.ph
$H ocx3a.ph
$I ocx3a.inc
def %Exec 4
def &OLECMDID_PROPERTIES 10
def $IID_OleCommandTarget "{b722bccb-4e68-101b-a2bc-00aa00404770}"
var Html$="C:\Test.html"
var WebControl&=create("HTMLWin",%hwnd,Html$,1,100,100,400,400)
while HTMLWin("GetBusy",WebControl&)
sleep 50
endwhile
ocxInit()
var WebBrowser&=HTMLWin("QueryInterface",WebControl&)
var IOleCommandTarget&=QueryInterface(WebBrowser&,$IID_OleCommandTarget)
CallMethod(IOleCommandTarget&,%Exec,0,&OLECMDID_PROPERTIES,0,var#,0)
ocxRelease(IOleCommandTarget&,Webbrowser&)
ocxDeInit()
waitkey
destroywindow(WebControl&)
Eine Liste weiterer Möglichkeiten (&OLECMDID_Konstanten und deren Werte) findest du hier: [...]
Und wie kann man die Seitenkodierung ansprechen?
Die Seitenkodierung ist eine Eigenschaft des Dokumentes: KompilierenMarkierenSeparierenwindow 600,600
usermessages 16
$H Windows.ph
$H ocx3a.ph
$I ocx3a.inc
popup "Charset"
appendmenu 1,"ISO-8859-1"
appendmenu 2,"ISO-8859-5"
appendmenu 3,"ISO-8859-7"
var Html$="C:\Test.html"
var WebControl&=create("HTMLWin",%hwnd,Html$,1,100,100,400,400)
while HTMLWin("GetBusy",WebControl&)
sleep 50
endwhile
ocxInit()
var WebBrowser&=HTMLWin("QueryInterface",WebControl&)
var Document&=ocxget(WebBrowser&,"Document")
settimer 500'--Charset-Auswahl über IE-Kontextmenü wird von WaitInput nicht erkannt
while 1
waitinput
case %umessage=16:break
case %menuitem=1:ocxPut(Document&,"charset","ISO-8859-1")
case %menuitem=2:ocxPut(Document&,"charset","ISO-8859-5")
case %menuitem=3:ocxPut(Document&,"charset","ISO-8859-7")
case %menuitem :HTMLWin("Refresh",WebControl&)'--Aktualisieren bei Änderung
settext %hwnd,ocxget(Document&,"charset")
endwhile
killtimer
ocxRelease(Document&,WebBrowser&)
destroywindow(WebControl&)
ocxDeInit()
Die Zuordnung der Länder usw. mußt du aber selbst vornehmen. Dabei hilft vielleicht dies: [...]
PS: Wie diese "Rechts-Links"-Geschichte funktioniert, habe ich auf die Schnelle auch nicht rausgekriegt
SeeYou Pascal |
|
|
| |
|
|
|
|
Julian Schmidt | |
|
| ˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗ Webseite [...] | 13.03.2011 ▲ |
|
|
|
|
Thomas Freier |
Wie kann man den Seitenquellcode ansprechen?
Keine Ahnung was du damit meinst. Den Seitenquellcode kannst du dir im MultiEdit oder Rtf-Edit anzeigen lassen und bearbeiten. Gewünschte Syntaxhervorhebung muß halt selbst eingebaut werden. |
|
|
| |
|
|
|
Julian Schmidt | Thomas Freier (15.03.11)
Wie kann man den Seitenquellcode ansprechen? Keine Ahnung was du damit meinst. Den Seitenquellcode kannst du dir im MultiEdit oder Rtf-Edit anzeigen lassen und bearbeiten. Gewünschte Syntaxhervorhebung muß halt selbst eingebaut werden.
Das bezieht sich auf dem Punkt "Quellcode anzeigen" in dem Kontextmenu eines HTMLWin Dialogs.
Wie kann man den Menupünkt über OCX ansprechen? |
|
|
| ˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗ Webseite [...] | 15.03.2011 ▲ |
|
|
|
|
Uwe ''Pascal'' Niemeier | Hi Julian!
Ich denke, du meinst sowas: KompilierenMarkierenSeparierenwindow %maxX,%maxY
$H Windows.ph
$H ocx3a.ph
$I ocx3a.inc
ocxInit()
var Html$="C:\Test.html"
var WebControl&=create("HTMLWin",%hwnd,Html$,1,0,0,width(%hwnd),height(%hwnd))
var WebBrowser&=HTMLWin("QueryInterface",WebControl&)
var Document&=ocxget(WebBrowser&,"Document")
var Body&=ocxget(Document&,"Body")
var innerHTML$=ocxget(Body&,"innerHTML")
var innerText$=ocxget(Body&,"innerText")
ocxRelease(Body&,Document&,WebBrowser&)
ocxDeInit()
waitinput
destroywindow(WebControl&)
cls
print innerText$
waitinput
cls
print innerHTML$
waitinput
Wie gesagt, mach dich am Besten ein wenig mit JavaScript vertraut. Da werden die verschiedenen Objekte und Eigenschaften, aus denen eine HTML-Datei besteht, beschrieben. Oder schau mal hier: [...]
SeeYou Pascal |
|
|
| |
|
|
|
Julian Schmidt | Danke schön
Nun meine letzten Fragen,
Wie kann man den Punkt "Eigenschaften" im Kontextmenu ansprechen
Und wie kann man die Seitenkodierung ansprechen? (Hier zu muss noch gesagt werden das ich den Punkt so wie er ist als SubPopup ins Programm einbauen will, falls das eine Rolle spielen sollte.)
LG
Julian |
|
|
| ˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗ Webseite [...] | 16.03.2011 ▲ |
|
|
|
|
Uwe ''Pascal'' Niemeier | Hi Julian!
Zuerst noch ein Hinweis: Damit du auf Teile einer HTML-Datei oder Webseite zugreifen kannst, mußt du sicherstellen, daß die Seite vollständig geladen ist (das hatte ich bisher unterschlagen). Darum sind in den folgenen Beispielen entsprechende Warteschleifen eingebaut.
Wie kann man den Punkt "Eigenschaften" im Kontextmenu ansprechen
Das geht auch wieder über das IOleCommandTarget -Interface; damit lassen sich alle Funktionen aufrufen, die über diverse Menüs zu erreichen sind: KompilierenMarkierenSeparierenwindow 600,600
$H Windows.ph
$H ocx3a.ph
$I ocx3a.inc
def %Exec 4
def &OLECMDID_PROPERTIES 10
def $IID_OleCommandTarget "{b722bccb-4e68-101b-a2bc-00aa00404770}"
var Html$="C:\Test.html"
var WebControl&=create("HTMLWin",%hwnd,Html$,1,100,100,400,400)
while HTMLWin("GetBusy",WebControl&)
sleep 50
endwhile
ocxInit()
var WebBrowser&=HTMLWin("QueryInterface",WebControl&)
var IOleCommandTarget&=QueryInterface(WebBrowser&,$IID_OleCommandTarget)
CallMethod(IOleCommandTarget&,%Exec,0,&OLECMDID_PROPERTIES,0,var#,0)
ocxRelease(IOleCommandTarget&,Webbrowser&)
ocxDeInit()
waitkey
destroywindow(WebControl&)
Eine Liste weiterer Möglichkeiten (&OLECMDID_Konstanten und deren Werte) findest du hier: [...]
Und wie kann man die Seitenkodierung ansprechen?
Die Seitenkodierung ist eine Eigenschaft des Dokumentes: KompilierenMarkierenSeparierenwindow 600,600
usermessages 16
$H Windows.ph
$H ocx3a.ph
$I ocx3a.inc
popup "Charset"
appendmenu 1,"ISO-8859-1"
appendmenu 2,"ISO-8859-5"
appendmenu 3,"ISO-8859-7"
var Html$="C:\Test.html"
var WebControl&=create("HTMLWin",%hwnd,Html$,1,100,100,400,400)
while HTMLWin("GetBusy",WebControl&)
sleep 50
endwhile
ocxInit()
var WebBrowser&=HTMLWin("QueryInterface",WebControl&)
var Document&=ocxget(WebBrowser&,"Document")
settimer 500'--Charset-Auswahl über IE-Kontextmenü wird von WaitInput nicht erkannt
while 1
waitinput
case %umessage=16:break
case %menuitem=1:ocxPut(Document&,"charset","ISO-8859-1")
case %menuitem=2:ocxPut(Document&,"charset","ISO-8859-5")
case %menuitem=3:ocxPut(Document&,"charset","ISO-8859-7")
case %menuitem :HTMLWin("Refresh",WebControl&)'--Aktualisieren bei Änderung
settext %hwnd,ocxget(Document&,"charset")
endwhile
killtimer
ocxRelease(Document&,WebBrowser&)
destroywindow(WebControl&)
ocxDeInit()
Die Zuordnung der Länder usw. mußt du aber selbst vornehmen. Dabei hilft vielleicht dies: [...]
PS: Wie diese "Rechts-Links"-Geschichte funktioniert, habe ich auf die Schnelle auch nicht rausgekriegt
SeeYou Pascal |
|
|
| |
|
|
|
Julian Schmidt | Danke für die Mühen, ich werde es mir im laufe des Tages mal anschauen |
|
|
| ˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗ Webseite [...] | 20.03.2011 ▲ |
|
|
|