José,
Eu tinha esse problema acabei desenvolvendo a minha própria caixa de mensagem:
Veja se te ajuda.
Código: Selecionar todos
cMens:=IF(APC40->TipoBen="T","Sócio","Dependente")+" selecionado para exclusão:"+HB_EOL()+HB_EOL()
cMens+=AllTrim(APC40->NomeBen)+HB_EOL()+HB_EOL()
cMens+="Clique no botão cancelar ou tecle [Esc] para desistir."+HB_EOL()+HB_EOL()
cMens+="Atenção esta ação não poder ser desfeita."
IF Confirmacao("E",cMens,320,650,2)
...
ENDIF
Código: Selecionar todos
FUNCTION Confirmacao(cTipo,cMensagem,nTamanho,nLargura,nDefault)
LOCAL oDlg, oEdit, oHttp, cMess:="", oPg
LOCAL oIconSair := HIcon():AddResource("ICON_CANCELAR")
LOCAL oIconGravar:= HIcon():AddResource("ICON_GRAVAR")
LOCAL cOpcao
PRIVATE btnSair
HB_Default(@nTamanho,200)
HB_Default(@nLargura,605)
HB_Default(@nDefault,1)
cEscolha:=IF(cTipo="I","&Gravar",IF(cTipo="A","&Alterar","&Excluir"))
INIT DIALOG oDlg TITLE "Confirmação de "+IF(cTipo="I","gravação",IF(cTipo="A","alteração","exclusão")) ;
AT 0,0 SIZE nLargura,nTamanho ;
ICON HIcon():AddResource("ICON_GRAVAR") ;
FONT HFont():Add( 'Courier New',0,-13,500,,,) CLIPPER NOEXIT ;
STYLE DS_CENTER +WS_SYSMENU+WS_VISIBLE ;
ON INIT {| oDlg | oDlg:ninitfocus:=IF(nDefault=1,btnEscolha,btnSair)}
nLinha:=nTamanho-80
hwg_SetToolTipBalloon(.T.)
@ 010, 010 GET oEdit VAR cMensagem SIZE nLargura-25, nTamanho-105 STYLE WS_VSCROLL + ES_MULTILINE + ES_READONLY + WS_BORDER ;
COLOR hwg_RGB(0,0,255) ;
WHEN { || hwg_SendMessage( oEdit:handle, EM_SETSEL, 0, 0 ),btnEscolha:setfocus(),.F.};
FONT HFont():Add( 'Courier New',0,-18,550,,,);
BACKCOLOR hwg_RGB(211,237,250)
@ 010,nLinha BUTTONEX btnEscolha CAPTION cEscolha ON CLICK { || oDlg:lResult:=.T.,hwg_EndDialog()} SIZE 110, 40 ;
ICON oIconGravar:handle ;
TOOLTIP "Clique aqui para "+Lower(cEscolha)+" os dados."
@ nLargura-125,nLinha BUTTONEX btnSair CAPTION "Cancelar" ON CLICK { || oDlg:lResult:=.F.,hwg_EndDialog()} SIZE 110, 40 ;
ICON oIconSair:handle ;
TOOLTIP "Clique aqui para cancelar a "+IF(cTipo="I","gravação",IF(cTipo="A","alteração","exclusão"))
oDlg:Activate()
RETURN oDlg:lResult