Tipo do Controle/Componente

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Tipo do Controle/Componente

Mensagem por rubens »

Olá..

Com esta função eu consigo uma listagem do nome de todos os controle/componentes de um formulário...

Código: Selecionar todos

FUNCTION ControlesdeFormulario( cFormName , lMostrar )
LOCAL acControles, nParentHandle, nLen, nControl, cTempStr, cControl
hb_Default( @lMostrar, .f. )
hb_Default( @cFormName, ThisWindow.Name ) 
nParentHandle 	:= GetFormHandle(cFormName)
nLen    			:= LEN(_HMG_aControlParenthandles)
cTempStr  := ""
acControles := {}
For nControl := 1 TO nLen
   If _HMG_aControlParenthandles[nControl] == nParentHandle
      cControl := _HMG_aControlNames[nControl]
      If !EMPTY(ALLTRIM(cControl))
         AADD(acControles, cControl)
         cTempStr += cControl + CRLF
      EndIf
   EndIf
NEXT 
IF lMostrar
   MSGBOX(cTempStr, PADR(cFormName, 50))
ENDIF
Tem como me mostrar também o tipo do controle/componente?
Tipo o componente 5 tem o nome Text_1 (que pode ser alterado para tbNome) daí qual seria o tipo do controle/componente 5? Textbox, Label, ChekBox etc..
Tem como fazer isso?
O que eu preciso mudar na função?

Obrigado
Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Claudio Soto
Colaborador
Colaborador
Mensagens: 566
Registrado em: 27 Ago 2012 12:31
Localização: Uruguay
Contato:

Tipo do Controle/Componente

Mensagem por Claudio Soto »

El tipo de control esta definido en la posicion 1 de la matriz _HMG_SYSDATA [1][cControl]

_HMG_aControlxxx son pseudofunciones que hacen referencia a diferentes posiciones de dicha matriz.
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Responder