Página 2 de 2
Cor da DIALOG
Enviado: 23 Jan 2021 13:43
por asimoes
BACKCOLOR não foi implementado ou feito uso a versão atual da hwgui, o parâmetro na guilib.ch está lá , MAS NÃO É PASSADO para HDialog():New()
Somente COLOR é usado, como bColor
[ <bclr: BACKCOLOR, COLOR> <bColor> ] ;
BACKCOLOR não tem uso
Cor da DIALOG
Enviado: 23 Jan 2021 14:09
por marcosgambeta
asimoes escreveu:BACKCOLOR não foi implementado ou feito uso a versão atual da hwgui, o parâmetro na guilib.ch está lá , MAS NÃO É PASSADO para HDialog():New()
Somente COLOR é usado, como bColor
[ <bclr: BACKCOLOR, COLOR> <bColor> ] ;
BACKCOLOR não tem uso
Nos meus testes aqui, ambos geraram o mesmo efeito. Da forma como está implementado no comando, COLOR e BACKCOLOR estão funcionando como sinônimos.
Então, usar um ou outro dá o mesmo resultado. Não está assim para você ?
Aproveitando, havia me esquecido que o Harbour entende números hexadecimais. Então, nem se precisa da função de conversão. Funciona também como abaixo:
Código: Selecionar todos
PROCEDURE Main()
LOCAL oDialog
INIT DIALOG oDialog TITLE "Teste" SIZE 640, 480 COLOR 0x00FF00
ACTIVATE DIALOG oDialog
RETURN
Cor da DIALOG
Enviado: 23 Jan 2021 16:43
por asimoes
marcosgambeta escreveu:Então, usar um ou outro dá o mesmo resultado. Não está assim para você ?
BACKCOLOR na 2.17 não está implementado e na 2.2x olhando o fonte não vi o uso, pelo menos nos parâmetros New() não está passando
Cor da DIALOG
Enviado: 23 Jan 2021 17:07
por marcosgambeta
asimoes escreveu:BACKCOLOR na 2.17 não está implementado e na 2.2x olhando o fonte não vi o uso, pelo menos nos parâmetros New() não está passando
Olhando no fonte da classe, realmente só tem um parâmetro para cor. Mas vamos tentar por outro ângulo (acho que agora consigo me expressar corretamente).
O comando COLOR da 2.17 se refere, na verdade, à cor de fundo da janela (a cor de sua superfície). Então, BACKCOLOR seria um termo mais adequado.
Na versão corrente, foi introduzido o comando BACKCOLOR junto com o COLOR. O desenvolvedor pode usar tanto um como o outro. Com isto, introduziu-se o termo correto, mas sem perder a compatibilidade com o que era antes.
Meus comentários anteriores foram sobre os comandos e não sobre o código-fonte da classe:
Código: Selecionar todos
INIT WINDOW ... COLOR ...
ou
INIT WINDOW ... BACKCOLOR ...
INIT DIALOG ... COLOR ...
ou
INIT DIALOG ... BACKCOLOR ...
Quer use COLOR ou BACKCOLOR, o que o desenvolvedor está definindo sempre será a cor de fundo da janela (daí haver apenas 1 parâmetro).
Bom, acho que agora consegui me explicar (espero).
Cor da DIALOG
Enviado: 23 Jan 2021 18:27
por Itamar M. Lins Jr.
Olá!
Aproveitando, havia me esquecido que o Harbour entende números hexadecimais. Então, nem se precisa da função de conversão. Funciona também como abaixo:
Então resolveu mais outro problema, pois eu tinha colocado dentro de aspas "" e não tinha funcionado, deu erro. Quer dizer que não precisa delas.
... SIZE 640, 480 COLOR "0x00FF00" //assim dá erro.
Saudações,
Itamar M. Lins Jr.
Cor da DIALOG
Enviado: 23 Jan 2021 19:35
por asimoes
Isso mesmo Marcos.
No fonte hdialog.prg (2.17)
O que define a cor é a chamada ::Setcolor( , bColor )
Na 2.2x
Código: Selecionar todos
IF bColor != Nil
::brush := HBrush():Add( bColor )
ENDIF
O método SETCOLOR na 2.17 está no fonte hcwindow, e faz uso da HBrush():Add( bColor )
Resumindo não há compatibilidade entre 2.17 e 2.2x, embora eu prefira a 2.17, que fiz algumas modificações e adaptações, algumas incorporações da 2.2x