A hbwin tem o uso da função do Windows MessageBox.
Só que a Messagebox tem opções padrão básicas, pra OK ou SIM/NAO.
Tem alguma função no Windows pra opções do usuário?
Rotina pra mensagens estilo messagebox
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Rotina pra mensagens estilo messagebox
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Rotina pra mensagens estilo messagebox
Acaba sendo interessante, por não depender de LIB gráfica.
Mas falta pra outras opções.
Estou usando essa, que por permitir bastante texto é util.
Mas falta pra outras opções.
Estou usando essa, que por permitir bastante texto é util.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Rotina pra mensagens estilo messagebox
pessoal,
Tem como alterar a fonte de um messagebox?
Tem como alterar a fonte de um messagebox?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Rotina pra mensagens estilo messagebox
Que eu saiba não, já que ela usa o default do Windows.
http://msdn.microsoft.com/en-us/library ... s.85).aspx
Ainda não peguei parte gráfica pra valer.
Da outra vez que testei a Messagebox não funcionou direito, porque eu usava console.
Desta vez só substitui as minhas MsgYesNo() e MsgExclamation()
Essa daí da foto, era uma janela criada com wOpen() / wClose().
Agora virou MsgExclamation( cTexto ), e coloco tudo nesse texto.
A função do Windows faz o resto.
http://msdn.microsoft.com/en-us/library ... s.85).aspx
Ainda não peguei parte gráfica pra valer.
Da outra vez que testei a Messagebox não funcionou direito, porque eu usava console.
Desta vez só substitui as minhas MsgYesNo() e MsgExclamation()
Essa daí da foto, era uma janela criada com wOpen() / wClose().
Agora virou MsgExclamation( cTexto ), e coloco tudo nesse texto.
A função do Windows faz o resto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Rotina pra mensagens estilo messagebox
José,
Eu tinha esse problema acabei desenvolvendo a minha própria caixa de mensagem:
Veja se te ajuda.
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
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Rotina pra mensagens estilo messagebox
Criei essa caixa de mensagem personalizada.


Código: Selecionar todos
Uso:
cMensagem:="Vimos atrav‚s desta convocar V.S. para a assembl‚ia ordin ria que se realizar no dia 25/05/2013"+HB_EOL()
cMensagem+=" s 09:00 horas em primeira convoca‡Æo e s 09:30 horas segunda e £ltima convoca‡Æo na sala de reuniÆo"+HB_EOL()
cMensagem+="a fim de deliberarem"+HB_EOL()
cMensagem+="sobre os seguintes assuntos:"+HB_EOL()+HB_EOL()
cMensagem+="Aprova‡Æo de Contas"+HB_EOL()
cMensagem+="Elei‡Æo de Sindico"+HB_EOL()
cMensagem+="Nomea‡Æo de Conselho Fiscal"+HB_EOL()
cMensagem+="Outros assuntos"
MensagemSistema("Aten‡Æo",cMensagem,500,1024)
FUNCTION MensagemSistema(cTitulo,cMensagem,nTamanho,nLargura,nDefault)
LOCAL oDlg, oEdit, cMess:="", oPg
LOCAL oIconOk :=HIcon():AddResource("ICON_OK")
LOCAL oIconSair:=HIcon():AddResource("ICON_SAIR")
LOCAL cOpcao
PRIVATE btnSair
HB_Default(@cTitulo,"")
HB_Default(@cMensagem,"")
HB_Default(@nTamanho,200)
HB_Default(@nLargura,605)
HB_Default(@nDefault,1)
nLargura+=80
nTamanho+=80
cMess :=HB_OemtoAnsi(cMensagem)
cTitulo:=HB_OemtoAnsi(cTitulo)
INIT DIALOG oDlg TITLE cTitulo ;
AT 0,0 SIZE nLargura,nTamanho ;
FONT HFont():Add( 'Courier New',0,-13,500,,,) CLIPPER NOEXIT ;
STYLE DS_CENTER +WS_SYSMENU+WS_VISIBLE
nLinha:=nTamanho-80
hwg_SetToolTipBalloon(.T.)
@ 010, 020 BITMAP "BITMAP_EXCLAMA1" FROM RESOURCE TRANSPARENT SIZE 60,60
@ 080, 010 GET oEdit VAR cMess SIZE nLargura-95, 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 ),.F.};
FONT HFont():Add( 'Courier New',0,-18,550,,,);
BACKCOLOR hwg_RGB(211,237,250)
nColX:=(nLargura-45) / 2
//@ nColx, nLinha OWNERBUTTON SIZE 110,40 ;
// TEXT "Ok" COORDINATES 55,0,0,0;
// BITMAP "BITMAP_OK2" FROM RESOURCE COORDINATES 5,0,0,0 TRANSPARENT;
// TOOLTIP "Sair" ;
// ON CLICK { || oDlg:Close(),hwg_EndDialog()}
@ nColx,nLinha BUTTONEX btnSair CAPTION "Ok" ON CLICK { || oDlg:lResult:=.F.,hwg_EndDialog()} SIZE 110, 40 ;
ICON oIconSair:handle ;
TOOLTIP ""
oDlg:Activate()
RETURN oDlg:lResult
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
