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: 20419
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
Rotina pra mensagens estilo messagebox
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 20419
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 20419
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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)
