MessageBoxTimeout()
Shows a Message Box with Timeout

 

 

 

Syntax:

 

 

     MessageBoxTimeout ( [ xData ], [ cTitle ], [ nTypeIconButton ], [ nMilliseconds ] ) ---> return nRetValue

 

-    xData: any data type or an array of any data type

-    nTypeIconButton and nRetValue: are constants defined in i_MsgBox.ch

 

 

- nTypeIconButton is one or a combination of the following constants:

 

     - MB_USERICON

     - MB_ICONASTERISK

     - MB_ICONEXCLAMATION

     - MB_ICONWARNING

     - MB_ICONERROR

     - MB_ICONHAND

     - MB_ICONQUESTION

     - MB_OK

     - MB_ABORTRETRYIGNORE

     - MB_APPLMODAL

     - MB_DEFAULT_DESKTOP_ONLY

     - MB_HELP

     - MB_RIGHT

     - MB_RTLREADING

     - MB_DEFBUTTON1

     - MB_DEFBUTTON2

     - MB_DEFBUTTON3

     - MB_DEFBUTTON4

     - MB_ICONINFORMATION

     - MB_ICONSTOP

     - MB_OKCANCEL

     - MB_RETRYCANCEL

     - MB_SETFOREGROUND

     - MB_SYSTEMMODAL

     - MB_TASKMODAL

     - MB_YESNO

     - MB_YESNOCANCEL

     - MB_ICONMASK

     - MB_DEFMASK

     - MB_MODEMASK

     - MB_MISCMASK

     - MB_NOFOCUS

     - MB_TYPEMASK

     - MB_TOPMOST

     - MB_CANCELTRYCONTINUE

 

 

- nRetValue is one of the following constants:

 

     - IDOK

     - IDCANCEL

     - IDABORT

     - IDRETRY

     - IDIGNORE

     - IDYES

     - IDNO

     - IDCLOSE

     - IDHELP

     - IDTRYAGAIN

     - IDCONTINUE

     - IDTIMEDOUT

 

 

 

-    Example:

 

#include "hmg.ch"

 

Function Main

 

   nTypeIconButton = MB_YESNO + MB_ICONQUESTION + MB_SYSTEMMODAL

   nMilliseconds = 3200

   nRetValue = MessageBoxTimeout ("You are happy?", "Question ...", nTypeIconButton, nMilliseconds)

 

   DEFINE WINDOW Form_1 AT 0,0 WIDTH 400 HEIGHT 200 TITLE 'HMG MessageBoxTimeout Function' MAIN

      @ 50, 50 LABEL Label_1 VALUE "" AUTOSIZE

   END WINDOW

 

   DO CASE

      CASE nRetValue == IDYES

         Form_1.Label_1.Value := "Yes"  

      CASE nRetValue == IDNO

         Form_1.Label_1.Value := "No"

      CASE nRetValue == IDTIMEDOUT

         Form_1.Label_1.Value := "TimeOut in " + HB_NTOS (nMilliseconds/1000) + " seconds"

   ENDCASE

 

   CENTER WINDOW Form_1

   ACTIVATE WINDOW Form_1

Return Nil