Tab Control - Como manipular suas propriedades

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
NiltonGM
Usuário Nível 3
Usuário Nível 3
Mensagens: 397
Registrado em: 05 Jun 2014 23:47
Localização: Caieiras/SP

Tab Control - Como manipular suas propriedades

Mensagem por NiltonGM »

Olá pessoal,

O HMG Reference limita-se a mostrar somente a sintaxe, alguém sabe como posso manipular um componente Tab Control?
Uso formulário onde o tab control inicia com a propriedade visible := .F., consigo checar em tempo real essa propriedade usando if (Main.Tab_principal.Visible), mas não consigo saber quantas abas estão abertas pela propriedade Main.Tab_principal.PageCount, da erro de compilação. Vejam meu código.

Código: Selecionar todos

Procedure cad_Empresas
          Local i := 0
          Local lEmUso := .F.

          if ( Main.Tab_principal.Visible )
               
               FOR i := 1 TO Main.Tab_principal.PageCount                 // Aki da erro, não sei qual o metodo ou propriedade acessar para saber quantas abas estão abertas.
                    if Main.Tab_principal.Captions(i) = "Empresas" 
                      lEmUso := .T.
                      Exit
                    end   
               Next
               
               if (lEmUso)                                        // Se já está em uso, seta o foco pra aba que o usuário chamou pelo menu principal
                    Main.Tab_principal.Value := i
               else
                    Main.Tab_principal.AddPage ( Main.Tab_principal.PageCount+1 , "Empresas" )
                    Main.Tab_principal.Value   := Main.Tab_principal.PageCount
                    Main.Tab_principal.Visible := .T.
               end
               
          else
               // O Tab está vazio, é a primeira aba
               Main.Tab_principal.AddPage ( 1 , "Empresas" )
               Main.Tab_principal.Value := 1
               Main.Tab_principal.Visible  := .T.
          end
               
          Main.Tab_principal.Show

Return
Onde posso achar tutoriais com exemplos melhores do que na HMG Reference?

Clip-Abraço
Nilton Medeiros
nilton@sistrom.com.br
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Tab Control - Como manipular suas propriedades

Mensagem por Toledo »

Nilton, no HMG não existe a propriedade PageCount no controle Tab.

Não sei se no HMG existe algum controle já definido para saber quantas Page tem em um Tab, mas este código abaixo dá certo:

Código: Selecionar todos

_i := GetControlIndex ( "Tab_principal" , "Main" )
FOR i := 1 TO HMG_LEN( _HMG_SYSDATA [  7 ] [_i] )
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
NiltonGM
Usuário Nível 3
Usuário Nível 3
Mensagens: 397
Registrado em: 05 Jun 2014 23:47
Localização: Caieiras/SP

Tab Control - Como manipular suas propriedades

Mensagem por NiltonGM »

Tem razão Toledo, na referencia não existe mas essa propriedade aparece no Gerenciador de objetos, internamente o gerenciador deve converter para a propriedade certa não divulgada. Vou testar seu código. Obrigado.
Nilton Medeiros
nilton@sistrom.com.br
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Tab Control - Como manipular suas propriedades

Mensagem por Toledo »

NiltonGM escreveu:mas essa propriedade aparece no Gerenciador de objetos
Agora entendi, mas esta propriedade tem apenas na IDE, para que a IDE saiba quantas Page deve mostrar na hora que você está montando o form (formulário). Para você ver quais as propriedades que realmente existe no objeto TAB, entre na pasta C:\hmg.3.3.0\DOC\data e dê um clique duplo no arquivo tab.htm (o arquivo será berto no seu navegador padrão da internet) e procure por Properties.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Responder