Página 1 de 1

Tab Control - Como manipular suas propriedades

Enviado: 23 Jun 2014 15:18
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

Tab Control - Como manipular suas propriedades

Enviado: 23 Jun 2014 16:32
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,

Tab Control - Como manipular suas propriedades

Enviado: 24 Jun 2014 16:23
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.

Tab Control - Como manipular suas propriedades

Enviado: 24 Jun 2014 16:52
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,