acercaDe

acercaDe( lModal, cProg, cLin1, cLin2, cLin3, cLin4, cAños, lVent, bIni ) -> oAcercaDeClass
Muestra un diálogo con el logo del programa que puede ser usado como portada de un programa o para la información de la opción "Acerca de..." del menú.

Parámetros
lModal Indica si el diálogo será modal (.t.) o no modal (.f.)
cProg Nombre del programa
cLin1 Información que se muestra en la primera lína de datos
cLin2 Información que se muestra en la segunda lína de datos
cLin3 Información que se muestra en la tercera lína de datos
cLin4 Información que se muestra en la cuarta lína de datos
cAños Años que serán mostrados junto al copyRight
lVent Muestra el correo electrónico
bIni Codeblock que se evalúa al mostrar el diálogo (en el evento bStart del diálogo)

Devuelve
oAcercaDe Devuelve un objeto de la clase acercaDeClass

Descripción
Esta función creá un diálogo que puede aparecer como portada de un programa o como diálogo con información para la opción "Acerca de..." del menú.

Es necesario contar con un bitmap como recurso llamado bmp_quiquesoft, el cual será el logo mostrado, y el diálogo será del tamaño que tiene este bitmap.

Trabaja sobre una clase llamada acercaDeClass la cual no se puede crear de ninguna otra manera más que por esta función, y no es más que una clase tDialog con algunas variables más para poder cambiar los valores predeterminados en los textos mostrados.

Al ser un diálogo permite ser mostrado de forma modal y no modal, si se muestra de forma modal permanece solamente 10 segundos y se cierra, si se muestra de forma no modal se cierra hasta que es indicado en el programa con oAcercaDe:end().

El parametro bIni permite modificar los textos, así como sus características, o incluso también las características del diálogo, recibe como parametro una referencia al objeto acercaDeClass mostrado.

Los parámetros recibidos son almacenados para el siguiente llamado, a excepción del primero (lModal), esto ayuda a que si se muestra el diálogo como portada y como opción en el menú no se tenga que enviar los parámetros dos veces, solamente si se quisieran modificar habría que enviar las modificaciones.

Ejemplo

function main
   local nCont
   local nSuma := 0
   local oAcercaDe := acercaDe( .f., "Mi programa", "Linea 1", "Linea 2", "Linea 3", "Linea 4", lTrim( str( year( date ) ) ), .t., { | self | modifica_acercaDe( self ) } )
   FOR nCont := 1 TO 5000
      nSuma += nCont
   NEXT
   oAcercaDe:end()
   ? nSuma, nCont
   acercaDe( .t. )
return nil

function modifica_acercaDe( oAcercaDe )
   oAcercaDe:oPrograma:nTop := 80
   oAcercaDe:oLinea1:setColor( 0xFF00FF )
   oAcercaDe:oLinea2:setColor( 0xFF00FF )
   oAcercaDe:oLinea3:setColor( 0xFF00FF )
   oAcercaDe:oLinea4:setColor( 0xFF00FF )
   oAcercaDe:oCorreo:setText( "mi@correo.com" )
   oAcercaDe:oCopyRight:setText( "Hecho por mi" )
   oAcercaDe:oCorreo:setText( "www.mi_pagina.com" )
return nil