Moderador: Moderadores
FUNCTION DialogWask( cmsg, aSels )
LOCAL oDlg, oShape1, oBitmap1, ocmd1, ocmd2, oCmd3, oLabel1, oCmd4 ;
, oCmd5
INIT DIALOG oDlg TITLE "Selecione a opcao... " ;
COLOR 16777215 ;
AT 0, 0 SIZE 600,122 ;
FONT HFont():Add( 'Verdana',0,-15,400,,,) CLIPPER NOEXIT ;
STYLE WS_POPUP+WS_CAPTION+DS_CENTER ;
ON INIT {|This| onDlgInit( This ) }
__objAddData( oDlg, "cmsg" ); oDlg:cmsg := cmsg
__objAddData( oDlg, "aSels" ); oDlg:aSels := aSels
Thisform := oDlg
@ 15,71 SHAPE oShape1 SIZE 572,4 ;
BACKCOLOR 255;
BACKSTYLE 2;
BORDERWIDTH 1 CURVATURE 0 BORDERSTYLE 5 FILLSTYLE 10
@ 16,10 BITMAP oBitmap1 ;
SHOW 'bmp_qst' FROM RESOURCE STRETCH 0 ;
TRANSPARENT SIZE 48,48
@ 24,81 BUTTONEX ocmd1 CAPTION "&Sim" TRANSPARENT SIZE 110,34 ;
STYLE BS_CENTER +WS_TABSTOP ;
ON CLICK {|| ocmd1_onClick( ) }
@ 137,81 BUTTONEX ocmd2 CAPTION "&Sim" TRANSPARENT SIZE 110,34 ;
STYLE BS_CENTER +WS_TABSTOP ;
ON CLICK {|| ocmd2_onClick( ) }
@ 250,81 BUTTONEX oCmd3 CAPTION "&Sim" TRANSPARENT SIZE 110,34 ;
STYLE BS_CENTER +WS_TABSTOP ;
ON CLICK {|| oCmd3_onClick( ) }
@ 70,7 SAY oLabel1 CAPTION thisform:cmsg TRANSPARENT SIZE 508,60 ;
STYLE SS_CENTER ;
COLOR 16711680 ;
ON INIT {|This| oLabel1_onInit( This ) }
oLabel1:FontBold := .T.
@ 363,81 BUTTONEX oCmd4 CAPTION "&Não" TRANSPARENT SIZE 110,34 ;
STYLE BS_CENTER +WS_TABSTOP ;
ON CLICK {|| oCmd4_onClick( ) }
@ 476,81 BUTTONEX oCmd5 CAPTION "&Não" TRANSPARENT SIZE 110,34 ;
STYLE BS_CENTER +WS_TABSTOP ;
ON CLICK {|| oCmd5_onClick( ) }
ACTIVATE DIALOG oDlg
IF EMPTY( ThisForm:lresult )
thisform:lresult := 0
ENDIF
RETURN oDlg:lresult
STATIC FUNCTION onDlgInit( This )
// recalcular o tamnho dos botoes
PRIVATE nSize, nEspaco, nWbotao, nSels, nLeft, i, cBtn
If Empty( This:asels ) .OR. LEN( This:asels ) < 2
This:asels := {"Fechar"} //{"emitir","imprimir","desistir","cancelar"}
//RETURN .f.
ENDIF
nSize := 110 * 5
nEspaco := 3 // 12/4
nsels := LEN(This:asels)
nwbotao := MIN( 245, nSize / nSels )
nEspaco := IIF( nSels > 1, 12 / ( nSels - 1 ), 10) //nEspaco +
nLeft := This:nWidth - ( nwbotao * nSels + nEspaco * nSels )
i := 1
DO WHILE i <= 5
cBtn := "oCmd"+STR(i,1)
IF i <= nsels
this:&cBtn:CAPTION := This:aSels[ i ]
this:&cBtn:Move( nLeft,, nwBotao,,0)
nLeft += nwBotao + nEspaco
ELSE
this:&cBtn:Hide()
ENDIF
i ++
ENDDO
RETURN Nil
STATIC FUNCTION ocmd1_onClick
thisform:lresult := 1
THISFORM:CLOSE()
RETURN .T.
STATIC FUNCTION ocmd2_onClick
thisform:lresult := 2
THISFORM:CLOSE()
RETURN .T.
STATIC FUNCTION oCmd3_onClick
thisform:lresult := 3
THISFORM:CLOSE()
RETURN .T.
STATIC FUNCTION oLabel1_onInit( This )
If This:Caption != Nil .And. Len( This:Caption ) < 60
This:nHeight := 42
This:nTop += 20
This:Move( ,This:nTop,, This:nHeight )
Endif
RETURN .T.
STATIC FUNCTION oCmd4_onClick
thisform:lresult := 4
THISFORM:CLOSE()
RETURN .T.
STATIC FUNCTION oCmd5_onClick
thisform:lresult := 5
THISFORM:CLOSE()
RETURN .T.
STATIC FUNCTION ocmd1_onClick
thisform:lresult := 1
THISFORM:CLOSE()
RETURN .T.
Usuários vendo este fórum: Nenhum usuário registrado online e 4 visitantes