Estilo do SAY e do GET no XP usando Hwgui

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
lgr
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 06 Set 2005 00:02
Localização: Rio de Janeiro-RJ

Estilo do SAY e do GET no XP usando Hwgui

Mensagem por lgr »

Consegui, usando o arquivo WindowsXP.manifest, colocar meu programa para usar o estilo do XP. Ficou muito bom mas esbarrei em 2 detalhes, que somente ocorrem dentro de um TAB:

1 - a cor de fundo do SAY continua sendo a do DIALOG (o do TAB é mais claro);
2 - aparece uma borda 3D junto com a borda azul no GET.

Alguém conhece uma dica para mudar isso? Reparem que somente acontece dentro de um TAB. Fora fica tudo certo.

Estou usando o xHarbour 99.5 e Hwgui CVS.
Sandro R R Freire
Usuário Nível 2
Usuário Nível 2
Mensagens: 55
Registrado em: 23 Set 2004 08:06

Mensagem por Sandro R R Freire »

Isto realmente ocorre, visto que o TAB é transparente no XP, eu uso como solução um Say cobrindo toda a região da Tela.
Avatar do usuário
lgr
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 06 Set 2005 00:02
Localização: Rio de Janeiro-RJ

Mensagem por lgr »

Sandro R R Freire escreveu:Isto realmente ocorre, visto que o TAB é transparente no XP, eu uso como solução um Say cobrindo toda a região da Tela.
Sandro,

Eu coloquei uma mensagem lá também, aproveitando o tópico Transparência do Sauli Bueno.

Vou testar essa sua idéia mas a solução realmente seria a tranparência do SAY funcionar corretamente. Como disse o Sauli, quando ativamos a transparência ela torna o SAY totalmente invisível.

Agora, Sandro, quanto ao GET, além da borda azul do estilo XP, continua uma borda 3D que eu não consigo tirar. Alguma idéia?

Obrigado pela atenção.
Sandro R R Freire
Usuário Nível 2
Usuário Nível 2
Mensagens: 55
Registrado em: 23 Set 2004 08:06

Mensagem por Sandro R R Freire »

Este FDS estarei montando um demo de uso de TAB com estas implementações, assim que ok, lhe envio.
Avatar do usuário
lgr
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 06 Set 2005 00:02
Localização: Rio de Janeiro-RJ

Mensagem por lgr »

Sandro,

Obrigado pela atenção. Veja o código abaixo:

Código: Selecionar todos

#include "windows.ch"
#include "hwgui.ch"
#include "common.ch"


FUNCTION Main

   LOCAL oFormCliente, oRazao, cRazao, oEnderecamento, cEndereco, cCobranca, cObs, oCancelar

   cRazao:=space(50)
   cEndereco:=cCobranca:=space(60)
   cObs:=space(100)

   BEGIN SEQUENCE

   INIT DIALOG oFormCliente ;
        TITLE "Ficha do Cliente" ;
        SIZE 608,440 ;
        STYLE DS_CENTER + WS_VISIBLE + WS_SYSMENU ;
        CLIPPER ;
        NOEXIT

   @ 8,8 GROUPBOX "Identificação" SIZE 584,83  
   @ 215,65 SAY "Razão Social" SIZE 96,12
   @ 304,61 GET oRazao VAR cRazao SIZE 280,24 STYLE ES_AUTOHSCROLL TOOLTIP "Forneça o nome completo ou a razão social"

   @ 8,100 TAB oEnderecamento ITEMS {} SIZE 584,169

   BEGIN PAGE "Dados para Correspondência" OF oEnderecamento
      @ 8,33 SAY "Endereço" SIZE 80,22
      @ 100,31 GET cEndereco SIZE 475,24 STYLE ES_AUTOHSCROLL TOOLTIP "Digite os dados para correspondência"
   END PAGE OF oEnderecamento

   BEGIN PAGE "Dados para Cobrança" OF oEnderecamento
      @ 8,33 SAY "Endereço" SIZE 80,22 
      @ 100,31 GET cCobranca SIZE 475,24 STYLE ES_AUTOHSCROLL TOOLTIP "Digite os dados para a cobrança"
   END PAGE OF oEnderecamento
   
   @ 8,276 GROUPBOX "Dados Complementares" SIZE 584,78  
   @ 16,329 SAY "Observações" SIZE 101,22
   @ 108,327 GET cObs SIZE 461,24 STYLE ES_AUTOHSCROLL TOOLTIP "Digite alguma observação a ser apresentada quando usar este cliente"

   @ 510,363 OWNERBUTTON oCancelar ;
             ON CLICK {|| oFormCliente:Close()} ;
             SIZE 80,32 ;
             TEXT "Cancelar" COORDINATES 20,0,0,0 ;
             BITMAP "CANCELAR" FROM RESOURCE TRANSPARENT COLOR Vcolor("C0C0C0") COORDINATES 5,0,0,0 ;
             TOOLTIP "Cancelar as modificações"

   ACTIVATE DIALOG oFormCliente

   SetFocus( oRazao:handle )

   END

RETURN TRUE
Ele exemplifica o que eu reclamei. Veja que o ownerbutton também não assume o estilo.
Responder