Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
execute QM commands from buttons on a web page
#7
I tried it many times and I have two problems.

1. How to get the QM code in TextArea1

2. How to run the above code in sub3

Can you help me any more, thanks

Macro Macro2
Code:
Copy      Help
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 448 214 "Dialog"
;3 ActiveX 0x54030000 0x0 0 0 448 214 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040701 "*" "" "" ""

str controls = "3"
str ax3SHD
ax3SHD="$desktop$\index+.html";; change to location of your html files
if(!ShowDialog(dd &sub.DlgProc &controls)) ret

#sub DlgProc
function# hDlg message wParam lParam

sel message
,case WM_INITDIALOG
,MSHTML.HTMLDocument doc=sub.DT_GetHtmlDocument(hDlg 3)
,MSHTML.HTMLInputElement- button1=+doc.getElementById("Button1")
,button1._setevents("sub.button1")
,MSHTML.HTMLInputElement- button2=+doc.getElementById("Button2")
,button2._setevents("sub.button2")
,MSHTML.HTMLInputElement- button3=+doc.getElementById("Button2")
,button2._setevents("sub.button3")
,???
,;Note: HTMLInputElement can be used for any type of input elements. For some element types also can be used specific interfaces, eg HTMLInputTextElement.
,;Note: Use thread variables for html elements for which is called _setevents.
,;Note: After navigating to other page, if these thread variables still must be used, they must be reinitialized, and _setevents called again. If not used, they should be cleared (=0).
,case WM_DESTROY
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case IDOK
,case IDCANCEL
ret 1
#sub DT_GetHtmlDocument
function'MSHTML.HTMLDocument hDlg ctrlid [flags] ;;flags: 1 - return 0 if not loaded

;Returns MSHTML.HTMLDocument interface pointer of a web browser control which is on a custom dialog.
;Call this function from dialog procedure.
;Returns 0 if the control currently is not displaying a html document.

;hDlg - parent dialog
;ctrlid - web browser control id
;SHDocVw.WebBrowser we3
SHDocVw.WebBrowser we
we._getcontrol(id(ctrlid hDlg))
if(flags&1) if(we.Busy or we.ReadyState!=SHDocVw.READYSTATE_COMPLETE) ret
ret we.Document

#sub button1_onclick
function MSHTML.DispHTMLInputElement'btn
out "button 1 clicked"
mes "sub1 button has been clicked"
run "notepad.exe"

#sub button2_onclick
function MSHTML.DispHTMLInputElement'btn1
out "button 2 clicked"
mes "this is QM mes"
run "notepad.exe"

#sub button3_onclick
function MSHTML.DispHTMLInputElement'btn2

????


Messages In This Thread
RE: execute QM commands from buttons on a web page - by win - 08-17-2018, 10:41 PM

Forum Jump:


Users browsing this thread: 5 Guest(s)