Give me a few minutes i will show updated code but still wont be alot shorter
Function HtmlElementsDialog
i had to revise your html as well got rid of useless unneeded parts and had to put css in html file or sometimes qm would have trouble finding the elements because it wasn't loaded yet.
indexrevised.zip (Size: 537 bytes / Downloads: 331)
i reposted the code and attachment posted wrong attachment and changed directory for the file in dialog code. place the html file on the desktop not in a folder
Function HtmlElementsDialog
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")
,;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"
#sub button2_onclick
function MSHTML.DispHTMLInputElement'btn1
out "button 2 clicked"
mes "this is QM mes"
i had to revise your html as well got rid of useless unneeded parts and had to put css in html file or sometimes qm would have trouble finding the elements because it wasn't loaded yet.
indexrevised.zip (Size: 537 bytes / Downloads: 331)
i reposted the code and attachment posted wrong attachment and changed directory for the file in dialog code. place the html file on the desktop not in a folder