Página 1 de 1

Form iniciar no centro da tela

Enviado: 30 Abr 2018 18:23
por porter
Olá pessoal, estou estudando esse exemplo de Harbour32\contrib\gtwvg\tests\_dyndlgs.prg, executando
o exemplo passo a passo nessa linha: hDlg := Wvt_CreateDialog( aDlg, lOnTop, cDlgProc, cDlgIcon, /*nTimerTicks*/, hMenu )
é criado o form, como faço para esse form ficar no centro da tela ?
Harbour 3.2.0(dev)

Código: Selecionar todos

IF nInfo == 2
      // Modal Dialog
      // hDlg := Wvt_DialogBox( aDlg, bDlgProc, Wvt_GetWindowHandle() )
      // hDlg := Wvt_DialogBox( aDlg, cDlgProc, Wvt_GetWindowHandle() )
ELSE
      // Modeless Dialog
      hDlg := Wvt_CreateDialog( aDlg, lOnTop, cDlgProc, cDlgIcon, /*nTimerTicks*/, hMenu ) // aqui cria o form

      // Using Function name.
      // hDlg  := Wvt_CreateDialog( aDlg, lOnTop, cDlgProc, cDlgIcon, nTimerTicks, hMenu, lModal )
ENDIF
RETURN hDlg

Form iniciar no centro da tela

Enviado: 01 Mai 2018 17:28
por JoséQuintas
Eu acabei nunca mexendo com isso.
Talvez ajude...
hbmk2 -find center

gtwvg.hbc (installed):
wvt_CenterWindow()
gtwvw.hbc (installed):
wvw_CenterWindow()
[/code]

Se olhar o fonte:

Código: Selecionar todos

FUNCTION wvt_CenterWindow( lCenter, lRePaint )
   RETURN hb_gtInfo( HB_GTI_SPEC, HB_GTS_CENTERWINDOW, { hb_defaultValue( lCenter, .T. ), hb_defaultValue( lRePaint, .F. ) } )
Não sei se vale pra janela dialog, ou se é automático.

Form iniciar no centro da tela

Enviado: 02 Mai 2018 14:20
por porter
Olá,
Só consegui posicionar o form manualmente, informando linhas e colunas.

Código: Selecionar todos

aDlg := Wvt_MakeDlgTemplate( 1, 16, 18, 40, { 3, 3, 3, 3 },  "Dialog First [ " + hb_ntos( nInfo ) + " ] " + iif( nInfo % 2 == 0, "Modeless", "Modal" ), " Dialog !", nStyle )

hDlg := Wvt_CreateDialog( aDlg, lOnTop, cDlgProc, cDlgIcon, /*nTimerTicks*/, hMenu )