Página 2 de 2

Como contornar o VALID

Enviado: 14 Ago 2023 17:18
por JoséQuintas
Depois melhoro o fonte, mas deu certo.

Código: Selecionar todos

STATIC FUNCTION OkCurrent( aItem, Self )

   LOCAL nSelect, lFound := .T., xValue, nPos

   nPos := hb_AScan( ::aControlList, { | e | e[ CFG_CTLTYPE ] == TYPE_BUTTON .AND. ;
      e[ CFG_CAPTION ] == "Cancel" } )
   IF nPos != 0
      IF hwg_SelfFocus( ::aControlList[ nPos, CFG_FCONTROL ]:Handle )
         RETURN .T.
      ENDIF
   ENDIF
Busco na lista o button com caption Cancel, e vejo se o foco está pra ele.

Valeu

Nota: a vantagem de ter criado meu próprio array de controles, é que acabo tendo acesso a ele "do meu jeito" sem depender da lib. Não foi proposital, mas ajudou.

Como contornar o VALID

Enviado: 14 Ago 2023 17:19
por pauloa1
HwGUI 2.17 COM xHarbour 1.2.3

Como contornar o VALID

Enviado: 14 Ago 2023 17:26
por Itamar M. Lins Jr.
Olá!
Nota: a vantagem de ter criado meu próprio array de controles, é que acabo tendo acesso a ele "do meu jeito" sem depender da lib. Não foi proposital, mas ajudou.
Para LIB não OOP.
Hwgui é OOP e o objeto master no caso a DIALOG tem tudo(os controles)
oDlg:oTab:oGet... fica tudo encapsulado.

Saudações,
Itamar M. Lins Jr.

Como contornar o VALID

Enviado: 14 Ago 2023 17:27
por JoséQuintas
Só faltou uma coisa no fonte:

Código: Selecionar todos

   nPos := hb_AScan( ::aControlList, { | e | e[ CFG_CTLTYPE ] == TYPE_BUTTON .AND. ;
      e[ CFG_CAPTION ] == "Cancel" } )
   IF nPos != 0
#ifdef HBMK_HAS_HWGUI
      IF hwg_SelfFocus( ::aControlList[ nPos, CFG_FCONTROL ]:Handle )
         RETURN .T.
      ENDIF
#endif
   ENDIF
Isso só vale pra HWGUI.
Depois é encontrar solução pras outras.

Pois é... testando/aprendendo todas de uma vez. Assim a coisa anda e nem precisa escolher.
E sim, mesmo fonte pra todas, só com algumas exceções, como essa que acabou de acontecer.