Center cursor TGet Verical

Post Reply
lzanardo
Posts: 21
Joined: Wed Nov 08, 2023 2:58 pm
Location: BRASIL

Center cursor TGet Verical

Post by lzanardo »

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

Image

User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Center cursor TGet Verical

Post by Antonio Linares »

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
User avatar
karinha
Posts: 8720
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Center cursor TGet Verical

Post by karinha »

Veja se ajuda:

Code: Select all | Expand

// 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
Post Reply