FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Center cursor TGet Verical
Posts: 21
Joined: Wed Nov 08, 2023 02:58 PM

Center cursor TGet Verical

Posted: Tue Aug 25, 2026 01:28 PM

Hello, good morning.
How do I vertically center the cursor in a TGet?

Olá bom dia
Como deixar o Cursos Centralizado verticalmente no TGet.

Att.
LZanardo

Posts: 44508
Joined: Thu Oct 06, 2005 05:47 PM

Re: Center cursor TGet Verical

Posted: Tue Aug 25, 2026 02:15 PM

Eso es un control TGet ó HTML con un webview ?

  1. TGet has no native vertical centering (only TSAY has VCENTER); Windows draws the caret on the top line of the control.
  2. Options: size the GET to the font height (option A), or make a one-line borderless GET centered inside a taller panel that provides the visual look (option B, most common).
  3. Option C (ES_MULTILINE + EM_SETRECT) exists but breaks FWH navigation/editing, not recommended.
    Português:
  4. TGet não tem centralização vertical nativa (só o TSAY tem VCENTER); o Windows desenha o cursor na linha superior do controle.
  5. Opções: dimensionar o GET com a altura da fonte (opção A), ou criar um GET de uma linha sem borda centralizado dentro de um painel mais alto que dá o aspecto visual (opção B, a mais usada).
  6. A opção C (ES_MULTILINE + EM_SETRECT) existe mas quebra a navegação/edição do FWH, não recomendada.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8716
Joined: Tue Dec 20, 2005 07:36 PM

Re: Center cursor TGet Verical

Posted: Tue Aug 25, 2026 02:43 PM

Veja se ajuda:

// C:\FWH2603\SAMPLES\TESTGETP.PRG

#include "fivewin.ch"
#include "colores.ch"

FUNCTION Main()

   LOCAL oDlg, oGet, oFont, oFnt, oClp
   LOCAL cUser := "Izanardo"
   LOCAL cPass := "123456789"

   SET _3DLOOK ON

   DEFINE FONT oFnt  NAME "Ms Sans Serif" SIZE 0, -12 BOLD
   DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 0, -14 BOLD

   DEFINE DIALOG oDlg TITLE "Password/Senha" FROM 02, 02 TO 13.50, 40        ;
      COLORS CLR_BLACK, CLR_WHITE TRANSPARENT

   oDlg:lHelpIcon := .F.

   DEFINE CLIPBOARD oClp OF oDlg

   // SE DESEJAR CURSOR MAIOR:
   IF Set( _SET_INSERT, ! Set( _SET_INSERT ) )
      Set( _SET_INSERT, ! Set( _SET_INSERT ) )
   ENDIF

   @ 1,   2 SAY "User..:" OF oDlg SIZE 70, 12 UPDATE TRANSPARENT FONT oFont  ;
      COLORS METRO_TURQUE, CLR_WHITE

   @ 1, 6.3 GET oGet VAR cUser OF oDlg SIZE 60, 10 PICTURE "@K" UPDATE       ;
      COLORS CLR_BLACK, CLR_WHITE FONT oFont

   @ 1.8, 2 SAY "Password:" OF oDlg SIZE 70, 12 UPDATE TRANSPARENT FONT oFont ;
      COLORS METRO_TURQUE, CLR_WHITE

   @ 2, 6.3 GET oGet VAR cPass OF oDlg SIZE 60, 12 PICTURE "@k" PASSWORD     ;
      CENTER COLORS CLR_BLACK, CLR_WHITE UPDATE

   oGet:lPassword := .T.

   oGet:bGotFocus := {|| oClp:SetText( '' ) }

   @ 3.6, 1 SAY "<ESC> Sair" OF oDlg SIZE 50, 12 UPDATE TRANSPARENT FONT oFnt ;
      COLORS CLR_BLACK, CLR_WHITE

   @ 3,    7 BUTTON "&Entrar" OF oDlg SIZE 30, 12 ACTION oDlg:End()

   @ 3,   16 BUTTON "&Saida" SIZE 30, 12 OF oDlg ACTION oDlg:End() CANCEL

   ACTIVATE DIALOG oDlg CENTERED ON INIT Menu_Users( oDlg )

   IF Set( _SET_INSERT, ! Set( _SET_INSERT ) )
      Set( _SET_INSERT, ! Set( _SET_INSERT ) )
   ENDIF

   oFont:End()
   oFnt:End()

RETURN NIL

FUNCTION Menu_Users( oDlg )

   local oMenu
   

   MENU oMenu
      MENUITEM "Usuarios"
      MENU
         MENUITEM "Incluir"
         MENUITEM "Excluir"
      ENDMENU   

      MENUITEM "Modificar"
      MENUITEM "Imprimir"
   ENDMENU
   

   oDlg:SetMenu( oMenu )
   

RETURN NIL

// FIN /END

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion