Clipper On Line • Ver Tópico - Cor da DIALOG
Mudar para estilo Clássico
Projeto HwGui - Biblioteca visual para Harbour/xHarbour
Postar uma resposta

Cor da DIALOG

23 Jan 2021 13:43

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

23 Jan 2021 14:09

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:
PROCEDURE Main()

   LOCAL oDialog

   INIT DIALOG oDialog TITLE "Teste" SIZE 640, 480 COLOR 0x00FF00

   ACTIVATE DIALOG oDialog

RETURN

Cor da DIALOG

23 Jan 2021 16:43

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

23 Jan 2021 17:07

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:
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

23 Jan 2021 18:27

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

23 Jan 2021 19:35

Isso mesmo Marcos.

No fonte hdialog.prg (2.17)

O que define a cor é a chamada ::Setcolor( , bColor )

Na 2.2x

Código:
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
Postar uma resposta