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

Samples

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

Only Use Mouse to Exit Dialog


;============================================================
;============================================================
;============================================================

#DefineSubRoutine ClickOnly(NoReturn_Handle,NoReturn_Message,NoReturn_ID,rsvd1,rsvd2)
   ;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 Intcontrol 49)
   MSG_FILEBOXDOUBLECLICK=12 ; Get double-click message on a FileListBox
   MSG_ITEMBOXDOUBLECLICK=13 ; Get double-click message on an ItemBox
   DPO_DISABLESTATE=1000     ; codes -1=GetSetting 0=EnableDialog 1=DisableDialog
   DPO_CHANGEBACKGROUND=1001 ; -1=GetSetting otherise bitmap or color string
   ;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
   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
   ;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
   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


   switch NoReturn_Message
      case MSG_INIT
         DialogProcOptions(NoReturn_Handle,MSG_TIMER, 100)
         DialogProcOptions(NoReturn_Handle,MSG_BUTTONPUSHED,@TRUE)
         return(-1)

     case MSG_BUTTONPUSHED  ;ID 001

	  	   switch NoReturn_ID
				case 1  ; OK

				   ; From mouse? 
					; Note: this takes care of all cases except when
					; return key is pressed while mouse cursor is over 
					; OK buttton.
     	   		if  MouseInfo(0) == "OK"  
		  				return(-1)  ;  Exit dialog
					else
					  	
					   ; May cut down on processing by timer case?
						DialogControlState( NoReturn_Handle, 002, DCSTATE_SETFOCUS, 0)

						return(-2)  ; Do nothing.
 					endif
				case 2   ; Small
					; Gets return key pressed messages and does nothing.
					return -2     ; Do nothing.
		   endswitch
	  
		case MSG_TIMER
	       
	 		; Prevent the OK buttom from getting the input focus
			; and, therefore, the return key press message.
 		   if DialogControlState( NoReturn_Handle, 0, DCSTATE_GETFOCUS, 0) == 001
 
			   ; Change the focus to "small" unless OK has the focus 
				; because of a mouse button down.
				if (MouseInfo(4) != 4)  || (MouseInfo(0) != "OK")

					DialogControlState( NoReturn_Handle, 002, DCSTATE_SETFOCUS, 0)
				endif
			endif
			return -2
 
   endswitch       ; NoReturn_Message
   return(-1)      ;  Do default processing
#EndSubRoutine     ;End of Dialog Callback ClickOnly

;============================================================
;============================================================
;============================================================


bMouseClick = @False

NoReturnFormat=`WWWDLGED,6.1`

NoReturnCaption=`Try Pressing The Return Key`
NoReturnX=035
NoReturnY=105
NoReturnWidth=102
NoReturnHeight=051
NoReturnNumControls=002
NoReturnProcedure=`ClickOnly`
NoReturnFont=`DEFAULT`
NoReturnTextColor=`DEFAULT`
NoReturnBackground=`DEFAULT,DEFAULT`
NoReturnConfig=0

; OK button must not be first in tab order.
NoReturn001=`015,009,067,027,PUSHBUTTON,DEFAULT,"OK",1,2,0,DEFAULT,DEFAULT,DEFAULT`

; Small is the default button.
NoReturn002=`000,000,0,0,PUSHBUTTON,DEFAULT,"Small",2,1,160,DEFAULT,DEFAULT,DEFAULT`

ButtonPushed=Dialog("NoReturn")

Article ID:   W16424
File Created: 2005:02:18:12:20:28
Last Updated: 2005:02:18:12:20:28