Página 1 de 3

Realce no botão

Enviado: 06 Out 2009 11:08
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

Re: Realce no botão

Enviado: 06 Out 2009 14:47
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 )

Re: Realce no botão

Enviado: 04 Jun 2010 11:36
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 ++++

Re: Realce no botão

Enviado: 05 Jun 2010 03:09
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

Re: Realce no botão

Enviado: 18 Jun 2010 17:17
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.

Re: Realce no botão

Enviado: 19 Jun 2010 21:53
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....

Re: Realce no botão

Enviado: 12 Nov 2010 10:30
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

Re: Realce no botão

Enviado: 12 Nov 2010 12:13
por anacatacombs
Talvez sim, qual versão da Hwgui vc está usando??

Re: Realce no botão

Enviado: 12 Nov 2010 15:05
por Riggns
Usamos a 2.16

Re: Realce no botão

Enviado: 13 Nov 2010 09:03
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

Re: Realce no botão

Enviado: 13 Nov 2010 10:37
por gralak
OK ESBASSO assim que vc colocar o evento na lib posta pra gente poder atualizar pelo CVS
ok

Re: Realce no botão

Enviado: 21 Nov 2010 20:48
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 ?

:)´

Re: Realce no botão

Enviado: 25 Nov 2010 14:18
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

Re: Realce no botão

Enviado: 21 Jan 2011 10:46
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 ???

Re: Realce no botão

Enviado: 09 Fev 2011 12:11
por gralak
???????????????????
Alguém pode ajudar ???