MsgSelect({"@Impressora","@PDF","@HTML","Titulo","Mensagem ?",2)
************************************************************************* Function MsgSelect( aItems, cValue, cTitle,nPosInicial) Local nOpcao:=1,cVar,nTam,cOpcao,oBmp Private cTitulo:="Selecione uma Opcao !",oDlgMsgS,oBut01,oBut02,oBut03,; oBut04,oBut05,oBut06,oBut07 #ifdef __CLIPPER__ #Else #include "TSButton.ch" #EndIf /* Standard icon resource IDs */ #define IDI_APPLICATION 32512 #define IDI_HAND 32513 #define IDI_QUESTION 32514 #define IDI_EXCLAMATION 32515 #define IDI_ASTERISK 32516 If cValue != Nil cTitulo:=cValue Endif cTitle := If(cTitle=Nil,"Selecione ?",cTitle) nPosInicial := If(nPosInicial=NIL,1,nPosInicial) nTam := Len(aItems)*13.33 DEFINE DIALOG oDlgMsgS FROM 5,10 TO 12, 14+nTam TITLE cTitulo @ 00.7,01 ICON oICon Of oDlgMsgS oIcon:hIcon := LoadIcon(0, IDI_QUESTION) @ 00.7,05 Say Alltrim(cTitle) Of oDlgMsgS nI:=1 If Len(aITems) >= 1 @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT01 Prompt aItems[nI] OF oDlgMsgS ; SIZE 40, 12 ; ACTION ( OBUT01:Cargo:="2", oDlgMsgS:End() ) ; ToolTip StrTran(aItems[nI],"&","") XP EndIf If Len(aITems) >= 2 nI:=2 @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT02 Prompt aItems[nI] OF oDlgMsgS ; SIZE 40, 12 ; ACTION ( OBUT02:Cargo:="2", oDlgMsgS:End() ) ; ToolTip StrTran(aItems[nI],"&","") XP EndIf If Len(aITems) >= 3 nI:=3 @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT03 Prompt aItems[nI] OF oDlgMsgS ; SIZE 40, 12 ; ACTION ( OBUT03:Cargo:="2", oDlgMsgS:End() ) ; ToolTip StrTran(aItems[nI],"&","") XP EndIf If Len(aITems) >= 4 nI:=4 @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT04 Prompt aItems[nI] OF oDlgMsgS ; SIZE 40, 12 ; ACTION ( OBUT04:Cargo:="2", oDlgMsgS:End() ) ; ToolTip StrTran(aItems[nI],"&","") XP EndIf If Len(aITems) >= 5 nI:=5 @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT05 Prompt aItems[nI] OF oDlgMsgS ; SIZE 40, 12 ; ACTION ( OBUT05:Cargo:="2", oDlgMsgS:End() ) ; ToolTIp StrTran(aItems[nI],"&","") XP EndIf If Len(aITems) >= 6 nI:=6 @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT06 Prompt aItems[nI] OF oDlgMsgS ; SIZE 40, 12 ; ACTION ( OBUT06:Cargo:="2", oDlgMsgS:End() ) ; ToolTip StrTran(aItems[nI],"&","") XP EndIf If Len(aITems) >= 7 nI:=7 @ 02.45, 3.5+((nI-1)*8) sBUTTON OBUT07 Prompt aItems[nI] OF oDlgMsgS ; SIZE 40, 12 ; ACTION ( OBUT07:Cargo:="2", oDlgMsgS:End() ) ; ToolTIp StrTran(aItems[nI],"&","") XP EndIf #Endif For nI := 1 to Len(aITems) cVar := "OBUT"+StrZero(nI,2) &(cVar):Cargo:="1" Next cVar := "OBUT"+StrZero(nPosInicial,2) oDlgMsgS:BStart := {|| &(cVar):SetFocus() } ACTIVATE DIALOG oDlgMsgS CENTERED For nI := 1 to Len(aITems) cVar := "OBUT"+StrZero(nI,2) If &(cVar):Cargo = "2" nOpcao:=nI Endif Next Return(nOpcao)
Faz o teste ai Kapi..