GUA DE REFERENCIA Fernando Vzquez (FERVADO) <Fervado_mge@yahoo.com.mx>
Harbour MiniGUI Roberto GUA DE REFERENCIA Nota de la Edicin
Estas notas no son una traduccin de la Gua de Referencia en Ingls, aunque estn basadas en ella, y con la gran ayuda de su autor Roberto Lpez, quien merece todo el crdito por este gran proyecto.
El principal objetivo es servir de ayuda a los que como yo, empezamos la migracin de Clipper al ambiente Windows, a travs de MiniGui
Presento esta edicin aclarando, que he tratado de ayudar a la comunidad de habla hispana interesada en MiniGui, como ustedes observarn la traduccin no es excelente y esto se debe a mi pobre compresin del idioma Ingls, por lo cual si alguno de ustedes tiene a bien de hacer alguna correccin, sugerencia, incluir ejemplos o cualquier comentario, este ser bien recibido a fin de crear un documento de gran ayuda disponible para toda la comunidad, el cual se estar modificando con las actualizaciones de MiniGui y de sus recomendaciones.
Por ltimo solo me resta brindarle un gran reconocimiento a Roberto Lpez por gran labor al crear MiniGui.
Fernando Vzquez Fervado_mge@yahoo.com.mx
Pgina: 1 Harbour MiniGUI Roberto GUA DE REFERENCIA Creando Aplicaciones HMG COMPILE.BAT La forma ms fcil es usar el archivo Compile.Bat localizado en la carpeta minigui\batch.
Donde: /d Soporte al Depurador. /a Soporte a ADS /o Soporte a ODBC /z Soporte a ZIP /m Soporte a MySQL
No debe incluir la extensin para < MainProgramName >
MPM (Administrador de Proyectos Harbour MiniGUI) MPM es una interesante herramienta visual para acelerar el proceso de construccin de una aplicacin. Use la herramienta MAKE que esta ligada al compilador BCC.
De esta forma, slo los archivos modificados son recompilados acelerando el proceso de construccin.
MPM se localiza en : \minigui\utils\mpm
Vea SAMPLE\DEMO.MPM Para los detalles de la configuracin.
Los parmetros de ambiente (Carpeta de Bcc, Carpeta de Harbour, Carpeta de MiniGUI y el programa Editor) se guardan en el archivo 'mpm.ini', localizado en la carpeta de Windows. Este archivo se crea la primera vez que usted ejecuta MPM y automticamente se actualiza.
Hay una versin de comando de lnea de MPM. Se localiza en: \minigui\utils\mpmc. Vea el archivo Readme.Txt para los detalles
Pgina: 2 Harbour MiniGUI Roberto GUA DE REFERENCIA Listado en Orden Alfabtico
Pgina: 3 Harbour MiniGUI Roberto GUA DE REFERENCIA -ACTIVATE WINDOW Activa una ventana, previamente definida.
* TAMBIEN PUEDE ACTIVARLA CON * Win_1.ACTIVATE Return
-ACTIVATE WINDOW ALL Activa todas las ventanas definidas.
Usando este comando, todas las ventanas definidas se activarn simultneamente. Todas las ventanas (exceptuando la principal) no sern visibles a la activacin hasta que el mtodo show se use para hacerlas visibles. El estilo NOAUTORELEASE se asumir para todas las ventanas no-principales.
La ventana principal debe definirse previamente para usar este comando.
-ADD COLUMN Adiciona una nueva columna a un control Grid
Sintaxis: ADD COLUMN [ INDEX <nColIndex> ] [ CAPTION <cCaption> ] Pgina: 4 Harbour MiniGUI Roberto GUA DE REFERENCIA [ WIDTH <nWidth> ] [ JUSTIFY <nJustify> ] TO <ControlName> OF <ParentWindowName>
<Item> El tipo de dato debe ser carcter para los listbox y combobox, y de array para grid (en este caso, la longitud del array, tiene que ser igual a la cantidad de columnas)
DEFINE ANIMATEBOX <ControlName> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END ANIMATEBOX Pgina: 5 Harbour MiniGUI Roberto GUA DE REFERENCIA
Comandos Relacionados: OPEN ANIMATEBOX <ControlName> OF <ParentForm> FILE <FileName> PLAY ANIMATEBOX <ControlName> OF <ParentForm> SEEK ANIMATEBOX <ControlName> OF <ParentForm> POSITION <Frame> STOP ANIMATEBOX <ControlName> OF <ParentForm> CLOSE ANIMATEBOX <ControlName> OF <ParentForm> DESTROY ANIMATEBOX <ControlName> OF <ParentForm>
Descripcin: < nRow > < nCol > Posicin (Lnea, Columna) del control Animatebox dentro de la ventana en coordenadas de pxeles.
< ControlName > Nombre asignado al control Animatebox.
< ParentWindowName > Referencia a la Ventana Padre.
< nWidth > < nHeigth > Tamao (Ancho, Alto) del control Animatebox en pxeles.
<cFileName> Nombre del archivo de animacin (.AVI) a presentar.
[ AUTOPLAY ] Permite la ejecucin automtica y continua del archivo de animacin.
[ CENTER ] Presenta el archivo de animacin de forma centrada en funcin al tamao dado al control Animatebox
[ TRANSPARENT ] Provoca que el color del fondo de la animacin sea transparente.
<nHelpId> Es el ID (enlace) con el archivo de ayuda creado para la aplicacin.
Propiedades: AutoPlay (D) Center (D) Col Enabled File (D) Height HelpId (D) Pgina: 6 Harbour MiniGUI Roberto GUA DE REFERENCIA Name (R) Parent (D) Row ToolTip Transparent (D) Visible Width
D: Disponible solo en la definicin del control. R: Solo lectura
Mtodos: Close Hide Open Play Release Seek Show Stop
Ejemplos: Vea los programas demos localizados en: C:\MiniGUI\SAMPLES\BASIC\ANIMATEDEMO C:\MiniGUI\SAMPLES\BASIC\ANIMATEDEMO_2
-BEGIN INI / GET / SET / END INI Encabezado de archivos de comandos INI.
Sintaxis: BEGIN INI [ FILENAME | FILE | DISK <cIniFile> ]
Descripcin: < nRow > < nCol > Posicin dentro de la ventana en coordenadas de pxeles.
< ControlName > Una referencia a el control Browse
< ParentWindowName > Una referencia a la ventana Padre
< nWidth > < nHeigth > El tamao deseado del control Browse en pxeles.
< acHeaders > Pgina: 8 Harbour MiniGUI Roberto GUA DE REFERENCIA Una lista de expresiones de texto para los ttulos
< anWidths > Una lista de tamaos para cada columna en pxeles.
< WorkAreaName > Una referencia al rea de trabajo
< acFields > Una lista de expresiones de texto para mostrarse como columnas.
< cFontname>,<nFontsize > Una referencia al nombre y tamao de la fuente.
< OnChangeProcedure > Una accin a realizarse cuando se selecciona una nueva fila.
< OnGotFocusProcedure > Una accin a realizarse cuando el Browse toma el foco.
< OnLostFocusProcedure > Una accin a realizarse cuando el Browse pierde el foco.
< OnDblClickProcedure > Una accin a realizarse al hacer doble clic izquierdo.
< abBlock > Una expresin a ser validada cuando el Browse pierde el foco.
< alReadOnlyFields > Una lista de expresiones lgicas para los campos.
< acImageNames > Color de fondo como nmero RGB.
< aOnHeadClickProcedure > Una lista de acciones a ejecutarse, cuando en una cabecera de columna se da un clic con el ratn.
< JUSTIFY <anJustifyValue> Para justificar debes asignar los siguientes valores. BROWSE_JTFY_LEFT BROWSE_JTFY_RIGHT BROWSE_JTFY_CENTER
< VALUE <nValue> Permite establecer o conocer el tem seleccionado usando el nmero Pgina: 9 Harbour MiniGUI Roberto GUA DE REFERENCIA fsico de registro (recno())
D: Disponible solo en la definicin del control. R: Solo de lectura
Eventos: OnChange OnDblClick Pgina: 10 Harbour MiniGUI Roberto GUA DE REFERENCIA OnGotFocus OnHeadClick OnLostFocus
Mtodos: Hide Refresh Release SetFocus Show
Comentarios : La propiedad Value selecciona un registro por su nmero (RecNo())
La propiedad Value devuelve el nmero de registro seleccionado (RecNo())
El control Browse no cambia el rea de trabajo activa
El control Browse no cambia el indicador de registro en cualquier rea (no cambia la seleccin cuando esta cambia) cuando SET BROWSESYNC est en OFF (valor predeterminado)
Puede programticamente refrescarlo utilizando el mtodo Refresh.
Las variables llamadas <MemVar>, <WorkAreaName>, <FieldName> son creadas para validar en la ventana de edicin del Browse. Puede usar VALID en un array.
Usando la clusula APPEND puede agregar registros a la tabla asociada con la clusula WORKAREA. La tecla directa para agregar registros es Alt+A. La clusula APPEND no puede usarse con campos que no pertenecen al BROWSE del rea de trabajo
Usando la clusula DELETE permite marcar el registro seleccionado para eliminacin presionando la tecla <Del>
La columna de la izquierda en un control Browse debe alinearse hacia la izquierda.
Cuando se utilice la definicin de control, la propiedad Header debe cargarse con un array de tipo carcter, que contenga tantos elementos como control de columnas.
SET BROWSESYNC: Cuando se pone en ON, el control BROWSE puede mover el indicador de registro en su rea de trabajo segn la seleccin del usuario o el valor de la propiedad de parmetro programada. Pgina: 11 Harbour MiniGUI Roberto GUA DE REFERENCIA
Estableciendo 'Value' a reccount() + 1 (EOF) puede causar que la ventana del browse se ponga vaca (ningn registro ser mostrado).
VsCrollbar no puede usarse con splitbox child browse
Ejemplo: El ejemplo ms completo y con explicacin del uso del BROWSE se encuentra en C:\MiniGUI\SAMPLES\BASIC\CONTACTOS.
Comentarios: En un ComboBox la clusula 'Height' se refiere a la altura total (considerando la altura de la lista extendida).
Cuando utilice la definicin de control, la propiedad ITEM debe ser un array de caracteres.
Cuando la propiedad ITEMSOURCE se pone con un nombre de campo, la propiedad 'Value' utiliza el nmero del registro fsico, como en el Browse. Pgina: 18 Harbour MiniGUI Roberto GUA DE REFERENCIA
Si usted establece la propiedad VALUESOURCE a un nombre de campo, este contenido devuelve el nmero del registro fsico.
Comentario: Una ventana tiene que ser declarada, si usted necesita referirse a ella antes de su definicin de cdigo, o cuando usted se refiere a ella en un archivo .prg diferente del que fue definida usando la sintaxis semi-oop.
-DECODE Descifra registros de base de datos o archivos.
Sintaxis: DECODE [FROM <(file)>] ON <key> FIELDS <fields,...> [ PASSWORD <password> ] [ FOR <for> ] Pgina: 22 Harbour MiniGUI Roberto GUA DE REFERENCIA [ WHILE <while> ] [ ALL ]
DECODE <file1> TO <file2> [ PASSWORD <password>] [DELETE]
DECODE FILE <file> [ PASSWORD <password> ]
-DELETE COLUMN Borra una columna de un control Grid.
Sintaxis: DELETE COLUMN [ INDEX ] <nColIndex> ] FROM <ControlName> OF <ParentWindowName>
Sintaxis: DISPLAY HELP MAIN | CONTEXT <nTopic> | POPUP <nTopic>
-DO EVENTS Forza al sistema a procesar los eventos pendientes. Cuando un programa entra a un ciclo que no permite que se procesen adecuadamente los mensajes del sistema, debe usarse este comando.
Sintaxis: DO EVENTS
Pgina: 23 Harbour MiniGUI Roberto GUA DE REFERENCIA Ejemplo: Vea los ejemplos de ProgressBar (Progressbar2 y Progressbar3), en la funcin IndexMeter() se utiliza. -DO REPORT Crea un reporte basado en los parmetros dados.
-DO REPORT FORM Ejecuta un reporte de un archivo de definicin de informe.
Sintaxis: DO REPORT FORM <creportFormName[.rpt]>
-DRAW GARPH / ERASE
Sintaxis: DRAW GARPH IN WINDOW <WindowName> AT <nRow>,<nCol> TO <nRow>,<nCol> TITLE <cTitle> TYPE [ BARS | LINES | POINTS ] SERIES <aSeries> YVALUES <aYValues> DEPTH <nDepth> BARWIDTH <nBarWidth> HVALUES <nHorizaontalValues> Pgina: 24 Harbour MiniGUI Roberto GUA DE REFERENCIA SERIENAMES <aSeriesNames> COLORS <anColors> [ 3DVIEW ] [ SHOWGRID ] [ SHOWXVALUES ] [ SHOWYVALUES ] [ SHOWLEGENDS ]
DRAW GRAPH IN WINDOW <window> AT <nT>,<nL> TO <nB>,<nR> TITLE <cTitle> TYPE PIE SERIES <aSer> DEPTH <nD> SERIENAMES <aName> COLORS <aColor> [ 3DVIEW ] [ SHOWXVALUES ] [ SHOWLEGENDS ]
DRAW LINE IN WINDOW <WindowName> AT <nRow>,<nCol> TO <nRow>,<nCol> [PENCOLOR <anPenColor>] [PENWIDTH <nPenWidth>]
DRAW RECTANGLE IN WINDOW <WindowName> AT <nRow>,<nCol> TO <nRow>,<nCol> [PENCOLOR <anPenColor>] [PENWIDTH <nPenWidth>] [FILLCOLOR <anFillColor>]
DRAW ROUNDRECTANGLE IN WINDOW <WindownNme> AT <nRow>,<nCol> TO <nRow>,<nCol> ROUNDWIDTH <nWidth> ROUNDHEIGHT <nHeight> [PENCOLOR <anPenColor>] [PENWIDTH <nPenWidth>] [FILLCOLOR <anFillColor>]
DRAW ELLIPSE IN WINDOW <WindowName> AT <nRow>,<nCol> TO <nRow>,<nCol> [PENCOLOR <anPenColor>] [PENWIDTH <nPenWidth>] [FILLCOLOR <anFillColor>]
DRAW ARC IN WINDOW <WindowName> AT <nRow>,<nCol> TO <nRow>,<nCol> FROM RADIAL <nRow>,<nCol> TO RADIAL <nRow>,<nCol> [PENCOLOR <anPenColor>] [PENWIDTH <anFillColor>]
DRAW PIE IN WINDOW <windowname> AT <nRow>,<nCol> TO <nRow>,<nCol> FROM RADIAL <nRow>, <nCol> TO RADIAL <nRow>, <nCol> [PENCOLOR <anPenColor>] [PENWIDTH <nPenWidth>] [FILLCOLOR <anFillColor>] Pgina: 25 Harbour MiniGUI Roberto GUA DE REFERENCIA
Descripcin: <Virtual> Esta opcin permite cargar celdas sobre demanda, mediante el evento OnQueryData. Por ejemplo:
Procedure QueryTest() This.QueryData:= STR(This.QueryRowIndex)+, + STR(This.QueryColIndex) RETURN Ejemplos: Los ejemplos \minigui\samples\basic\grid_2 a grid_6 muestran como trabajar con grids virtuales
Propiedades: AllowEdit (D) BackColor Break (D) Col Pgina: 31 Harbour MiniGUI Roberto GUA DE REFERENCIA Enabled FontBold FontColor FontItalic FontName FontSize FontStrikeout FontUnderline Header (nColumnNumber) Height HelpId (D) Image (D) Item ( nItemIndex ) Esta propiedad devuelve un array de caracteres que contiene tantos elementos como columnas tenga el Grid, para la fila que haya indicado como argumento. ItemCount Justify (D) MultiSelect (D) Name (R) NoLines (D) Parent (D) Row ToolTip Value Virtual (D) Visible Width Widths (D)
D: Disponible solo en la definicin del control R: Slo de Lectura
Propiedades disponible para el procedimiento OnQueryData This.QueryColIndex Indica la columna de la celda que requiere que su contenido sea actualizado This.QueryData Es el contenido de la Celda This.QueryRowIndex Indica la fila de la celda que requiere que su contenido sea actualizado
Propiedades disponibles para el procedimiento OnDblClick This.CellCol This.CellColIndex This.CellHeight Pgina: 32 Harbour MiniGUI Roberto GUA DE REFERENCIA This.CellRow This.CellRowIndex This.CellWidth
Nota: Estas propiedades no estn disponibles cuando el procedimiento OnDblClick se dispara por presionar la tecla < Enter >.
Comentarios: Si se utiliza MULTISELECT la clusula VALUE deber ser un array numrico, conteniendo la posicin ndice de los items seleccionados.
Si la clusula EDIT es utilizada, un doble clic en el item, puede abrir una ventana de edicin que permite cambiar el contenido del item.
Las clusulas EDIT y MULTISELECT no pueden utilizarse simultneamente
La columna de la izquierda en un control Grid debe alinearse hacia la izquierda.
Cuando utilice la definicin de control, la propiedad Header debe cargarse con una array de caracteres que contenga tantos elementos como columnas de control.
Cuando se usan los mtodos AddColumn / DeleteColumn, todos los tems del grid (en cualquiera) se pueden perder
Pgina: 33 Harbour MiniGUI Roberto GUA DE REFERENCIA -HIDE CONTROL Oculta un objeto Gui.
Sintaxis: HIDE CONTROL <ControlName> OF <WindowName>
Comentarios: Si la clusula MULTISELECT es utilizada, VALUE debe ser un array numrico, conteniendo la posicin ndice de los tems seleccionados.
Cuando se utilice en definicin de control, la propiedad ITEM debe ser un array de caracteres. . -LOAD WINDOW Carga una definicin de ventana desde un archivo de definicin de ventana MiniGUI
Sintaxis: LOAD WINDOW <WindowDefinitionFileName> [ AS <WindowName> ]
Comentarios: Si usted omite la clusula AS, el nombre de archivo de definicin de ventana (sin la extensin) es asumido como el nombre de la ventana.
Un archivo de definicin de ventana MiniGUI (archivo .fmg) es un archivo de texto que contiene una definicin de ventana, usando el cdigo estndar Minigui, excepto el nombre de la ventana en el comando DEFINE WINDOW (usted debe usar la palabra TEMPLATE).
Ejemplo: Se supone que nosotros queremos crear dos instancias (llamadas Form_1 y Form_2) desde una definicin de ventana guardada en un archivo llamado' BaseForm.fmg
* Begin BaseForm.fmg
DEFINE WINDOW TEMPLATE; AT 93,80 ; Pgina: 40 Harbour MiniGUI Roberto GUA DE REFERENCIA WIDTH 550 ; HEIGHT 350 ; TITLE ''
LOAD WINDOW BaseForm AS Form_1 LOAD WINDOW BaseForm AS Form_2
ACTIVATE WINDOW Form_1, Form_2
El archivo '.fmg' es compatible HMG IDE (distribuido con MiniGUI) y MiniGUI IDE+ de Ciro vargas Clemow's Para mas informacin vea el ejemplo localizado en \BASIC\MULTI-INSTANCE
-MAIN MENU Crea una definicin de men principal.
Sintaxis: DEFINE MAIN MENU [ OF<ParentWindowName> ]
DEFINE PLAYER <ControlName> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END PLAYER
Comandos relacionados: CLOSE PLAYER <name> OF <Parent> Pgina: 47 Harbour MiniGUI Roberto GUA DE REFERENCIA DESTROY PLAYER <name> OF <Parent> EJECT PLAYER <name> OF <Parent> OPEN PLAYER <name> OF <Parent> DIALOG OPEN PLAYER <name> OF <Parent> FILE <file> PAUSE PLAYER <name> OF <Parent> PLAY PLAYER <name> OF <parent> PLAY PLAYER <name> OF <Parent> REVERSE RESUME PLAYER <name> OF <Parent> SET PLAYER <name> OF <Parent> POSITION END SET PLAYER <name> OF <Parent> POSITION HOME SET PLAYER <name> OF <Parent> REPEAT OFF SET PLAYER <name> OF <Parent> REPEAT ON SET PLAYER <name> OF <Parent> SPEED <speed> SET PLAYER <name> OF <Parent> VOLUME <volume> SET PLAYER <name> OF <Parent> ZOOM <zoom> STOP PLAYER <name> OF <Parent>
DEFINE PROGRESSBAR <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END PROGRESSBAR
Descripcin: @ <nRow> , <nCol> Posicin dentro de la ventana en coordenadas de pxeles.
PROGRESSBAR <ControlName> Nombre asignado al control Progressbar. Pgina: 49 Harbour MiniGUI Roberto GUA DE REFERENCIA
[ OF | PARENT <ParentWindowName> ] Referencia a la ventana Padre.
RANGE <nRangeMin> <nRangeMax> Rango Mnimo y Mximo que puede tomar el control Progressbar, ambos debern estar en el rango de 0 a 65,535. El valor del Rango Mximo debe corresponder al total de eventos que se desea representar. Valores fuera de este rango (negativos o mayores al permitido) provocarn el funcionamiento inadecuado del control.
[ WIDTH <nWidth> ] [ HEIGHT <nHeight> ] El tamao deseado (Ancho y Alto) del control Progressbar en pxeles.
[ TOOLTIP <cToolTipText> ] Texto que se mostrar cuando el cursor se posicione sobre el control.
[ VERTICAL ] Permite crear un Progressbar vertical.
[ SMOOTH ] Permite al control dar la apariencia de barra lisa.
[ HELPID <nHelpId> ] Es el ID (enlace) con el archivo de ayuda creado para la aplicacin.
[ BACKCOLOR <aBackColor> ] [ FORECOLOR <aForeColor> ] Color del fondo de la barra y el color de la barra, que se expresa en forma de array de 3 elementos numricos (en el rango de 0 a 255) que corresponde al espectro RGB (Rojo-Verde-Azul), tambin se utilizar en su lugar las constantes de color. Para mayor referencia consulte las propiedades BackColor y ForeColor.
Propiedades: BackColor Col Enabled ForeColor HelpId (D) Name (R) Parent (D) RangeMax RangeMin Row Smooth (D) Value Pgina: 50 Harbour MiniGUI Roberto GUA DE REFERENCIA Vertical (D) Visible Width
D: Disponible solo en la definicin del control R: Slo de Lectura
Mtodos Hide Release Show
Comentarios: Las opciones [SMOOTH] , [BACKCOLOR <aBackColor>] y [FORECOLOR <aForeColor>], no tienen efecto cuando se usa el estilo XP.
Ejemplos: /* Programa: Progressbar1.Prg Objetivo: Demo de Progressbar */
#include "minigui.ch"
FUNCTION Main DEFINE WINDOW Vent_1 ; AT 0,0 ; WIDTH 310 HEIGHT 350 ; TITLE "Demo de Progressbar" ; MAIN
@ 020,050 PROGRESSBAR Barra_1 OF Vent_1; RANGE 000, 100; WIDTH 200 HEIGHT 030; VALUE 0; TOOLTIP 'Muestra el desarrollo de Indexado'; BACKCOLOR YELLOW FORECOLOR {0,0,255}; SMOOTH
@ 190,050 PROGRESSBAR Barra_2 OF Vent_1; RANGE 000, 100; WIDTH 200 HEIGHT 030; VALUE 100; TOOLTIP 'Muestra el desarrollo de Indexado'; BACKCOLOR {0,0,255} FORECOLOR YELLOW
@ 020,010 PROGRESSBAR Barra_3 OF Vent_1; RANGE 000, 100; WIDTH 030 HEIGHT 200; VALUE 0; TOOLTIP 'Muestra el desarrollo de Indexado'; BACKCOLOR RED FORECOLOR GREEN; SMOOTH; VERTICAL
@ 020,260 PROGRESSBAR Barra_4 OF Vent_1; RANGE 000, 100; Pgina: 51 Harbour MiniGUI Roberto GUA DE REFERENCIA WIDTH 030 HEIGHT 200; VALUE 100; TOOLTIP 'Muestra el desarrollo de Indexado'; BACKCOLOR {0,255,0} FORECOLOR {255,0,0}; VERTICAL
@ 240,050 PROGRESSBAR Barra_5 OF Vent_1; RANGE 000, 255; WIDTH 200 HEIGHT 030; VALUE 0; TOOLTIP 'Muestra el desarrollo de Indexado'; BACKCOLOR WHITE FORECOLOR {255,255,255}; SMOOTH
@ 280,050 PROGRESSBAR Barra_6 OF Vent_1; RANGE 000, 255; WIDTH 200 HEIGHT 030; VALUE 255; TOOLTIP 'Muestra el desarrollo de Indexado'; BACKCOLOR {0,0,0} FORECOLOR BLACK
@ 100,060 LABEL LABEL_1 OF Vent_1; VALUE 'Porcentaje Realizado'; AUTOSIZE; FONT "Courier new" SIZE 10
@ 120,120 LABEL LABEL_2 OF Vent_1; VALUE ' 0 %'; AUTOSIZE; FONT "Courier new" SIZE 10
CENTER WINDOW Vent_1 ACTIVATE WINDOW Vent_1 RETURN
FUNCTION Test() LOCAL k:=100
DO WHILE k>-1 Vent_1.Barra_1.Value := 100-k Vent_1.Barra_2.Value := k Vent_1.Barra_3.Value := 100-k Vent_1.Barra_4.Value := k Vent_1.LABEL_2.Value := STR(k,3,0) + '%' MM:=INKEY(.1) k:= k-1 ENDDO
FOR K=0 TO 255 Vent_1.Barra_5.BackColor := {255-k,255-k,255-k} Vent_1.Barra_5.ForeColor := {0,0,k} Vent_1.Barra_5.Value := k Vent_1.Barra_6.BackColor := {k,k,k} Vent_1.Barra_6.ForeColor := {0,255-k,0} Vent_1.Barra_6.Value := 255-k MM:=INKEY(.1) Pgina: 52 Harbour MiniGUI Roberto GUA DE REFERENCIA NEXT k RETURN Nil
/* Programa: Progressbar2.Prg Objetivo: Demo del Control Progressbar al reindexar archivos DBF utilizando indice NTX. Este Demo utiliza el archivo INVENTA.DBF que tiene los campos CODIGO y DESCRIP de tipo Character */
#include "minigui.ch"
FUNCTION Main DEFINE WINDOW Vent_1 ; AT 0,0 ; WIDTH 600 HEIGHT 300 ; TITLE "Indexando..." ; BACKCOLOR{212,208,251}; MAIN
@ 020,010 PROGRESSBAR Barra_1 OF Vent_1; RANGE 000, 100; WIDTH 570 HEIGHT 030; TOOLTIP 'Muestra el desarrollo de Indexado'; BACKCOLOR YELLOW FORECOLOR {0,0,255}; SMOOTH
@ 080,100 LABEL LABEL_1 OF Vent_1; VALUE ''; AUTOSIZE; FONT "Courier new" SIZE 10; BACKCOLOR {212,208,251}
@ 120,100 LABEL LABEL_2 OF Vent_1; VALUE ''; AUTOSIZE; FONT "Courier new" SIZE 10; BACKCOLOR {212,208,251}
// Primer Indexado nRegistro:=0 Vent_1.LABEL_2.Value:= 'Base:'+ ALIAS() + " Total de Registros: " + STR(LastRec(),9,0) Pgina: 53 Harbour MiniGUI Roberto GUA DE REFERENCIA INDEX ON CODIGO TO Indice1 EVAL {|| IndexMeter() } every EVAL(IndexBlock)
// Segundo Indexado nRegistro:=0 Vent_1.LABEL_2.Value:= 'Base:'+ ALIAS() + " Total de Registros: " + STR(LastRec(),9,0) INDEX ON DESCRIP TO Indice2 EVAL {|| IndexMeter() } every EVAL(IndexBlock)
RELEASE nRegistro CLOSE INDEX CLOSE DATA RETURN Nil
FUNCTION IndexMeter() DO EVENTS nRegistro:= nRegistro + EVAL(IndexBlock) Vent_1.Barra_1.Value := (nRegistro/LastRec()) * 100 Vent_1.LABEL_1.Value := 'Procesando Registro: ' + STR(nRegistro,9,0) * La siguiente orden genera una pausa para que * se vea el efecto con bases pequeas MM:=Inkey(.2) RETURN (.T.)
/* Programa: Progressbar3.Prg Objetivo: Demo del Control Progressbar al reindexar archivos DBF utilizando indice CDX. Este Demo utiliza el archivo BASE2.DBF que tiene los campos CODIGO y DESCRIP de tipo Character */
#include "minigui.ch"
FUNCTION Main() REQUEST DBFCDX, DBFFPT RDDSETDEFAULT("DBFCDX") REQUEST HB_LANG_ES HB_LANGSELECT("ES")
DEFINE WINDOW Vent_1 ; AT 0,0 ; WIDTH 600 HEIGHT 300 ; TITLE "Indexando..." ; BACKCOLOR{212,208,251}; MAIN
DEFINE PROGRESSBAR Barra_1 ROW 20 COL 10 RANGEMIN 0 RANGEMAX 100 WIDTH 570 HEIGHT 30 TOOLTIP 'Muestra el desarrollo del Indexado' BACKCOLOR YELLOW FORECOLOR {0,0,255} SMOOTH .T. END PROGRESSBAR
@ 080,100 LABEL LABEL_1 OF Vent_1; VALUE ''; Pgina: 54 Harbour MiniGUI Roberto GUA DE REFERENCIA AUTOSIZE; FONT "Courier new" SIZE 10; BACKCOLOR {212,208,251}
@ 120,100 LABEL LABEL_2 OF Vent_1; VALUE ''; AUTOSIZE; FONT "Courier new" SIZE 10; BACKCOLOR {212,208,251}
nRegistro:=0 Vent_1.LABEL_2.Value:= 'Base:'+ ALIAS() + " Total de Registros: " + STR(LastRec(),9,0) INDEX ON CODINV TAG CODIGO EVAL {|| IndexMeter() } every EVAL(IndexBlock)
nRegistro:=0 Vent_1.LABEL_2.Value:= 'Base:'+ ALIAS() + " Total de Registros: " + STR(LastRec(),9,0) INDEX ON DESINV TAG DESCRI EVAL {|| IndexMeter() } every EVAL(IndexBlock)
RELEASE nRegistro CLOSE INDEX CLOSE DATA RETURN Nil
FUNCTION IndexMeter() DO EVENTS nRegistro:= nRegistro + EVAL(IndexBlock) Vent_1.Barra_1.Value := (nRegistro/LastRec()) * 100 Vent_1.LABEL_1.Value := 'Procesando Registro: ' + STR(nRegistro,9,0) * La siguiente orden genera una pausa para que * se vea el efecto con bases pequeas MM:=Inkey(.2) RETURN (.T.)
Pgina: 55 Harbour MiniGUI Roberto GUA DE REFERENCIA
Propiedades: BackColor Caption (nItemNumber) Col Enabled FontBold FontColor FontItalic FontName FontSize FontStrikeout FontUnderline HelpId (D) Name (R) Parent (D) Row Spacing (D) ToolTip Value Visible Width Pgina: 56 Harbour MiniGUI Roberto GUA DE REFERENCIA
D: Disponible solo en la definicin del control R: Slo de Lectura
Eventos: OnChange
Mtodos: Hide Release SetFocus Show
-REGISTRY HANDLING
Sintaxis: OPEN REGISTRY <RegistryHandler> KEY <hKey> SECTION <cKey>
GET VALUE <uVar> [NAME <cKey> ] [ OF | REGISTRY> <Registryhandler> ]
SET VALUE <cKey> [ OF | REGISTRY> <RegistryHandler> ] [ TO <uVal> ]
DELETE VALUE <cKey> [ OF | REGISTRY> <oReg>]
CLOSE REGISTRY <RegistryHandler>
-RELEASE CONTROL Elimina un objeto Gui de la memoria.
Sintaxis: RELEASE CONTROL <ControlName> OF <WindowName>
<WindowName>. <ControlName>. Release
-RELEASE KEY Elimina una definicin de teclado definida va comando ON KEY.
Sintaxis: RELEASE KEY <Key> OF <WindowName> Pgina: 57 Harbour MiniGUI Roberto GUA DE REFERENCIA
Refirase al comando ON KEY para ver una lista de teclas disponibles.
-RELEASE WINDOW Elimina una ventana (o todas las ventanas) de la memoria.
Sintaxis: RELEASE WINDOW <WindowName> | [ ALL | MAIN ]
<WindowName>. Release
Comentarios: Si la clusula ALL / MAIN es utilizada (o la ventana principal es especificada) todas las ventanas activas son eliminadas y el programa se termina.
Estos comandos son contribucin de Grigory Filatov < gfilatov@freemail.ru >
-SET BROWSESYNC Cuando se pone en ON, el control BROWSE mover el indicador de registro en su Workarea segn la seleccin del usuario o la propiedad value establecida en programacin.
Sintaxis: SET BROWSESYNC ON | OFF
-SET COMMPATH Establece la ruta comn para la Inter Comunicacin de aplicaciones.
Sintaxis: SET COMMPATH TO <cCommonPathName>
Pgina: 60 Harbour MiniGUI Roberto GUA DE REFERENCIA -SETFOCUS Da el enfoque a un control.
Sintaxis: SETFOCUS <ControlName> OF <ParentWindowName>
<ParentWindowName>.<ControlName>. SetFocus
-SET FONT Establece la fuente predefinida para la definicin de control.
Sintaxis: SET FONT TO <cFontName> , <nFontSize>
-SET HELPFILE Establece el archivo de ayuda predefinido para una aplicacin MiniGUI.
Sintaxis: SET HELPFILE TO <cHelpFileName>
-SET INTERACTIVECLOSE
Sintaxis: SET INTERACTIVECLOSE ON | OFF | QUERY [MAIN]
Comentarios: Cuando pone en OFF las ventanas no puede cerrarse con ALT+F4 o haciendo clic en [X]. Cuando se pone para QUERY, el usuario se pide la confirmacin. Utilizando la clusula MAIN, el usuario slo se le pedir el cierre de la ventana del programa principal.
-SET LANGUAGE Permite mostrar la interfaz de usuario de los siguientes comandos y funciones en distintos lenguajes:
EDIT BROWSE InputBox() InputWindow()
Sintaxis: Pgina: 61 Harbour MiniGUI Roberto GUA DE REFERENCIA SET LANGUAGE TO SPANISH | ENGLISH | FRENCH | PORTUGUESE | GERMAN | RUSSIAN | ITALIAN | FINNISH | CROATIAN | BASQUE | POLISH | DUTCH | SLOVENIAN
-SET MULTIPLE Impide el intento para ejecutar mltiples instancias del programa
Sintaxis: SET MULTIPLE ON | OFF [ WARNING ]
-SET NAVIGATION EXTENDED Cuando pone a EXTENDED, al presionar la tecla ENTER cuando el enfoque est en un TEXTBOX, COMBOBOX o DATEPICKER, acta como la tecla TAB.
Sintaxis: SET NAVIGATION EXTENDED | STANDARD
-SET REGION Establece la forma de una ventana basada en los puntos de coordenadas dados.
Sintaxis: SET REGION OF <WindowName> RECTANGULAR <nRow>,<nCol>,<nWidth>,<nHeight>
SET REGION OF <WindowName> ELLIPTIC <nRow>,<nCol>,<nWidth>,<nHeight>
SET REGION OF <WindowName> POLYGONAL <aPoints> [ ALTERNATE | WINDING ]
SET REGION OF <WindowName> RESET
-SET STATIONNAME Establece el nombre de la estacin para la comunicacin de inter-aplicacin.
Sintaxis: SET STATIONNAME TO <cStationname>
-SHOW CONTROL Muestra un objeto Gui.
Sintaxis: SHOW CONTROL <ControlName> OF <WIndowName> Pgina: 62 Harbour MiniGUI Roberto GUA DE REFERENCIA
<WIndowName>. [<ControlName>] . Show
-SHOW WINDOW Muestra una ventana.
Sintaxis: SHOW WINDOW <WIndowName>
-SLIDER Crea un control Slider
Sintaxis: @ <nRow> ,<nCol> SLIDER <ControlName> [ OF | PARENT <ParentWindowName> ] RANGE <nRangeMin> , <nRangeMax> [ VALUE <nValue> ] [ WIDTH <nWidth> ] [ HEIGHT <nHeight> ] [ TOOLTIP <cToolTipText> ] [ ON CHANGE <OnChangeProcedure> | <bBlock> ] [ VERTICAL ] [ NOTICKS ] [ BOTH ] [ TOP ] [ LEFT ] [ HELPID <nHelpId> ] [ INVISIBLE ] [ NOTABSTOP ]
Propiedades: Both (D) Col Enabled Height HelpId (D) Left (D) Name (R) NoTicks (D) Parent (D) RangeMax RangeMin Row ToolTip Pgina: 63 Harbour MiniGUI Roberto GUA DE REFERENCIA Top (D) Value Vertical (D) Visible Width
D: Disponible solo en la definicin del control R: Slo de Lectura
Eventos: OnChange
Mtodos: Hide Release SetFocus Show
Comentarios: El valor mnimo puede estar en el rango de 0 a 65,535. Igualmente, el valor mximo puede estar desde 0 a 65,535
D: Disponible solo en la definicin del control R: Slo de Lectura
Eventos: OnChange OnGotFocus OnLostFocus
Mtodos: Hide Release SetFocus Show
Comentarios: El valor mnimo puede estar en el rango de 0 a 65,535. Igualmente, el valor mximo puede estar desde 0 a 65,535
Pgina: 65 Harbour MiniGUI Roberto GUA DE REFERENCIA -SPLITBOX Crea un control Splitbox.
Sintaxis: DEFINE SPLITBOX [ OF<ParentWindowName> ] [ BOTTOM ] [ HORIZONTAL ] ... Control / Window Definitions... END SPLITBOX
Propiedades: Bottom (D) Horizontal (D) Parent (D)
D: Disponible solamente en la definicin del control
Comentarios: Los Controles / Ventanas definidos como parte de este puede colocarse por los usuarios, usando un gripperbar localizado al lado izquierdo de este control. Slo puede usarse con listbox, grid, editbox, tree, browse, combobox y ventanas SplitChild. Usted debe omitir' @ <row>,<col >' en la definicin de control.
Nota: Pgina: 66 Harbour MiniGUI Roberto GUA DE REFERENCIA El tooltip solo se mostrar para una parte, si la parte tiene un icono y ningn texto o si todo el texto no puede mostrarse dentro de esa parte
-STORE KEY Asigna un bloque de cdigo definido va comando ON KEY a una variable:
Sintaxis: STORE KEY <Key> OF <WindowName> TO <bVar>
Caracteres InputMask (Textbox numrico): 9 Muestra dgitos $ Muestra el signo dlar en lugar de un espacio inicial. * Muestra un asterisco en lugar de un espacio inicial. . Especifica la posicin del punto decimal. , Especifica la posicin de una coma.
Caracteres InputMask (Textbox No numrico): 9 Muestra dgitos A Muestra caracteres alfabticos. Muestra caracteres alfabticos (Conversin a Maysculas) Todos los otros caracteres son incluidos en el texto en la posicin indicada por la mscara.
Caracteres de Formato (solamente en textbox numrico): C Muestra CR despus de un nmero positivo X Muestra DB despus de un nmero negativo ( Encierra los nmeros negativos en parntesis E Muestra los nmeros en formato britnico
Propiedades: BackColor CaretPos Col Date (D) Enabled Field (D) FontBold FontColor FontItalic FontName FontSize FontStrikeout FontUnderline Format (D) Height HelpId (D) InputMask (D) LowerCase (D) Pgina: 69 Harbour MiniGUI Roberto GUA DE REFERENCIA MaxLength (D) Name (R) Numeric (D) Parent (D) ReadOnly RightAlign (D) Row TabStop (D) ToolTip UpperCase (D) Value Visible Width
D: Disponible solo en la definicin del control. R: Solo lectura
Eventos: OnChange OnEnter OnGotFocus OnLostFocus
Mtodos: Hide Refresh Release Save SetFocus Show
Nota: Las clusulas Inputmask y Maxlength no puede usarse simultneamente.
-THIS Referencia al Objeto. Proporciona una referencia al actual Control / Ventana en el cdigo de evento.
Sintaxis: This.<Property/MethodName>
Pgina: 70 Harbour MiniGUI Roberto GUA DE REFERENCIA -THISWINDOW Referencia al Objeto. Proporciona una referencia al actual Control / Ventana en el cdigo de evento.
Nota: Cuando la clusula de ITEMIDS es especificada, usted puede asignar un ID numrico (identificador) para cada item/nodo. As, todas las propiedades del rbol y mtodos trabajarn usando estos IDs en lugar de la posicin del tem.
Propiedades: Col Cursor (R) FocusedControl Height Name (R) NotifyIcon Pgina: 76 Harbour MiniGUI Roberto GUA DE REFERENCIA NotifyTooltip Row Title Width
R: Slo de Lectura
Mtodos: Activate Center Hide Maximize Minimize Release Restore SetFocus Show
Nota: Las ventanas SplitChild solo pueden definirse como parte de un splitbox,
Los Toolbar y los SplitBox de una venta padre no pueden ser ventanas de Dimensin Virtual (utilice splitchild's en lugar de 'Dimensin Virtual')
Las ventanas con estilo NOAUTORELEASE, solo pueden usarse con la activacin de ventanas mltiples (ACTIVATE WINDOW <WindowList,...>) o con el comando ACTIVATE WINDOW ALL. Pgina: 77 Harbour MiniGUI Roberto GUA DE REFERENCIA
FUNCIONES
-CreateFolder() Crea una Carpeta basada en el parmetro dado.
Comentarios: Si la opcin <lMultiSelect> se utiliza, devuelve un array de caracteres conteniendo los nombres de archivo seleccionados (El mximo numero de archivos seleccionados devueltos es de 63).
-GetFolder() Abre una ventana de un browse de carpeta y devuelve la ruta de la carpeta seleccionada
Pgina: 79 Harbour MiniGUI Roberto GUA DE REFERENCIA -GetFont() Abre un dilogo de seleccin de fuente y devuelve el nombre de la fuente, tamao y estilo seleccionado.
aFont [1] : Font Name (Character) aFont [2] : Font Size (Numeric) aFont [3] : Font Bold (Logical) aFont [4] : Font Italic (Logical) aFont [5] : Font Color (array de tres elementos numricos) aFont [6] : Font Underline (Logical) aFont [7] : Font StrikeOut (Logical) aFont [8] : Font Charset (Numeric)
Si cancela la seleccin, el array devuelto contiene los valores siguientes:
<cWindowName> Nombre de la ventana que contiene el control.
<cControlName> Nombre del control, del cual se desea conocer alguna propiedad.
<cPropertyName> Nombre de la propiedad que se desea conocer.
Ejemplo: En esta fraccin de programa, almacenaremos en la variable cCliente el valor de la propiedad Value que contiene un control Label llamado cNombreCliente, perteneciente a la Ventana llamada VentPresenta:
cCliente := GetProperty( VentPresenta, cNombreCliente, Value )
Pgina: 81 Harbour MiniGUI Roberto GUA DE REFERENCIA -GetSystemFolder() Devuelve la ruta de la carpeta System.
Descripcin de argumentos de InputWindow() Argumento Descripcin <Title> Titulo de la Ventana <acLabels> Array de caracteres que contiene las etiquetas con la descripcin de los tems. <aInitialValues> Array que contiene los valores iniciales para editar. <aFormats> Array que contiene informacin de los formatos para editar.
Controles Creados Automticamente en InputWindow() Tipo de Valor Inicial Tipo de Formato Control Creado Pgina: 82 Harbour MiniGUI Roberto GUA DE REFERENCIA Carcter Numeric (< 32) TEXTBOX Carcter Numeric (>= 32) EDITBOX Logical Nil CHECKBOX Numeric Character Array COMBOBOX Numeric Character (InputMask) TEXTBOX(NUMERIC) Date Nil DATEPICKER
-IsCapsLockActive() Devuelve un valor lgico indicando el estado de la tecla CAPS LOCK.
Sintaxis: IsCapsLockActive() --> lBoolean
-IsControlDefined() Determina si un control est definido.
-MemoryStatus() Determina la cantidad de memoria libre disponible
Sintaxis: MemoryStatus ( [<nExpr>] )--> nMBytes
Valores de los argumentos de MemoryStatus() Valor Argumento 1 Memoria Total 2 Memoria Disponible 3 Total de pgina de memoria 4 Total de pgina de memoria 6 Memoria virtual disponible
-MiniGuiVersion() Devuelve una cadena de caracteres indicando la versin de MiniGui.
Sintaxis: MiniGuiVersion() --> cVersion
-MsgBox() Muestra una ventana de mensaje.
Sintaxis: MsgBox (<cMessage>,<cTitle>) --> Nil
Pgina: 84 Harbour MiniGUI Roberto GUA DE REFERENCIA -MsgExclamation() Muestra una ventana de mensaje con un icono de exclamacin.
<cWindowName> Nombre de la ventana que contiene el control.
<cControlName> Nombre del Control al que se le quiere establecer un valor de una propiedad.
<cPropertyName> Nombre de la propiedad a la que se le quiere establecer un valor. Pgina: 87 Harbour MiniGUI Roberto GUA DE REFERENCIA
<PropertyValue> Valor que se le establece a la propiedad del control.
Ejemplo: En esta fraccin de programa, cambiaremos la propiedad Value de un control Label llamado cNombreCliente por el dato que se tiene en un registro, perteneciente a la Ventana llamada VentPresenta:
-ShellAbout() Muestra la ventana Acerca de del sistema.
Sintaxis: ShellAbout ( )--> Nil
-WindowsVersion() Devuelve un array de tres elementos con el nombre del sistema operativo usado, el service pack y el nmero de distribucin.
Sintaxis: WIndowsVersion()--> aWIndowsVersionInfo
Pgina: 88 Harbour MiniGUI Roberto GUA DE REFERENCIA
PROPIEDADES
Address
AllowAppend (D)
AllowDelete (D)
AllowEdit (D)
AutoPlay (D)
AutoSize Pgina: 89 Harbour MiniGUI Roberto GUA DE REFERENCIA
BackColor La propiedad BACKCOLOR determina el color del fondo de un control MiniGUI, sta debe proporcionarse mediante:
Un array numrico de tres componentes, cada componente deber de estar en el rango de 0 a 255, que corresponde al espectro RGB Rojo-Verde-Azul, Variando la cantidad de estos 3 valores se obtiene toda la gama de colores. Por Ejemplo: BackColor {0,0,0} se tiene el color Negro BackColor {255,255,255} se tiene el color Blanco BackColor {255,0,0} se tiene el color Rojo BackColor {0,255,0} se tiene el color Verde BackColor {0,0,255} se tiene el color Azul
La utilizacin de las constantes de color. YELLOW, PINK, RED, FUCHSIA, BROWN, ORANGE, GREEN, PURPLE, BLACK, WHITE, GRAY, BLUE
DEFINE WINDOW Nombre_Ventana ; AT 0,0 ; WIDTH 400 HEIGHT 300 ; TITLE "Demo de la propiedad Col" ; MAIN ; FONT "Arial" SIZE 10
@ 010,020 <Control MiniGUI> Nombre_Control
END WINDOW
// Se asigna al control MiniGUI la propiedad Col a 10
Nombre_Ventana.Nombre_Control.Col := 10
ACTIVATE WINDOW Nombre_Ventana
Return Nil
Pgina: 92 Harbour MiniGUI Roberto GUA DE REFERENCIA
Cursor (R)
Date (D)
DisplayEdit (D)
DisplayValue
-Enabled Establece / Captura el estado habilitado de un control. Habilita un control deshabilitado anteriormente. Cuando un control se habilita puede seleccionarse utilizando el ratn y los eventos del teclado se envan a l.
FontColor La propiedad FONTCOLOR debe proporcionarse con un array numrico de tres componentes, cada componente debera de estar en el rango de 0 a 255, que corresponde al espectro RGB Rojo-Verde-Azul, Variando la cantidad de estos 3 colores se obtiene toda la gama de colores.
FontColor {0,0,0} se tiene el color Negro FontColor {255,255,255} se tiene el color Blanco FontColor {255,0,0} se tiene el color Rojo FontColor {0,255,0} se tiene el color Verde FontColor {0,0,255} se tiene el color Azul
Se puede utilizar las constantes de color en lugar del array
Ejemplo: @ 010, 010 LABEL Label_1 VALUE "Primer Texto" ; WIDTH 220 HEIGHT 17 ; FONT "ARIAL" BOLD SIZE 10 ; BACKCOLOR {255,0,0} ; // Background color Rojo FONTCOLOR {0,0,255} // Font color Azul Pgina: 94 Harbour MiniGUI Roberto GUA DE REFERENCIA
@ 040, 010 LABEL Label_ VALUE "Segundo Texto" ; WIDTH 220 HEIGHT 17 ; FONT "ARIAL" BOLD SIZE 10 ; BACKCOLOR RED ; // Background color Rojo FONTCOLOR BLUE // Font color Azul
-FontItalic Establece / Captura la fuente Cursiva de un objeto Gui.
ForeColor La propiedad FORECOLOR determina el color de un control MiniGUI, sta debe proporcionarse mediante:
Un array numrico de tres componentes, cada componente deber de estar en el rango de 0 a 255, que corresponde al espectro RGB Rojo-Verde-Azul, Variando la cantidad de estos 3 valores se obtiene toda la gama de colores. Por Ejemplo: BackColor {0,0,0} se tiene el color Negro BackColor {255,255,255} se tiene el color Blanco BackColor {255,0,0} se tiene el color Rojo BackColor {0,255,0} se tiene el color Verde BackColor {0,0,255} se tiene el color Azul
La utilizacin de las constantes de color. YELLOW, PINK, RED, FUCHSIA, BROWN, ORANGE, GREEN, PURPLE, BLACK, WHITE, GRAY, BLUE
Comentarios: <ItemText> es de tipo carcter para los List y Combobox, y array para los Grid (en este caso, el largo del array, es igual a la cantidad de columnas)
Item ( nItemIndex )
Item ( nItemIndex | ItemId )
-Itemcount Captura la cantidad de tems en un Listbox, Combobox o Grid.
-Row Establece / Captura la posicin de fila de un objeto Gui. Origen relativo de coordenadas verticales del control.
Sintaxis: Pgina: 101 Harbour MiniGUI Roberto GUA DE REFERENCIA <ParentWindowName>.<ControlName>.Row := nCol
<ParentWindowName>.<ControlName>.Row --> nCol
Separator (D)
ShowAll (D)
ShowMode (D)
ShowName (D)
ShowNone (D)
ShowPosition (D)
Smooth (D)
Sort (D)
Spacing (D)
Speed
Stretch (D)
TabStop (D)
Pgina: 102 Harbour MiniGUI Roberto GUA DE REFERENCIA -Title Establece / Captura el titulo de una ventana.
Sintaxis: <WindowName>.Title := cTitle
<WindowName>.Title --> cTitle
-ToolTip Establece / Captura el tooltip de texto de un objeto Gui. Muestra una simple lnea del texto que describe el propsito de una herramienta en una aplicacin.
Pgina: 106 Harbour MiniGUI Roberto GUA DE REFERENCIA DeleteItem ( nItemIndex )
DeleteItem ( nItemIndex | nItemId )
DeletePage ( nPageNumber )
Eject
Hide Oculta el control y permite otro control sobre de el.
Maximize
Minimize
Open
OpenDialog
Pause
Play
PlayReverse
Pgina: 107 Harbour MiniGUI Roberto GUA DE REFERENCIA Refresh El mtodo Refresh enva un mensaje a la ventana cliente para que esta deba repintarse.
Release Descarga o elimina el control de la memoria.
Restore
Resume
Save
Seek
SetFocus El mtodo SetFocus transferir el foco del teclado a este control.
SeeK
Show Este mtodo mostrar el control. Despus de esto se vuelve el control actual.
Stop
Pgina: 108 Harbour MiniGUI Roberto GUA DE REFERENCIA EVENTOS
OnChange
OnDblClick
OnDisplayChange
OnEnter
OnGotFocus
OnHeadClick
OnLostFocus
OnQueryData
Pgina: 109 Harbour MiniGUI Roberto GUA DE REFERENCIA CONSTANTES
-COLOR Estas constantes pueden usarse en las clusulas BACKCOLOR y FONTCOLOR.
YELLOW PINK RED FUCHSIA BROWN ORANGE GREEN PURPLE BLACK WHITE GRAY BLUE
Pgina: 110 Harbour MiniGUI Roberto GUA DE REFERENCIA
LIBRERA MINIPRINT MINIPRINT HARBOUR MINIGUI PRINT LIBRARY (c) 2004 Roberto Lopez <roblez@ciudad.com.ar>. All rights reserved. http://www.geocities.com/harbour_minigui FREEWARE
Este software se proporciona "como-es", sin cualquier garanta explicita o implcita. En ningn caso el autor ser responsable de cualquier dao y/o perjuicio que resulte del uso de este software.
Se concede el permiso a cualquiera para utilizar esta biblioteca para cualquier proposito, incluso para aplicaciones comerciales, y para redistribuirlo (sin cambios) con tal de que todas las redistribuciones deben tener todas las ocurrencias de aviso de derechos de propiedad literaria anterior, correo electrnico y direcciones del sitio web que estn actualmente en el lugar.
DMPAPER_FIRST DMPAPER_LETTER DMPAPER_LETTER Letter 8 1/2 x 11 in DMPAPER_LETTERSMALL Letter Small 8 1/2 x 11 in DMPAPER_TABLOID Tabloid 11 x 17 in Pgina: 120 Harbour MiniGUI Roberto GUA DE REFERENCIA DMPAPER_LEDGER Ledger 17 x 11 in DMPAPER_LEGAL Legal 8 1/2 x 14 in DMPAPER_STATEMENT Statement 5 1/2 x 8 1/2 in DMPAPER_EXECUTIVE Executive 7 1/4 x 10 1/2 in DMPAPER_A3 A3 297 x 420 mm ) DMPAPER_A4 A4 210 x 297 mm DMPAPER_A4SMALL A4 Small 210 x 297 mm DMPAPER_A5 A5 148 x 210 mm DMPAPER_B4 B4 (JIS) 250 x 354 DMPAPER_B5 B5 (JIS) 182 x 257 mm DMPAPER_FOLIO Folio 8 1/2 x 13 in DMPAPER_QUARTO Quarto 215 x 275 mm DMPAPER_10X14 10x14 in DMPAPER_11X17 11x17 in DMPAPER_NOTE Note 8 1/2 x 11 in DMPAPER_ENV_9 Envelope #9 3 7/8 x 8 7/8 DMPAPER_ENV_10 Envelope #10 4 1/8 x 9 1/2 DMPAPER_ENV_11 Envelope #11 4 1/2 x 10 3/8 DMPAPER_ENV_12 Envelope #12 4 \276 x 11 DMPAPER_ENV_14 Envelope #14 5 x 11 1/2 DMPAPER_CSHEET C size sheet DMPAPER_DSHEET D size sheet DMPAPER_ESHEET E size sheet DMPAPER_ENV_DL Envelope DL 110 x 220mm DMPAPER_ENV_C5 Envelope C5 162 x 229 mm DMPAPER_ENV_C3 Envelope C3 324 x 458 mm DMPAPER_ENV_C4 Envelope C4 229 x 324 mm DMPAPER_ENV_C6 Envelope C6 114 x 162 mm DMPAPER_ENV_C65 Envelope C65 114 x 229 mm DMPAPER_ENV_B4 Envelope B4 250 x 353 mm DMPAPER_ENV_B5 Envelope B5 176 x 250 mm DMPAPER_ENV_B6 Envelope B6 176 x 125 mm DMPAPER_ENV_ITALY Envelope 110 x 230 mm DMPAPER_ENV_MONARCH Envelope Monarch 3.875 x 7.5 in DMPAPER_ENV_PERSONAL 6 3/4 Envelope 3 5/8 x 6 1/2 in DMPAPER_FANFOLD_US US Std Fanfold 14 7/8 x 11 in DMPAPER_FANFOLD_STD_GERMAN German Std Fanfold 8 1/2 x 12 in DMPAPER_FANFOLD_LGL_GERMAN German Legal Fanfold 8 1/2 x 13 in DMPAPER_ISO_B4 B4 (ISO) 250 x 353 mm DMPAPER_JAPANESE_POSTCARD Japanese Postcard 100 x 148 mm Pgina: 121 Harbour MiniGUI Roberto GUA DE REFERENCIA DMPAPER_9X11 9 x 11 in DMPAPER_10X11 10 x 11 in DMPAPER_15X11 15 x 11 in DMPAPER_ENV_INVITE Envelope Invite 220 x 220 mm DMPAPER_RESERVED_48 RESERVED--DO NOT USE DMPAPER_RESERVED_49 RESERVED--DO NOT USE DMPAPER_LETTER_EXTRA Letter Extra 9 \275 x 12 in DMPAPER_LEGAL_EXTRA Legal Extra 9 \275 x 15 in DMPAPER_TABLOID_EXTRA Tabloid Extra 11.69 x 18 in DMPAPER_A4_EXTRA A4 Extra 9.27 x 12.69 in DMPAPER_LETTER_TRANSVERSE Letter Transverse 8 \275 x 11 in DMPAPER_A4_TRANSVERSE A4 Transverse 210 x 297 mm DMPAPER_LETTER_EXTRA_TRANSVERSE Letter Extra Transverse 9\275 x 12 in DMPAPER_A_PLUS SuperA/SuperA/A4 227 x 356 mm DMPAPER_B_PLUS SuperB/SuperB/A3 305 x 487 mm DMPAPER_LETTER_PLUS Letter Plus 8.5 x 12.69 in DMPAPER_A4_PLUS A4 Plus 210 x 330 mm DMPAPER_A5_TRANSVERSE A5 Transverse 148 x 210 mm DMPAPER_B5_TRANSVERSE B5 (JIS) Transverse 182 x 257 mm DMPAPER_A3_EXTRA A3 Extra 322 x 445 mm DMPAPER_A5_EXTRA A5 Extra 174 x 235 mm DMPAPER_B5_EXTRA B5 (ISO) Extra 201 x 276 mm DMPAPER_A2 A2 420 x 594 mm DMPAPER_A3_TRANSVERSE A3 Transverse 297 x 420 mm DMPAPER_A3_EXTRA_TRANSVERSE A3 Extra Transverse 322 x 445 mm DMPAPER_DBL_JAPANESE_POSTCARD Japanese Double Postcard 200 x 148 mm DMPAPER_A6 A6 105 x 148 mm DMPAPER_JENV_KAKU2 Japanese Envelope Kaku #2 DMPAPER_JENV_KAKU3 Japanese Envelope Kaku #3 DMPAPER_JENV_CHOU3 Japanese Envelope Chou #3 DMPAPER_JENV_CHOU4 Japanese Envelope Chou #4 DMPAPER_LETTER_ROTATED Letter Rotated 11 x 8 1/2 11 in DMPAPER_A3_ROTATED A3 Rotated 420 x 297 mm DMPAPER_A4_ROTATED A4 Rotated 297 x 210 mm DMPAPER_A5_ROTATED A5 Rotated 210 x 148 mm DMPAPER_B4_JIS_ROTATED B4 (JIS) Rotated 364 x 257 mm DMPAPER_B5_JIS_ROTATED B5 (JIS) Rotated 257 x 182 mm DMPAPER_JAPANESE_POSTCARD_ROTATED Japanese Postcard Rotated 148 x 100 mm Pgina: 122 Harbour MiniGUI Roberto GUA DE REFERENCIA DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED DMPAPER_A6_ROTATED A6 Rotated 148 x 105 mm DMPAPER_JENV_KAKU2_ROTATED Japanese Envelope Kaku #2 Rotated DMPAPER_JENV_KAKU3_ROTATED Japanese Envelope Kaku #3 Rotated DMPAPER_JENV_CHOU3_ROTATED Japanese Envelope Chou #3 Rotated DMPAPER_JENV_CHOU4_ROTATED Japanese Envelope Chou #4 Rotated DMPAPER_B6_JIS B6 (JIS) 128 x 182 mm DMPAPER_B6_JIS_ROTATED B6 (JIS) Rotated 182 x 128 mm DMPAPER_12X11 12 x 11 in DMPAPER_JENV_YOU4 Japanese Envelope You #4 DMPAPER_JENV_YOU4_ROTATED Japanese Envelope You #4 Rotated DMPAPER_P16K PRC 16K 146 x 215 mm DMPAPER_P32K PRC 32K 97 x 151 mm DMPAPER_P32KBIG PRC 32K(Big) 97 x 151 mm DMPAPER_PENV_1 PRC Envelope #1 102 x 165 mm DMPAPER_PENV_2 PRC Envelope #2 102 x 176 mm DMPAPER_PENV_3 PRC Envelope #3 125 x 176 mm DMPAPER_PENV_4 Eenvelope #4 110 x 208 mm DMPAPER_PENV_5 PRC Envelope #5 110 x 220 mm DMPAPER_PENV_6 PRC Envelope #6 120 x 230 mm DMPAPER_PENV_7 PRC Envelope #7 160 x 230 mm DMPAPER_PENV_8 PRC Envelope #8 120 x 309 mm DMPAPER_PENV_9 PRC Envelope #9 229 x 324 mm DMPAPER_PENV_10 Envelope #10 324 x 458 mm DMPAPER_P16K_ROTATED PRC 16K Rotated DMPAPER_P32K_ROTATED PRC 32K Rotated DMPAPER_P32KBIG_ROTATED PRC 32K(Big) Rotated DMPAPER_PENV_1_ROTATED PRC Envelope #1 Rotated 165 x 102 mm DMPAPER_PENV_2_ROTATED PRC Envelope #2 Rotated 176 x 102 mm DMPAPER_PENV_3_ROTATED PRC Envelope #3 Rotated 176 Pgina: 123 Harbour MiniGUI Roberto GUA DE REFERENCIA x 125 mm DMPAPER_PENV_4_ROTATED PRC Envelope #4 Rotated 208 x 110 mm DMPAPER_PENV_5_ROTATED PRC Envelope #5 Rotated 220 x 110 mm DMPAPER_PENV_6_ROTATED PRC Envelope #6 Rotated 230 x 120 mm DMPAPER_PENV_7_ROTATED PRC Envelope #7 Rotated 230 x 160 mm DMPAPER_PENV_8_ROTATED PRC Envelope #8 Rotated 309 x 120 mm DMPAPER_PENV_9_ROTATED PRC Envelope #9 Rotated 324 x 229 mm DMPAPER_PENV_10_ROTATED PRC Envelope #10 Rotated 458 x 324 mm DMPAPER_USER
Orientacin: DMORIENT_PORTRAIT DMORIENT_LANDSCAPE
Activa / Desactiva color para las impresoras de Color: DMCOLOR_MONOCHROME DMCOLOR_COLOR
Calidades de Impresin: DMRES_DRAFT DMRES_LOW DMRES_MEDIUM DMRES_HIGH
Ejemplo: INIT PRINTSYS SELECT DEFAULT PREVIEW DEFINE FONT "F0" NAME "Courier New" SIZE 24
START DOC FOR I := 1 TO 10 START PAGE @ 10,10 SAY "Page:" + str(I) FONT "F0" TO PRINT END PAGE NEXT END DOC
RELEASE PRINTSYS
Recomendacin: La mejor manera de conseguir copias impresas similares en diferentes impresoras es usar SET UNITS MM, recordando usar mrgenes suficientemente amplios. Cuando establezca unidades a rowcol, usted debe considerar que la fuente no se traza exactamente igual por los diferentes controladores de impresora. La altura de la fila es trazada utilizando la fuente DC de la impresora, es decir, difiere ligeramente en varias impresoras.
Pgina: 127 Harbour MiniGUI Roberto GUA DE REFERENCIA Establezca las unidades en mm, la posicin de la copia impresa es calculada utilizando la resolucin de la impresora en pixel-por-pulgada, para que este mtodo sea ms exacto que usando las unidades rowcol.
Pgina: 128 Harbour MiniGUI Roberto GUA DE REFERENCIA
Nota: la presentacin preliminar muestra el rea imprimible (no el rea del papel entera) HBPRINTER es una contribucin de Ryszard Rylko rrylko@cirow.pl Pgina: 129 Harbour MiniGUI Roberto GUA DE REFERENCIA
COSAS DE UTILIDAD
Como compilar una librera nueva y enlazarla a tu programa en MiniGUI
Supongo que la librera la has creado t con unas funciones en un .prg. Utilizas parte del compile.bat de MiniGUI para convertir el .prg en un programa objeto .obj. Lo haras con las dos rdenes siguientes:
despus de todas las lneas del COMPILE.BAT que son parecidas a ella.
Como leer el nmero de serie de un disco /* Programa que lee el nmero de serie, etiqueta de volumen largo mximo de nombre, cantidad de banderas y tipo de FAT */ #include "minigui.ch"
Function Main
LOCAL cUni :="C:\" LOCAL cVolName:="VOLUMEN DEL DISCO" LOCAL nSerNum := 1 LOCAL nMaxName:= 1 LOCAL nFlags := 1 LOCAL cFATName:="TIPO DE FAT"
DEFINE WINDOW Win_1 ; AT 0,0 ; Pgina: 130 Harbour MiniGUI Roberto GUA DE REFERENCIA WIDTH 600 ; HEIGHT 200 ; TITLE 'Lectura del Numero de Serie de un Disco' ; MAIN
Como Cambiar la Cabecera de un archivo /* Programa que cambia la cabecera de un archivo DBF para que no pueda ser ledo fcilmente, en este ejemplo el archivo se llama BASE.DBF */
#include "minigui.ch"
FUNCTION Main DEFINE WINDOW Vent_1 ; AT 0,0 ; WIDTH 400 HEIGHT 200 ; TITLE "Proteccion de Archivo.." ; MAIN
@080,050 BUTTON PROTE; CAPTION 'CERRAR'; ACTION {|| CIERRA()}; TOOLTIP 'Cambia la Cabecera para no Leer'
@080,250 BUTTON DESPRO; CAPTION 'ABRIR'; ACTION {|| ABRE()}; TOOLTIP 'Cambia la Cabecera para Lectura' END WINDOW CENTER WINDOW Vent_1 ACTIVATE WINDOW Vent_1 RETURN
FUNCTION ABRE DbfHide ('BASE', .T.) MsgExclamation('Archivo Desprotegido') RETURN NIL
FUNCTION CIERRA DbfHide ('BASE', .F.) MsgExclamation('Archivo Protegido') RETURN NIL
FUNCTION DbfHide ( cDbfName, lFileOpen ) Pgina: 132 Harbour MiniGUI Roberto GUA DE REFERENCIA IF cDbfName == NIL Return ( .F. ) ENDIF
IF At ('.', cDbfName ) == 0 cDbfName := AllTrim ( cDbfName ) + '.DBF' ENDIF
STATIC FUNCTION SwapHead ( cDbfName, lApertura ) LOCAL nLong := 128 LOCAL nReadSize := nLong LOCAL cReadBuff := Space(nLong) LOCAL nSwapCtd := nLong LOCAL nDbfHandle, cTemp := '', nCtd
DeleteAllItems.........................................................................................................................106 DeleteColumn ( nColIndex )..................................................................................................106 DeleteItem ( nItemIndex )......................................................................................................107 DeleteItem ( nItemIndex | nItemId ).....................................................................................107 DeletePage ( nPageNumber ).................................................................................................107 Eject .........................................................................................................................................107 Hide..........................................................................................................................................107 Maximize .................................................................................................................................107 Minimize..................................................................................................................................107 Open.........................................................................................................................................107 OpenDialog .............................................................................................................................107 Pause........................................................................................................................................107 Play ..........................................................................................................................................107 PlayReverse.............................................................................................................................107 Refresh.....................................................................................................................................108 Release.....................................................................................................................................108 Restore.....................................................................................................................................108 Resume ....................................................................................................................................108 Save..........................................................................................................................................108 Seek..........................................................................................................................................108 SetFocus...................................................................................................................................108 SeeK.........................................................................................................................................108 Show.........................................................................................................................................108 Stop..........................................................................................................................................108 EVENTOS............................................................................................................. 109 OnChange ...............................................................................................................................109 OnDblClick .............................................................................................................................109 OnDisplayChange...................................................................................................................109 OnEnter...................................................................................................................................109 OnGotFocus ............................................................................................................................109 OnHeadClick ..........................................................................................................................109 OnLostFocus ...........................................................................................................................109 OnQueryData .........................................................................................................................109 CONSTANTES..................................................................................................... 110 -COLOR..................................................................................................................................110 LIBRERA MINIPRINT..................................................................................... 111 COMANDOS DE LA LIBRERA HBPRINTER............................................. 116 COSAS DE UTILIDAD....................................................................................... 130 Como compilar una librera nueva y enlazarla a tu programa en MiniGUI....................130 Como leer el nmero de serie de un disco............................................................................130 Como Cambiar la Cabecera de un archivo..........................................................................132