WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

COMCONTROL
plus
plus

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Handle NewWindow3 Event

 Keywords: DialogObject COMCONTROL NewWindow3 Event 



#DefineSubRoutine InitDialogConstants()
   ;DialogprocOptions Constants
   MSG_INIT=0                ; The one-time initialization
   MSG_TIMER=1               ; Timer event
   MSG_BUTTONPUSHED=2        ; Pushbutton or Picturebutton
   MSG_RADIOPUSHED=3         ; Radiobutton clicked
   MSG_CHECKBOX=4            ; Checkbox clicked
   MSG_EDITBOX=5             ; Editbox or Multilinebox
   MSG_FILESELECT=6          ; Filelistbox
   MSG_ITEMSELECT=7          ; Itembox
   MSG_COMBOCHANGE=8         ; Combobox/Droplistbox
   MSG_CALENDAR=9            ; Calendar date change
   MSG_SPINNER=10            ; Spinner number change
   MSG_CLOSEVIA49=11         ; Close clicked (Enabled via DialogProcOptions 1002
   MSG_FILEBOXDOUBLECLICK=12 ; Get double-click message on a FileListBox
   MSG_ITEMBOXDOUBLECLICK=13 ; Get double-click message on an ItemBox
   MSG_COMEVENT=14           ; COMCONTROL Event notification from DialogObject (NOT DialogProcOptions)
   MSG_MENUITEM=15           ; MenuItem selected
   MSG_MENUITEMINIT=16       ; MenuItem initialized
   MSG_RESIZE=17             ; Dialog resized

   DPO_DISABLESTATE=1000     ; codes -1=GetSetting 0=EnableDialog 1=DisableDialog
   DPO_CHANGEBACKGROUND=1001 ; -1=Get Current otherise bitmap or color string
   DPO_CHANGESYSMENU=1002    ; -1=Get Current 0=none 1=close 2=close/min 3=close/max 4=close/min/max
   DPO_CHANGETITLE=1003      ; Set/Get Dialog Title - (-1 to get)
   DPO_GETNAME=1004          ; Returns the name associated with a control's number.
   DPO_GETNUMBER=1005        ; Returns the number associated with a control's name.
   DPO_GETCLIENTAREA=1007    ; Returns a space delimited list of the width and height of the client area.

   ;DialogControlState Constants
   DCSTATE_SETFOCUS=1        ; Give Control Focus
   DCSTATE_QUERYSTYLE=2      ; Query control's style
   DCSTATE_ADDSTYLE=3        ; Add control style
   DCSTATE_REMOVESTYLE=4     ; Remove control style
   DCSTATE_GETFOCUS=5        ; Get control that has focus
   DCSTATE_MOVEMOUSEOVER=6   ; Move the mouse over the control

   DCSTYLE_DEFAULT=0         ; Set Default Style
   DCSTYLE_INVISIBLE=1       ; Set Control Invisible
   DCSTYLE_DISABLED=2        ; Set Control Disabled
   DCSTYLE_NOUSERDATA=4      ; Note: Setable via DialogControlState function ONLY SPINNER control only
   DCSTYLE_READONLY=8        ; Sets control to read-only (user cannot type in data) EDITBOX MULTILINEBOX SPINNER
   DCSTYLE_PASSWORD=16       ; Sets 'password mode' where only *'s are displayed EDITBOX
   DCSTYLE_DEFAULTBUTTON=32  ; Sets a button as the default button PUSHBUTTON PICTUREBUTTON
   DCSTYLE_DIGITSONLY=64     ; Set edit box to accept digits only EDITMOX MULTILINEBOX
   DCSTYLE_FLAT=128          ; Makes a 'flat' hyperlink-looking button PUSHBUTTON PICTUREBUTTON
   DCSTYLE_NOADJUST=256      ; Turns off auto-height adjustment  ITEMBOX FILELISTBOX
   DCSTYLE_TEXTCENTER=512    ; Center text in control VARYTEXT STATICTEXT
   DCSTYLE_TEXTRIGHT=1024    ; Flush-Right text in control VARYTEXT STATICTEXT
   DCSTYLE_NOSELCURLEFT=2048 ; No selection, cursor left EDITBOX MULTILINEBOX
   DCSTYLE_NOSELCURRIGHT=4096; No selection, cursor right EDITBOX MULTILINEBOX
   DCSTYLE_SHIELD=8192       ; Display Security Shield icon on button (Vista only) PUSHBUTTON PICTUREBUTTON
   DCSTYLE_MENUCHECK=32768   ; Adds a check mark to the left of a menu item MENUITEM
   DCSTYLE_MENURADIO=65536   ; Adds a radio button like dot graphic to the left of a menu item MENUITEM
   DCSTYLE_MENUSEP=131072    ; Separator bar graphic MENUITEM
   DCSTYLE_MENUBREAK=262144  ; column break MENUBAR

   ;DialogControlSet / DialogControlGet Constants
   DC_CHECKBOX=1             ; CHECKBOX
   DC_RADIOBUTTON=2          ; RADIOBUTTON
   DC_EDITBOX=3              ; EDITBOX MULTILINEBOX
   DC_TITLE=4                ; PICTURE RADIOBUTTON CHECKBOX PICTUREBUTTON VARYTEXT STATICTEXT GROUPBOX PUSHBUTTON MENUITEM
   DC_ITEMBOXCONTENTS=5      ; ITEMBOX FILELISTBOX DROPLISTBOX
   DC_ITEMBOXSELECT=6        ; ITEMBOX FILELISTBOX DROPLISTBOX
   DC_CALENDAR=7             ; CALENDAR
   DC_SPINNER=8              ; SPINNER
   DC_MULTITABSTOPS=9        ; MULTILINEBOX
   DC_ITEMSCROLLPOS=10       ; ITEMBOX FILELISTBOX
   DC_BACKGROUNDCOLOR=11     ; RADIOBUTTON CHECKBOX VARYTEXT STATICTEXT GROUPBOX PUSHBUTTON ITEMBOX FILELISTBOX DROPLISTBOX SPINNER EDITBOX MULTILINEBOX
   DC_PICTUREBITMAP=12       ; PICTURE PICTUREBUTTON
   DC_TEXTCOLOR=13           ; RADIOBUTTON CHECKBOX VARYTEXT STATICTEXT GROUPBOX PUSHBUTTON ITEMBOX FIELLISTBOX DROPLISTBOX SPINNER EDITBOX MULTILINEBOX
   DC_ITEMBOXADD=14          ; ITEMBOX FILELISTBOX DROPLISTBOX
   DC_ITEMBOXREMOVE=15       ; ITEMBOX FILELISTBOX DROPLISTBOX
   DC_RADIOVALUE=16          ; RADIOBUTTON
   DC_POSITION=17            ; ALL CONTROLS (Except MENUBAR and MENUITEM)
   DC_MENUNAMES=18           ; ALL CONTROLS
   DC_HANDLE=19              ; ALL CONTROLS (Except MENUBAR and MENUITEM)


   ;DialogObject constants
   DLGOBJECT_ADDEVENT=1      ; Call dialog callback when the specified event occurs
   DLGOBJECT_STOPEVENT=2     ; Stop calling dialog callback when an event previously requested with
   DLGOBJECT_GETOBJECT=3     ; Return an object references to the specified control
   DLGOBJECT_GETPICTURE=4    ; Create and return an object reference to a picture object

   ;Return code constants
   RET_DO_CANCEL=0           ; Cancels dialog
   RET_DO_DEFAULT= -1        ; Continue with default processing for control
   RET_DO_NOT_EXIT= -2       ; Do not exit the dialog
   Return
#EndSubRoutine
;============================================================
;============================================================
;============================================================





#DefineFunction BROWSECallbackProc(BROWSE_Handle,BROWSE_Message,BROWSE_Name,BROWSE_EventInfo,BROWSE_ChangeInfo)
    InitDialogConstants()                                   ; Initialize Dialog Constants
   ON_EQUAL = @TRUE                                         ; Initialize variable ON_EQUAL
   Switch BROWSE_Message                                    ; Switch based on Dialog Message type
      Case MSG_INIT                                         ; Standard Initialization message
;         DialogProcOptions(BROWSE_Handle,MSG_TIMER,1000)
;         DialogProcOptions(BROWSE_Handle,MSG_BUTTONPUSHED,@TRUE)
;         DialogProcOptions(BROWSE_Handle,MSG_CHECKBOX,@TRUE)
;         DialogObject(BROWSE_Handle,"browser",DLGOBJECT_ADDEVENT,"ComEventName",1000)
         ;##################################
         ;BROWSER CONTROL
         ;##################################
         obrowser = DialogObject(BROWSE_Handle,"browser",DLGOBJECT_GETOBJECT)
         obrowser.navigate(DirScript():'start.html')

         ;Handle NewWindow3 Events
         DialogObject(BROWSE_Handle, "browser", DLGOBJECT_ADDEVENT, "NewWindow3", 1 )
         Return(RET_DO_DEFAULT)

     Case MSG_BUTTONPUSHED
        If BROWSE_Name == "Home"                           ; Home
                Pause('Notice','Currently unhandled.')
              Return(RET_DO_DEFAULT)

        ElseIf BROWSE_Name == "Search"                     ; Search
             Pause('Notice','Currently unhandled.')
              Return(RET_DO_DEFAULT)

        ElseIf BROWSE_Name == "Back"                       ; Back
                Pause('Notice','Currently unhandled.')
              Return(RET_DO_DEFAULT)

        ElseIf BROWSE_Name == "Forward"                    ; Forward
                Pause('Notice','Currently unhandled.')
              Return(RET_DO_DEFAULT)

        ElseIf BROWSE_Name == "Refresh"                    ; Refresh
                Pause('Notice','Currently unhandled.')
              Return(RET_DO_DEFAULT)

        ElseIf BROWSE_Name == "Cancel"                     ; Cancel
                Pause('Notice','Currently unhandled.')
              Return(RET_DO_DEFAULT)

        ElseIf BROWSE_Name == "Exit"                       ; E&xit
              Return(RET_DO_CANCEL)

        ElseIf BROWSE_Name == "ToggleMax"                  ; Toggle Max
                Pause('Notice','Currently unhandled.')
              Return(RET_DO_DEFAULT)

        EndIf                                              ; BROWSE_Name
        Return(RET_DO_DEFAULT)

     Case MSG_COMEVENT                                     ; ID "browser"  Shell.Explorer
         ; Confirm Correct Event ID
         If BROWSE_EventInfo.identifier == 1

            ; Read in values from NewWIndow3 event
            ; http://msdn.microsoft.com/en-us/library/aa768337(VS.85).aspx
            ;paramcount = DEInfo.count
            ;p1 = BROWSE_EventInfo.Parameters(1).Value ; Object expression that, optionally, receives a new, hidden WebBrowser or InternetExplorer object with no URL loaded.
            ;p2 = BROWSE_EventInfo.Parameters(2).Value ; A Boolean value that determines whether the current navigation should be canceled.
            ;p3 = BROWSE_EventInfo.Parameters(3).Value ; The flags from the NWMF enumeration that pertain to the new window.
            ;p4 = BROWSE_EventInfo.Parameters(4).Value ; The URL of the page that is opening the new window.
            url = BROWSE_EventInfo.Parameters(5).Value ; The URL that is opened in the new window.

            ; Cancel navigate by setting parameter 2 to @TRUE
            BROWSE_EventInfo.Parameters(2).Value = 1

            ; Obtain the browser control from the Dialog
            obrowser = DialogObject(BROWSE_Handle,"browser",DLGOBJECT_GETOBJECT)

            ;Navigate to url inside WIL Dialog
            obrowser.navigate(url)
            Return -2
         EndIf
         Return(RET_DO_NOT_EXIT)

   EndSwitch                                                ; BROWSE_Message
   Return(RET_DO_DEFAULT)
#EndFunction                                                ; End of Dialog Callback BROWSECallbackProc




html = `<html><head><title>NewWindow3 Tester</title> </head><body> <p>Pop-up Link:&nbsp; <a target="_blank" href="http://forum.winbatch.com">Link</a>. </p></body></html>`
FilePut( DirScript():'start.html', html )


BROWSEFormat=`WWWDLGED,6.2`

BROWSECaption=`BROWSE`
BROWSEX=001
BROWSEY=001
BROWSEWidth=510
BROWSEHeight=348
BROWSEMinWidth=200
BROWSEMinHeight=200
BROWSENumControls=009
BROWSEProcedure=`BROWSECallbackProc`
BROWSEFont=`DEFAULT`
BROWSETextColor=`DEFAULT`
BROWSEBackground=`DEFAULT`
BROWSEConfig=0

BROWSE001=`105,001,026,012,PUSHBUTTON,"Home",DEFAULT,"Home",1,1,0,DEFAULT,DEFAULT,"217|217|217"`
BROWSE002=`131,001,026,012,PUSHBUTTON,"Search",DEFAULT,"Search",0,2,0,DEFAULT,DEFAULT,"217|217|217"`
BROWSE003=`001,001,026,012,PUSHBUTTON,"Back",DEFAULT,"Back",2,4,DEFAULT,DEFAULT,DEFAULT,"217|217|217"`
BROWSE004=`027,001,026,012,PUSHBUTTON,"Forward",DEFAULT,"Forward",3,5,DEFAULT,DEFAULT,DEFAULT,"217|217|217"`
BROWSE005=`079,001,026,012,PUSHBUTTON,"Refresh",DEFAULT,"Refresh",4,6,DEFAULT,DEFAULT,DEFAULT,"217|217|217"`
BROWSE006=`053,001,026,012,PUSHBUTTON,"Cancel",DEFAULT,"Cancel",5,7,DEFAULT,DEFAULT,DEFAULT,"217|217|217"`
BROWSE007=`003,015,502,330,COMCONTROL,"browser",DEFAULT,"Shell.Explorer",DEFAULT,11,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
BROWSE008=`469,001,036,012,PUSHBUTTON,"Exit",DEFAULT,"E&xit",6,90,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
BROWSE009=`431,001,036,012,PUSHBUTTON,"ToggleMax",DEFAULT,"Toggle Max",7,100,DEFAULT,DEFAULT,DEFAULT,DEFAULT`

ButtonPushed=Dialog("BROWSE")

Article ID:   W17701
Filename:   Handle NewWindow3 Event.txt
File Created: 2013:06:19:13:40:12
Last Updated: 2013:06:19:13:40:12