Realce no botão

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

clebervn
Usuário Nível 3
Usuário Nível 3
Mensagens: 286
Registrado em: 12 Jun 2007 10:49
Localização: Florianópolis/SC

Realce no botão

Mensagem por clebervn »

Supor que na minha tela existam 5 botões cada qual executando uma tarefa.

Se clico, por exemplo, no terceiro, ele abre um grid de um cadastro qq.

Gostaria de saber como faço pra realçar esse botão dos demais pro usuário saber q foi esse q ele clicou.

Provavelmente se eu não estiver errado, deve ser algo a por no ON CLICK... gostaria de poder mudar a borda ou cor ou qq coisa q o diferencie.

Alguém pode me dar um Help.

ABC
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Realce no botão

Mensagem por sygecom »

Em alguns caso eu apenas dou um oButton:Disable() e quando a janela fecha volto o botão com: oButton:Enable(), mas em outros caso pode mudar a COR também, com: oButton:SetColor( tcolor, bcolor )
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
gralak
Usuário Nível 3
Usuário Nível 3
Mensagens: 233
Registrado em: 21 Mar 2007 13:28
Localização: Cianorte/PR

Re: Realce no botão

Mensagem por gralak »

caro amigo sygecom eu utilizei o comando do setcolor porem nao funcionou

a minha realidade e a seguinte
eu gostaria de trocar a cor do botao quando o cliente esta com o foco nele isso e possivel ???

vlw te ++++
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Realce no botão

Mensagem por sygecom »

É possivel sim, veja um exemplo usando BUTTONEX:

Código: Selecionar todos

@ 375,290 BUTTONEX btnOk CAPTION "&Confirmar" SIZE 100, 38 ;
TOOLTIP "Salvar o Lançamento";
BITMAP (HBitmap():AddFile('res\ok.bmp')):handle  ;
ON CLICK {|| Salva_Receber() };
ON GETFOCUS  {|| MUDA_COR_FOCO() }; // aqui fica sabendo que o BUTTONEX recebeu o foca
STYLE WS_TABSTOP
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
clebervn
Usuário Nível 3
Usuário Nível 3
Mensagens: 286
Registrado em: 12 Jun 2007 10:49
Localização: Florianópolis/SC

Re: Realce no botão

Mensagem por clebervn »

eu to usando assim ....

Código: Selecionar todos

@ 020,050 BUTTONEX oButx CAPTION "&Cálculos"         STYLE WS_TABSTOP+SS_NOTIFY  SIZE 200,40  TOOLTIP  "" ;
          ON CLICK {|| MudaCor('oButx'), MenuCal00(), CorAntiga('oButx') }


FUNCTION MudaCor(xBotao)
vcomando := xBotao+":SETCOLOR(x_RED)"
&vcomando
RETURN .T.



FUNCTION CorAntiga(xBotao)
vcomando := xBotao+":SETCOLOR(x_BLACK)"
&vcomando
RETURN .T.
qod clico ele muda a cor da letra, qdo sai do MenuCal00, executa a proxima função mas nao retorna a letra em preto, como no exemplo acima.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Realce no botão

Mensagem por sygecom »

Olá clebervn,
Acredito que nessa versão que você usa o Buttonex ainda não tinha mudança de cores, apensar disso eu tentaria algo assim:

Código: Selecionar todos

@ 020,050 BUTTONEX oButx CAPTION "&Cálculos"         STYLE WS_TABSTOP+SS_NOTIFY  SIZE 200,40  TOOLTIP  "" ;
          ON CLICK {|| MudaCor(oButx,x_RED), MenuCal00(), MudaCor(oButx,x_BLACK) }


FUNCTION MudaCor(oOBJ,nCOR)
oOBJ:SETCOLOR(nCOR)
oOBJ:REFRESH()
RETURN .T.
Fiz editando no post mesmo, nem testei....
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Riggns
Usuário Nível 1
Usuário Nível 1
Mensagens: 16
Registrado em: 31 Mai 2010 09:34
Localização: Cianorte-PR

Re: Realce no botão

Mensagem por Riggns »

Bom dia,

Estou precisando muito fazer a mesma coisa que o amigo clebervn fez, alterando a cor do foco de um botão ou mesmo realçando, tentei com o codigo do Leonardo, mas da erro, o ON GETFOCUS so funciona quando é na inicialização de um form, em um botão não da certo, o que devo fazer? é preciso atualizar alguma coisa?

Grato
anacatacombs
Membro Master
Membro Master
Mensagens: 472
Registrado em: 12 Jul 2005 16:53
Localização: Cianorte-Paraná
Contato:

Re: Realce no botão

Mensagem por anacatacombs »

Talvez sim, qual versão da Hwgui vc está usando??
Riggns
Usuário Nível 1
Usuário Nível 1
Mensagens: 16
Registrado em: 31 Mai 2010 09:34
Localização: Cianorte-PR

Re: Realce no botão

Mensagem por Riggns »

Usamos a 2.16
esbasso
Colaborador
Colaborador
Mensagens: 325
Registrado em: 24 Jan 2007 17:49
Localização: CHAPECO/SC

Re: Realce no botão

Mensagem por esbasso »

ISSO ia para ficar perfeito é necessario adicionar o metodo lostfocus ao BUTTON
então ficaria assim

@ 597,181 BUTTONEX oButtonex1 CAPTION "troca cores" SIZE 183,38 ;
STYLE WS_TABSTOP NOTHEMES ;
ON GETFOCUS {|value,This| This:SetColor( 255, 12345678, .t.) } ;
ON LOSTFOCUS {|value,This| this:bcolor:=nil, this:setcolor(0,NIL,.t.)} }

TAMBEM é necessio remover o THEMA DO BOTTÃO para poder colorir ele

IREI ADICIONAR O LOSTFOCUS NA LIB
Luis Fernando Basso
Desenvolvedor VFP + XHARBOUR + HWGUI
lfbasso@gmail.com
http://www.engersoft.com.br
Avatar do usuário
gralak
Usuário Nível 3
Usuário Nível 3
Mensagens: 233
Registrado em: 21 Mar 2007 13:28
Localização: Cianorte/PR

Re: Realce no botão

Mensagem por gralak »

OK ESBASSO assim que vc colocar o evento na lib posta pra gente poder atualizar pelo CVS
ok
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Re: Realce no botão

Mensagem por janio »

Basso,

Nessa nossa dura vida de programador onde muitas das vezes (ou sempre, no meu caso) temos que aprender sozinhos, a falta de um manual, usamos coisas que não sabemos exatamente para que funciona ou às vezes não temos a noção exata de quando ou em que situação, exatamente, determinado recurso deve ser usado. Olhando essa última mensagem postada por vc, observei que quase sempre vc usa entre as barras pipe value,this nos parâmetro de algum método de alguns objetos. tipo:

ON GETFOCUS {|value,This| This:SetColor( 255, 12345678, .t.) } ;

Outros talvez usassem apenas:

ON GETFOCUS {|| SetColor( 255, 12345678, .t.) } ;

O fato é que em exemplos postados por outras pessoas, dificilmente vejo essa utilização.

A pergunta é:

Quando usar value,this ?

:)´
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
esbasso
Colaborador
Colaborador
Mensagens: 325
Registrado em: 24 Jan 2007 17:49
Localização: CHAPECO/SC

Re: Realce no botão

Mensagem por esbasso »

veja bem
ON GETFOCUS {|value,This| This:SetColor( 255, 12345678, .t.) } ;
os eventos passam parametros
e tem os parametros que voce quer passar aos eventos

os parametros são passados aqui |value,This|
cada objeto e SEUS eventos tem seus parametros

o This que eu uso é sempre o parametro passado como referencia ao OBJETO EM SI

então neste caso o seria o evento GETFOCUS do botao, que passa dois parametros o value e o objeto
no caso do botao o value não importa mas o This é uma referencia ao objeto
this:setcolor seria a mesma coisa que fazer o obotao:setcolor
Luis Fernando Basso
Desenvolvedor VFP + XHARBOUR + HWGUI
lfbasso@gmail.com
http://www.engersoft.com.br
Avatar do usuário
gralak
Usuário Nível 3
Usuário Nível 3
Mensagens: 233
Registrado em: 21 Mar 2007 13:28
Localização: Cianorte/PR

Re: Realce no botão

Mensagem por gralak »

Iai pessoal eu atualizei a versão da HWGUI via CVS mas quando eu compilo meu exemplo para tentar usar o metodo
GETFOCUS() ou LOSTFOCUS() da erro de compilação...
Alguém poderia me dizer onde eu econtro a versão da hwgui com esses metodos na biblioteca ???
Avatar do usuário
gralak
Usuário Nível 3
Usuário Nível 3
Mensagens: 233
Registrado em: 21 Mar 2007 13:28
Localização: Cianorte/PR

Re: Realce no botão

Mensagem por gralak »

???????????????????
Alguém pode ajudar ???
Responder