>LPARAMETERS MessageText AS Expression, DialogType AS Integer, ; > TitleBarText AS String, Timeout AS Integer > >LOCAL DT AS Integer > >m.DT = BITAND(EVL(m.DialogType, 0), 0x070) > >DO CASE >CASE m.DT = 64 > m.DT = -3 && information >CASE m.DT = 48 > m.DT = -1 && warning >CASE m.DT = 32 > m.DT = 0x00007f02 && question >CASE m.DT = 16 > m.DT = -2 && error >OTHERWISE > m.DT = 0 && no icon >ENDCASE > >LOCAL BTN AS Integer >LOCAL BTNCaption AS String > >m.BTN = BITAND(EVL(m.DialogType, 0), 0x07) > >DO CASE >CASE m.BTN = 1 > m.BTNCaption = "Ok,Cancel" >CASE m.BTN = 2 > m.BTNCaption = "Abort,Retry,Ignore" >CASE m.BTN = 3 > m.BTNCaption = "Yes,No,Cancel" >CASE m.BTN = 4 > m.BTNCaption = "Yes,No" >CASE m.BTN = 5 > m.BTNCaption = "Retry,Cancel" >OTHERWISE > m.BTN = 0 > m.BTNCaption = "Ok" >ENDCASE > >LOCAL DefaultBTN AS Integer > >m.DefaultBTN = BITAND(EVL(m.DialogType, 0), 0x0300) > >DO CASE >CASE m.DefaultBTN = 256 > m.DefaultBTN = 2 >CASE m.DefaultBTN = 512 > m.DefaultBTN = 3 >OTHERWISE > m.DefaultBTN = 1 >ENDCASE > >LOCAL Reply AS Integer > >m.Reply = FoxyDialog(EVL(m.TitleBarText, ""), "", ; > TRANSFORM(m.MessageText), m.DT, m.BTNCaption, m.DefaultBTN, EVL(m.Timeout, 0)) > >DO CASE >CASE m.Reply < 0 > RETURN m.Reply >CASE INLIST(m.BTN, 0, 1) > RETURN m.Reply >CASE m.BTN = 2 > RETURN m.Reply + 2 >CASE m.BTN = 3 > RETURN IIF(m.Reply = 3, 2, m.Reply + 5) >CASE m.BTN = 4 > RETURN m.Reply + 5 >CASE m.BTN = 5 > RETURN IIF(m.Reply = 1, 4, 2) >ENDCASE >>
>#DEFINE MESSAGEBOX NEWMESSAGEBOX >>