In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Re: Logo al inicio de una aplicaci
- ignacio
- Site Admin
- Mensajes: 9463
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Logo al inicio de una aplicaci
Bingen,
Crea un formulario tipo Splah y muestralo en el OnInitialize del formulario
principal. Algo así:
METHOD FormInitialize( oSender ) CLASS TForm1
::lVisible := .f.
WITH OBJECT TForm2():New( Self )
:ShowModal()
END WITH
::lVisible := .t.
RETURN Nil
Saludos
"XPRO-?????????-01" <bingen@muninser.com> escribió en el mensaje
news:[email=44aa4c6f@news.xailer.com...]44aa4c6f@news.xailer.com...[/email]
> Me gustaría saber como hacéis para mostrar el LOGO inicial de Xailer
> mientras se carga el programa, es decir, si hay un MsgLogo() o algo así
> como en FW.
>
> Gracias.
Crea un formulario tipo Splah y muestralo en el OnInitialize del formulario
principal. Algo así:
METHOD FormInitialize( oSender ) CLASS TForm1
::lVisible := .f.
WITH OBJECT TForm2():New( Self )
:ShowModal()
END WITH
::lVisible := .t.
RETURN Nil
Saludos
"XPRO-?????????-01" <bingen@muninser.com> escribió en el mensaje
news:[email=44aa4c6f@news.xailer.com...]44aa4c6f@news.xailer.com...[/email]
> Me gustaría saber como hacéis para mostrar el LOGO inicial de Xailer
> mientras se carga el programa, es decir, si hay un MsgLogo() o algo así
> como en FW.
>
> Gracias.
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
-
- Mensajes: 1310
- Registrado: Mié Sep 26, 2007 7:12 pm
Re: Logo al inicio de una aplicaci
Si esto si lo tenia claro pero era por saber si había una función
directa, sin problema ya me la hago yo.
Muchas gracias.
directa, sin problema ya me la hago yo.
Muchas gracias.
- ignacio
- Site Admin
- Mensajes: 9463
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Logo al inicio de una aplicaci
Bingen,
En mi opinión no tiene mucho sentido hacer una función para eso, ya que con
el IDE creas el formulario rapidamente y además puedes personalizarlo para
cada aplicación. Cuando te encuentres más cómodo con el IDE te darás cuenta
que no es necesario tener una batería de funciones para hacer procesos
simples como hacias hasta ahora con otras herramientas. Pero insisto, es tan
sólo mi opinión.
En el futuro Xailer soportorá la creación de formularios plantilla lo cual
puede parecerse a la funcionalidad que buscas.
Un saludo,
"Bingen" <bingen@muninser.com> escribió en el mensaje
news:[email=44aa785a@news.xailer.com...]44aa785a@news.xailer.com...[/email]
> Si esto si lo tenia claro pero era por saber si había una función directa,
> sin problema ya me la hago yo.
>
> Muchas gracias.
>
En mi opinión no tiene mucho sentido hacer una función para eso, ya que con
el IDE creas el formulario rapidamente y además puedes personalizarlo para
cada aplicación. Cuando te encuentres más cómodo con el IDE te darás cuenta
que no es necesario tener una batería de funciones para hacer procesos
simples como hacias hasta ahora con otras herramientas. Pero insisto, es tan
sólo mi opinión.
En el futuro Xailer soportorá la creación de formularios plantilla lo cual
puede parecerse a la funcionalidad que buscas.
Un saludo,
"Bingen" <bingen@muninser.com> escribió en el mensaje
news:[email=44aa785a@news.xailer.com...]44aa785a@news.xailer.com...[/email]
> Si esto si lo tenia claro pero era por saber si había una función directa,
> sin problema ya me la hago yo.
>
> Muchas gracias.
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
-
- Mensajes: 1310
- Registrado: Mié Sep 26, 2007 7:12 pm
Re: Logo al inicio de una aplicaci
Seguramente tienes razón Ignacio, cuesta dejar atrás las viejas
costumbres pero...
Uso en varios programas esta función para mostrar imágenes JPG, BMP y
tiene que ser un form bsSplash autoajustable pues lo que se enseña tiene
un tamaño variable, entonces...
¿Hay forma de saber el alto y el ancho real de un objeto tImage? por que
cuando pregunto por el siempre me dice 100x100 pixel que es el valor por
defecto de las propiedades nWidth y nHeight del objeto oImage.
Salu2.
costumbres pero...
Uso en varios programas esta función para mostrar imágenes JPG, BMP y
tiene que ser un form bsSplash autoajustable pues lo que se enseña tiene
un tamaño variable, entonces...
¿Hay forma de saber el alto y el ancho real de un objeto tImage? por que
cuando pregunto por el siempre me dice 100x100 pixel que es el valor por
defecto de las propiedades nWidth y nHeight del objeto oImage.
Salu2.
-
- Mensajes: 1310
- Registrado: Mié Sep 26, 2007 7:12 pm
Re: Logo al inicio de una aplicaci
Function MsgLogo( cImage, nSeconds )
Local oForm, oImagen, oImage1, oImage2, oTimer
DEFAULT nSeconds To 5
WITH OBJECT oImage1 := TPicture():New( GetActiveform() )
:cName := cImage
END
DEFINE FORM oForm OF Application:oMainForm ;
SIZE oImage1:nWidth+8, oImage1:nHeight+8 BORDERSTYLE bsSPLASH
@ 0,0 Image oImage2 Size oImage1:nWidth, oImage1:nHeight FILE
cImage ;
Transparent NONE NoTabStop OF oForm
DEFINE TIMER oTimer OF oForm Interval nSeconds*1000 ACTION
oForm:Close()
Activate Timer oTimer
ACTIVATE FORM oForm MODAL CENTER
DeActivate Timer oTimer
Return Nil
Local oForm, oImagen, oImage1, oImage2, oTimer
DEFAULT nSeconds To 5
WITH OBJECT oImage1 := TPicture():New( GetActiveform() )
:cName := cImage
END
DEFINE FORM oForm OF Application:oMainForm ;
SIZE oImage1:nWidth+8, oImage1:nHeight+8 BORDERSTYLE bsSPLASH
@ 0,0 Image oImage2 Size oImage1:nWidth, oImage1:nHeight FILE
cImage ;
Transparent NONE NoTabStop OF oForm
DEFINE TIMER oTimer OF oForm Interval nSeconds*1000 ACTION
oForm:Close()
Activate Timer oTimer
ACTIVATE FORM oForm MODAL CENTER
DeActivate Timer oTimer
Return Nil
- ignacio
- Site Admin
- Mensajes: 9463
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Logo al inicio de una aplicaci
Bingen,
> un tamaño variable, entonces...
Entonce eliges:
1) Ajustar el diálogo a la imagen en su evento OnInitialize
2) Ajustar la imagen al diálogo con la propiedad lAutFit
> ¿Hay forma de saber el alto y el ancho real de un objeto tImage? por que
> cuando pregunto por el siempre me dice 100x100 pixel que es el valor por
> defecto de las propiedades nWidth y nHeight del objeto oImage.
No hay que confundir el alto y el ancho del control donde se muestra la
imagen con el ancho y el alto de la propia imagen. Para saber las
dimensiones de la IMAGEN utiliza oImage:oPicture:nWidth y
oImage:oPicture:nHeight
Saludos
> un tamaño variable, entonces...
Entonce eliges:
1) Ajustar el diálogo a la imagen en su evento OnInitialize
2) Ajustar la imagen al diálogo con la propiedad lAutFit
> ¿Hay forma de saber el alto y el ancho real de un objeto tImage? por que
> cuando pregunto por el siempre me dice 100x100 pixel que es el valor por
> defecto de las propiedades nWidth y nHeight del objeto oImage.
No hay que confundir el alto y el ancho del control donde se muestra la
imagen con el ancho y el alto de la propia imagen. Para saber las
dimensiones de la IMAGEN utiliza oImage:oPicture:nWidth y
oImage:oPicture:nHeight
Saludos
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
- ignacio
- Site Admin
- Mensajes: 9463
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Logo al inicio de una aplicaci
Bingen,
No obstante, la forma más sencilla de poner una imagen en un formulario
consiguiendo además una perfecta transparencia con cualquier control que
pongas luego es utilizando la propiedad oForm:oBkGnd y y oForm:nBkGndMode
(blSTRETCH )
Saludos
No obstante, la forma más sencilla de poner una imagen en un formulario
consiguiendo además una perfecta transparencia con cualquier control que
pongas luego es utilizando la propiedad oForm:oBkGnd y y oForm:nBkGndMode
(blSTRETCH )
Saludos
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Re: Logo al inicio de una aplicaci
Bingen,
Yo lo haría así:
Function MsgLogo( cImage, nSeconds )
Local oForm, oImagen, oTimer
DEFAULT nSeconds To 5
DEFINE FORM oForm OF Application:oMainForm BORDERSTYLE bsSPLASH
oForm:oBkgnd := cImage
oForm:SetClientSize( oImagen:nWidth, oImagen:nHeight )
DEFINE TIMER oTimer OF oForm Interval nSeconds*1000 ACTION oForm:Close()
Activate Timer oTimer
ACTIVATE FORM oForm MODAL CENTER
oTimer:End()
Return Nil
--
Un saludo,
José F. Giménez
http://www.xailer.com
Yo lo haría así:
Function MsgLogo( cImage, nSeconds )
Local oForm, oImagen, oTimer
DEFAULT nSeconds To 5
DEFINE FORM oForm OF Application:oMainForm BORDERSTYLE bsSPLASH
oForm:oBkgnd := cImage
oForm:SetClientSize( oImagen:nWidth, oImagen:nHeight )
DEFINE TIMER oTimer OF oForm Interval nSeconds*1000 ACTION oForm:Close()
Activate Timer oTimer
ACTIVATE FORM oForm MODAL CENTER
oTimer:End()
Return Nil
--
Un saludo,
José F. Giménez
http://www.xailer.com
-
- Mensajes: 1310
- Registrado: Mié Sep 26, 2007 7:12 pm
Re: Logo al inicio de una aplicaci
Mucho mas elegante, pero no te falta algo como definir el objeto para
saber el tamaño??
Function MsgLogo( cImage, nSeconds )
Local oForm, oImagen, oTimer
DEFAULT nSeconds To 5
WITH OBJECT oImagen := TPicture():New( GetActiveform() )
:cName := cImage
END
DEFINE FORM oForm OF Application:oMainForm BORDERSTYLE bsSPLASH
oForm:oBkgnd := cImage
oForm:SetClientSize( oImagen:nWidth, oImagen:nHeight )
oForm:OnLButtonDown := { || oForm:Close() }
DEFINE TIMER oTimer OF oForm Interval nSeconds*1000 ACTION
oForm:Close()
Activate Timer oTimer
ACTIVATE FORM oForm MODAL CENTER
oTimer:End()
Return Nil
saber el tamaño??
Function MsgLogo( cImage, nSeconds )
Local oForm, oImagen, oTimer
DEFAULT nSeconds To 5
WITH OBJECT oImagen := TPicture():New( GetActiveform() )
:cName := cImage
END
DEFINE FORM oForm OF Application:oMainForm BORDERSTYLE bsSPLASH
oForm:oBkgnd := cImage
oForm:SetClientSize( oImagen:nWidth, oImagen:nHeight )
oForm:OnLButtonDown := { || oForm:Close() }
DEFINE TIMER oTimer OF oForm Interval nSeconds*1000 ACTION
oForm:Close()
Activate Timer oTimer
ACTIVATE FORM oForm MODAL CENTER
oTimer:End()
Return Nil
Re: Logo al inicio de una aplicaci
Bingen,
> Mucho mas elegante, pero no te falta algo como definir el objeto para
> saber el tamaño??
Aquí está la magia:
> oForm:oBkgnd := cImage
Cuando se asigna el nombre de la imagen a la propiedad oBkgnd de TForm, esta
se encarga de crear un objeto TPicture y cargar la imagen. Por lo tanto, a
partir de ese momento ya podemos saber sus dimensiones. Pero tienes razón,
hay un fallo:
> oForm:SetClientSize( oImagen:nWidth, oImagen:nHeight )
oImagen no contiene nada (o mejor dicho, es Nil). Debería ser:
oForm:SetClientSize( oForm:oBkgnd:nWidth, oForm:oBkgnd:nHeight )
--
Un saludo,
José F. Giménez
http://www.xailer.com
> Mucho mas elegante, pero no te falta algo como definir el objeto para
> saber el tamaño??
Aquí está la magia:
> oForm:oBkgnd := cImage
Cuando se asigna el nombre de la imagen a la propiedad oBkgnd de TForm, esta
se encarga de crear un objeto TPicture y cargar la imagen. Por lo tanto, a
partir de ese momento ya podemos saber sus dimensiones. Pero tienes razón,
hay un fallo:
> oForm:SetClientSize( oImagen:nWidth, oImagen:nHeight )
oImagen no contiene nada (o mejor dicho, es Nil). Debería ser:
oForm:SetClientSize( oForm:oBkgnd:nWidth, oForm:oBkgnd:nHeight )
--
Un saludo,
José F. Giménez
http://www.xailer.com