Magic User Group

Magic Wiki-Wakka : MessageBox

HomePage :: CATEGORIES | Index :: Changes :: Comments :: Search :: Login/Register

How To use Windows Message Box API (Magic 8.3 & 9.4)


Magic Version 8.3

VRSN=830
APPLICATION=N
ISN=N

PRG={
HDR={DESC="NVK auf filiale 2 „ndern",RSDNT=N,SQL=N,PRK=1,POS=S},
RSRCE={},
DTLS={
KEY={MOD=N},
DB={},
FLW=B,DEL=N,END=Y,EMOD=A,
MOD={MOD=M},
LCT={DIR=A},
RNG={DIR=A},
FLG={SLCT=N,CNF=N,SLOC=R,SFAIL=S,LSTRG=I,TSK_CACHE=N,SUFIX=N},
SIDE_WIN={
RPR={RPR=N}},
WIN={OPN=Y,CLS=Y,FGND=Y,FLIP=N,
DTLS={RTRN=N}},
BOX={DIR=V},
UPD={DATE="20.09.2004",TIME="14:09:53"}},
FLW={
BRK={TRNS=N,ERROR=A,PRK={SUFIX=1}
SUFIX={
CALL_TSK={MOD=T,TSK=1,LOCK=Y,WAIT=Y,FLW={CND=Y,MOD=S,DIR=C}}}},
BRK={TRNS=Y,ERROR=A,PRK={}}},
DSP={
DSP_INFO={NAME="NVK auf filiale 2 „ndern",MOD=H,COLOR=1,STYLE=1857,FONT=1,GRIDX=4,GRIDY=8},
UOM_FACTOR={X=4,Y=8},

FRM={DX=320,DY=200},
BLOCK={DX=320,DY=200},TAG_PRFX="<!$",TAG_SUFX=">"},
TSK={
HDR={DESC="NVK",RSDNT=N,SQL=N,PRK=1,POS=S},
RSRCE={
DB={FILE=68,MOD=W,OPN=W,READ=N,SIZ=N}},
DTLS={
KEY={MOD=N},
DB={DB=68},
FLW=B,DEL=N,END=N,EMOD=B,
MOD={MOD=M},
LCT={DIR=A},
RNG={DIR=A},
FLG={SLCT=N,CNF=N,SLOC=R,SFAIL=S,LSTRG=I,TSK_CACHE=T,SUFIX=N},
SIDE_WIN={
RPR={RPR=N}},
WIN={OPN=Y,CLS=Y,FGND=Y,FLIP=N,
DTLS={RTRN=N}},
BOX={DIR=V},
UPD={DATE="20.09.2004",TIME="14:09:26"}},
FLW={
BRK={TRNS=N,ERROR=A,PRK={VIEW=1,SUFIX=1}
VIEW={
SLCT={NAME="A",CNF=N,FLD=1,MOD=R,FLW={CND=Y,MOD=S,DIR=C}}},
SUFIX={
UPD={FLD="A",EXP=1,MOD=N,ABRT=Y,FLW={CND=Y,MOD=B,DIR=C}}}},
BRK={TRNS=Y,ERROR=A,PRK={}}},
DSP={
DSP_INFO={NAME="NVK",MOD=H,COLOR=1,STYLE=1857,FONT=1,GRIDX=4,GRIDY=8},
UOM_FACTOR={X=4,Y=8},

FRM={DX=320,DY=200},
BLOCK={DX=320,DY=200},TAG_PRFX="<!$",TAG_SUFX=">"},
EXP="2"},
TSK={
HDR={DESC="NVKP",RSDNT=N,SQL=N,PRK=1,POS=S},
RSRCE={
DB={FILE=74,MOD=W,OPN=W,READ=N,SIZ=Y}},
DTLS={
KEY={MOD=N},
DB={DB=74},
FLW=B,DEL=N,END=N,EMOD=B,
MOD={MOD=M},
LCT={DIR=A},
RNG={DIR=A},
FLG={SLCT=N,CNF=N,SLOC=R,SFAIL=S,LSTRG=I,TSK_CACHE=T,SUFIX=N},
SIDE_WIN={
RPR={RPR=N}},
WIN={OPN=Y,CLS=Y,FGND=Y,FLIP=N,
DTLS={RTRN=N}},
BOX={DIR=V},
UPD={DATE="20.09.2004",TIME="14:09:53"}},
FLW={
BRK={TRNS=N,ERROR=A,PRK={VIEW=1,SUFIX=1}
VIEW={
SLCT={NAME="A",CNF=N,FLD=1,MOD=R,FLW={CND=Y,MOD=S,DIR=C}}},
SUFIX={
UPD={FLD="A",EXP=1,MOD=N,ABRT=Y,FLW={CND=Y,MOD=B,DIR=C}}}},
BRK={TRNS=Y,ERROR=A,PRK={}}},
DSP={
DSP_INFO={NAME="NVKP",MOD=H,COLOR=1,STYLE=1857,FONT=1,GRIDX=4,GRIDY=8},
UOM_FACTOR={X=4,Y=8},

FRM={DX=320,DY=200},
BLOCK={DX=320,DY=200},TAG_PRFX="<!$",TAG_SUFX=">"},
EXP="2"}}



Magic Version 9.4

With this function you can display a Messagebox. The way the MessageBox looks like is definable.
You just have to add all the properties you want it to have.

The Task Properties will look like this:
Task Type: Batch
Initial Mode: Modify
EndTask: Yes-After
Allow Events: No


The record main will look like this:
Select  Param  1 i-MessageBox        Type  ("A")  Num:40
Select  Param  2 i-MessageBoxTitle   Type  ("B")  Alpha:100
Select  Param  3 i-MessageBoxMessage Type  ("C")  Alpha:1000
Select  Param  4 o-MessageBoxAnswer  Type  ("D")  Num:2


The record suffix will look like this:
Block If                    Cnd:A=0
  Evaluate CallDLL ('User32.MessageBoxA','4AA44',WINHWND (0),Trim (C),Trim (B),16)
Block Else
  Update   D o-MessageBoxAnswer    Exp:CallDLL ('User32.MessageBoxA','4AA44',WINHWND (0),Trim (C),Trim (B),A)
End Block



So the way the MessageBox will look like is define with the following properties (first parameter i-MessageBox):
vbOKOnly = 0
vbOKCancel = 1
vbAbortRetryIgnore = 2
vbYesNoCancel = 3
vbYesNo = 4
vbRetryCancel = 5

None = 0
vbCritical = 16
vbQuestion = 32
vbExclamation = 48
vbInformation = 64

vbDefaultButton1 = 0
vbDefaultButton2 = 256
vbDefaultButton3 = 512
vbDefaultButton4 = 768

None = 0
vbSystemModal = 4096

vbMsgBoxHelpButton = 16384
vbMsgBoxSetForeground = 65536
vbMsgBoxRight = 524288
vbMsgBoxRtlReading = 1048576

So if you want to display a Yes/No MessageBox you add:
i-MessageBox = 4 + 32 + 4096 + 65536 + depending on the default button 0 or 256.

The resulting button which is pressed o-MessageBoxAnswer can have the following results:
vbOK = 1
vbCancel = 2
vbAbort = 3
vbRetry = 4
vbIgnore = 5
vbYes = 6
vbNo = 7


i know the vb-prefix is on this forum NOT on its place :-)


Category
CategoryHowTo

There are no comments on this page. [Add comment]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki trunk
Page was generated in 0.1086 seconds