Page 1 of 1

¿Cómo maximizar un diálogo?

PostPosted: Fri Jul 18, 2008 7:46 am
by Dario Watchdog
Hola, primero decir que soy nuevo en FWPCC y que conozco fivewin. Mi situacion es la siguiente, estoy realizando una aplicacion para pda, pero antes de entrar en la aplicación quiero que eliga el usuario. Para ello estoy usando un dialogo en el que monto un listbox que muestra todos los usuarios que estan dados de alta en la base de datos. Hasta aqui no tengo problema ninguno, pero quiero hacer que el diálogo que muestra esté maximizado. ¿Cómo maximizo dicho diálogo?

Gracias anticipadas.

PostPosted: Fri Jul 18, 2008 9:15 am
by Antonio Linares
Dario,

El diálogo lo creas desde el PRG ó está definido en recursos (fichero RC) ?

PostPosted: Fri Jul 18, 2008 9:21 am
by Dario Watchdog
Antonio Linares wrote:Dario,

El diálogo lo creas desde el PRG ó está definido en recursos (fichero RC) ?


El diálogo está definido en recursos.

****************************
Fichero RC
****************************

LSELUSER DIALOG DISCARDABLE 0, 0, 162, 142
STYLE WS_POPUP|DS_MODALFRAME|WS_SYSMENU|WS_VISIBLE
FONT 8, "MS Sans Serif"
{
CONTROL "", 100, "TWBrowse", WS_TABSTOP|0x00b00000, 9, 4, 143, 133
}

PostPosted: Fri Jul 18, 2008 9:25 am
by Antonio Linares
Dario,

Lo más sencillo es que modifiques el diálogo en el fichero RC para que ocupe toda la pantalla.

Si lo que deseas es que se ajuste al tamaño de cada Pocket PC, entonces lo más sencillo es que le cambies el tamaño desde la claúsula ON INIT:

ACTIVATE DIALOG oDlg ;
ON INIT ( oDlg:SetPos( 0, 0 ), oDlg:nWidth := GetSysMetrics( 0 ), oDlg:nHeight := GetSysMetrics( 1 ) )

PostPosted: Fri Jul 18, 2008 9:45 am
by Dario Watchdog
He puesto en ON INIT lo que me digistes, pero ahora la aplicacion se me queda colgada y tengo que reiniciar el pda.

¿A qué puede ser debido?

PostPosted: Fri Jul 18, 2008 11:16 am
by Antonio Linares
Prueba solo esto a ver que valor te muestra:

MsgInfo( GetSysMetrics( 0 ) )

PostPosted: Fri Jul 18, 2008 11:25 am
by Dario Watchdog
Al final he optado por adaptar el dialogo a mano para el tamaño de pantalla de mi PDA. Y para que me posicionase el dialogo en la posicion (0,0) lo que he hecho ha sido quitarle el CENTERED.

Gracias por todo de todas formas.

PostPosted: Fri Jul 18, 2008 11:32 am
by Antonio Linares
Dario,

Puedes hacerlo asi. Lo acabamos de probar y funciona bien:
Code: Select all  Expand view
   ACTIVATE DIALOG oDlg CENTERED ;
      ON INIT ( WndTop( oDlg:hWnd, 26 ), WndLeft( oDlg:hWnd, 0 ),;
                oDlg:nWidth := GetSysMetrics( 0 ), oDlg:nHeight := GetSysMetrics( 1 ) - 26 )