not sure its a good idea to try and do what you want to do.
this works but may not be the most elegant way to do it
when main dialog opens the url needs to be loaded like so
str ax4SHD="http://www.quickmacros.com/help/QM_Help/IDH_OVERVIEW.html"
don't use navigate to load the initial url
then make sure you also copy url to the new sub function
Function Function510
as i said this may not be the most elegant way but it is working .Perhaps Gintaras has a more elegant solution
this works but may not be the most elegant way to do it
when main dialog opens the url needs to be loaded like so
str ax4SHD="http://www.quickmacros.com/help/QM_Help/IDH_OVERVIEW.html"
don't use navigate to load the initial url
then make sure you also copy url to the new sub function
Function Function510
typelib ShockwaveFlashObjects {D27CDB6B-AE6D-11CF-96B8-444553540000} 1.0
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 900 432 "Dialog"
;4 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040700 "*" "" "" ""
str controls = "4"
str ax4SHD="http://www.quickmacros.com/help/QM_Help/IDH_OVERVIEW.html"
if(!ShowDialog(dd &sub.DlgProc &controls)) ret
#sub DlgProc
function# hDlg message wParam lParam
;OutWinMsg message wParam lParam ;;uncomment to see received messages
sel message
,case WM_INITDIALOG
,SetTimer hDlg 1 100 0
,SHDocVw.WebBrowser we4
,we4._getcontrol(id(4 hDlg))
,we4._setevents("sub.we4")
,case WM_TIMER
,sel wParam
,,case 1
,,int wies=child("" "Internet Explorer_Server" id(4 hDlg)); if(wies=0) ret
,,SetWindowSubclass(wies &sub.WndProc_Subclass 2 0)
,,KillTimer hDlg wParam
,case WM_DESTROY
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case IDOK
,case IDCANCEL
ret 1
#sub WndProc_Subclass
function# hwnd message wParam lParam uIdSubclass dwRefData
;OutWinMsg message wParam lParam ;;uncomment to see received messages
sel message
,case WM_RBUTTONDOWN
,str s=
,;1 google
,;-
,;2 yahoo
,;3 Bing
,;4 amazon
,
,MenuPopup x.AddItems(s)
,int i=x.Show
,sel i
,,case 1
,,sub.Dialog2(hwnd "https://www.google.com")
,,case 2
,,sub.Dialog2(hwnd "www.yahoo.com")
,,case 3
,,sub.Dialog2(hwnd "www.bing.com")
,,case 4
,,sub.Dialog2(hwnd "www.amazon.com")
,ret
int R=DefSubclassProc(hwnd message wParam lParam)
sel message
,case WM_NCDESTROY
,RemoveWindowSubclass(hwnd &sub.WndProc_Subclass uIdSubclass)
,
,;case ...
ret R
#sub we4_NewWindow3
function IDispatch&ppDisp @&Cancel dwFlags BSTR'bstrUrlContext BSTR'bstrUrl SHDocVw.IWebBrowser2'we3
int hDlg2=sub.Dialog2
SHDocVw.WebBrowser d2_we3._getcontrol(id(3 hDlg2))
ppDisp=d2_we3
#sub Dialog2
function# [hwndOwner] [~url]
str dd=
;BEGIN DIALOG
;0 "" 0x90CF0AC8 0x0 0 0 900 432 "Dialog2"
;3 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040701 "*" "" "" ""
str controls = "3"
str ax3SHD
if(!empty(url))
,ax3SHD=url
ret ShowDialog(dd &sub.DlgProc2 &controls hwndOwner 1) ;;modeless dialog
#sub DlgProc2
function# hDlg message wParam lParam
int- t_hdlg
sel message
,case WM_INITDIALOG
,SHDocVw.WebBrowser we3
,we3._getcontrol(id(3 hDlg))
,we3._setevents("sub.we3")
,t_hdlg=hDlg
,DT_SetAutoSizeControls hDlg "3s"
,SetTimer hDlg 1 100 0
,case WM_TIMER
,sel wParam
,,case 1
,,int wies=child("" "Internet Explorer_Server" id(3 hDlg)); if(wies=0) ret
,,SetWindowSubclass(wies &sub.WndProc_Subclass 2 0)
,,KillTimer hDlg wParam
,case WM_DESTROY
,case WM_COMMAND goto messages2
,case WM_CLOSE
,DT_Ok(hDlg)
ret
;messages2
sel wParam
,case IDOK
,ifk(Y)
,,key Y ;; Enter
,,ret 0
,case IDCANCEL
,ret 0
ret 1
#sub we3_WindowClosing
function @IsChildWindow @&Cancel ;;SHDocVw.IWebBrowser2'we3
Cancel=1
int- t_hdlg
clo t_hdlg
#sub we4_BeforeNavigate2
function IDispatch'pDisp `&URL `&Flags `&TargetFrameName `&PostData `&Headers @&Cancel ;;SHDocVw.IWebBrowser2'we4
;out URL
str url=URL
if url!= "http://www.quickmacros.com/help/QM_Help/IDH_OVERVIEW.html"
,Cancel=1
,int w=win("Dialog" "#32770")
,sub.Dialog2(w url)