Harbour MiniGUI Roberto GUÍA DE REFERENCIA Harbour MiniGUI 1.0 Build 101 (26/07/2004) (Librería GUI para Harbour WIN32) AUTOR: HARBOUR MINIGUI (c) 2002-2004 Roberto López <roblez@ciudad.com.ar> GUÍA DE REFERENCIA Fernando Vázquez (FERVADO) <Fervado_mge@yahoo.com.mx> Harbour MiniGUI Roberto GUÍA DE REFERENCIA Nota de la Edición Estas notas no son una traducción de la Guía de Referencia en Inglés, aunque están basadas en ella, y con la gran ayuda de su autor Roberto López, quien merece todo el crédito por este gran proyecto. El principal objetivo es servir de ayuda a los que como yo, empezamos la migración de Clipper al ambiente Windows, a través de MiniGui Presento esta edición aclarando, que he tratado de ayudar a la comunidad de habla hispana interesada en MiniGui, como ustedes observarán la traducción no es excelente y esto se debe a mi pobre compresión del idioma Inglés, por lo cual si alguno de ustedes tiene a bien de hacer alguna corrección, 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 López por gran labor al crear MiniGui. Fernando Vázquez Fervado_mge@yahoo.com.mx Página: 1 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Creando Aplicaciones HMG COMPILE.BAT La forma más fácil es usar el archivo Compile.Bat localizado en la carpeta minigui\batch. Utilice: Compile <MainProgramName> [/d] [/a] [/o] [/z] [/m] Donde: /d /a /o /z /m Soporte al Depurador. Soporte a ADS Soporte a ODBC Soporte a ZIP Soporte a MySQL No debe incluir la extensión para < MainProgramName > MPM (Administrador de Proyectos Harbour MiniGUI) MPM es una interesante herramienta visual para acelerar el proceso de construcción de una aplicación. Use la herramienta MAKE que esta ligada al compilador BCC. De esta forma, sólo los archivos modificados son recompilados acelerando el proceso de construcción. MPM se localiza en : \minigui\utils\mpm Vea SAMPLE\DEMO.MPM Para los detalles de la configuración. Los parámetros 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 automáticamente se actualiza. Hay una versión de comando de línea de MPM. Se localiza en: \minigui\utils\mpmc. Vea el archivo “Readme.Txt” para los detalles Página: 2 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Listado en Orden Alfabético Página: 3 Harbour MiniGUI Roberto GUÍA DE REFERENCIA -ACTIVATE WINDOW Activa una ventana, previamente definida. Sintaxis: ACTIVATE WINDOW <WindowName1> [,<WindowName2> ] ... ... [,<WindowNameN> ] <WindowName>.Activate Ejemplo: #include "minigui.ch" Function Main DEFINE WINDOW Win_1 ; AT 0,0 ; WIDTH 800 ; HEIGHT 600 ; TITLE 'Ejemplo de ACTIVATE WINDOW' ; MAIN END WINDOW * PRUEDE UTILIZAR ACTIVATE WINDOW ACTIVATE WINDOW Win_1 * TAMBIEN PUEDE ACTIVARLA CON * Win_1.ACTIVATE Return -ACTIVATE WINDOW ALL Activa todas las ventanas definidas. Usando este comando, todas las ventanas definidas se activarán simultáneamente. Todas las ventanas (exceptuando la principal) no serán visibles a la activación hasta que el método 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> ] Página: 4 Harbour MiniGUI Roberto GUÍA DE REFERENCIA [ WIDTH <nWidth> ] [ JUSTIFY <nJustify> ] TO <ControlName> OF <ParentWindowName> <ParentWindowName>.<ControlName>. AddColumn ( [ nColIndex ] , [ cCaption ] , [ nWidth ] , [ nJustify ] ) Cuando este Comando / Método se usa todos los ítems del Grid (en cualquiera) pueden perderse. -ADD ITEM Adiciona un nuevo ítem o dato a un listbox, combobox o grid. Sintaxis: ADD ITEM <cItem> | <acItem> TO <ControlName> OF<ParentWindowName> <ParentWindowName>.<ControlName>.AddItem (<cItem> | <acItem> ) <Item> El tipo de dato debe ser carácter 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) -*ANIMATEBOX Crea un control Animatebox Sintaxis: @ <nRow> ,<nCol> ANIMATEBOX <ControlName> [ OF | PARENT <ParentWindowName> ] WIDTH <nWidth> HEIGHT <nJeight> [ FILE <cFileName> ] [ AUTOPLAY ] [ CENTER ] [ TRANSPARENT ] [ HELPID <nHelpId> ] DEFINE ANIMATEBOX <ControlName> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END ANIMATEBOX Página: 5 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Comandos Relacionados: OPEN PLAY SEEK STOP CLOSE DESTROY ANIMATEBOX ANIMATEBOX ANIMATEBOX ANIMATEBOX ANIMATEBOX ANIMATEBOX <ControlName> <ControlName> <ControlName> <ControlName> <ControlName> <ControlName> OF OF OF OF OF OF <ParentForm> FILE <FileName> <ParentForm> <ParentForm> POSITION <Frame> <ParentForm> <ParentForm> <ParentForm> Descripción: < nRow > < nCol > Posición (Línea, Columna) del control Animatebox dentro de la ventana en coordenadas de píxeles. < ControlName > Nombre asignado al control Animatebox. < ParentWindowName > Referencia a la Ventana Padre. < nWidth > < nHeigth > Tamaño (Ancho, Alto) del control Animatebox en píxeles. <cFileName> Nombre del archivo de animación (.AVI) a presentar. [ AUTOPLAY ] Permite la ejecución automática y continua del archivo de animación. [ CENTER ] Presenta el archivo de animación de forma centrada en función al tamaño dado al control Animatebox [ TRANSPARENT ] Provoca que el color del fondo de la animación sea transparente. <nHelpId> Es el ID (enlace) con el archivo de ayuda creado para la aplicación. Propiedades: • AutoPlay (D) • Center (D) • Col • Enabled • File (D) • Height • HelpId (D) Página: 6 Harbour MiniGUI • • • • • • • Roberto Name (R) Parent (D) Row ToolTip Transparent (D) Visible Width D: Disponible solo en la definición del control. R: Solo lectura Métodos: • 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> ] GET <uVar> [ SECTION <cSection> ] [ ENTRY <cEntry> ] [ DEFAULT <uDefault> ] SET [ SECTION <cSection> ] [ ENTRY <cEntry> ] [ TO <uVal> ] DEL SECTION <cSection> [ ENTRY <cEntry> ] END INI Página: 7 GUÍA DE REFERENCIA Harbour MiniGUI Roberto GUÍA DE REFERENCIA -BROWSE Crea un control BROWSE Sintaxis: @ <nRow> ,<nCol> BROWSE <ControlName> [ OF | PARENT <ParentWindowName> ] WIDTH<nWidth> HEIGHT<nHeight> HEADERS<acHeaders> WIDTHS<anWidths> WORKAREA <WorkAreaName> FIELDS <acFields> [ VALUE <nValue> ] [ FONT <cFontname> SIZE <nFontsize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cToolTipText> ] [ BACKCOLOR <aBackColor> ] [ FONTCOLOR <aFontColor> ] [ ON GOTFOCUS <OnGotFocusProcedur> | <bBlock> ] [ ON CHANGE <OnChangeProcedure> | <bBlock> ] [ ON LOSTFOCUS <OnGotFocusProcedur> | <bBlock> ] [ [ ON DBLCLICK <OnDblClickProcedure> | <bBlock> ] | [ EDIT [ INPLACE ] ] [ APPEND ] [ ON HEADCLICK <abBlock> ] [ VALID <abBlock> ] [ VALIDMESSAGES <acValidationMessages> ] [ READONLY <alReadOnlyFields> ] [ LOCK ] [ DELETE ] [ NOLINES ] [ IMAGE <acImageNames> ] [ JUSTIFY <anJustifyValue> ] [ NOVSCROLL ] [ HELPID <nHelpId> ] [ BREAK ] DEFINE BROWSE <ControlName> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END BROWSE Descripción: < nRow > < nCol > Posición dentro de la ventana en coordenadas de píxeles. < ControlName > Una referencia a el control Browse < ParentWindowName > Una referencia a la ventana Padre < nWidth > < nHeigth > El tamaño deseado del control Browse en píxeles. < acHeaders > Página: 8 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Una lista de expresiones de texto para los títulos < anWidths > Una lista de tamaños para cada columna en píxeles. < 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 tamaño de la fuente. < OnChangeProcedure > Una acción a realizarse cuando se selecciona una nueva fila. < OnGotFocusProcedure > Una acción a realizarse cuando el Browse toma el foco. < OnLostFocusProcedure > Una acción a realizarse cuando el Browse pierde el foco. < OnDblClickProcedure > Una acción a realizarse al hacer doble clic izquierdo. < abBlock > Una expresión a ser validada cuando el Browse pierde el foco. < alReadOnlyFields > Una lista de expresiones lógicas para los campos. < acImageNames > Color de fondo como número RGB. < aOnHeadClickProcedure > Una lista de acciones a ejecutarse, cuando en una cabecera de columna se da un clic con el ratón. < 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 número Página: 9 Harbour MiniGUI Roberto físico de registro (recno()) Propiedades: • AllowAppend (D) • AllowDelete (D) • BackColor • Col • Enabled • Fields (D) • FontBold • FontColor • FontItalic • FontName • FontSize • FontStrikeout • FontUnderline • Header (nColumnIndex) • Height • HelpId (D) • Image (D) • InPlaceEdit (D) • Justify (D) • Lock (D) • Name (R) • NoLines (D) • Parent (D) • ReadOnlyFields (D) • Row • ToolTip • Valid (D) • ValidMessages (D) • Value • Visible • VScrollBar (D) • Width • Widths (D) • WorkArea (D) D: Disponible solo en la definición del control. R: Solo de lectura Eventos: • OnChange • OnDblClick Página: 10 GUÍA DE REFERENCIA Harbour MiniGUI • • • Roberto GUÍA DE REFERENCIA OnGotFocus OnHeadClick OnLostFocus Métodos: • Hide • Refresh • Release • SetFocus • Show Comentarios : • La propiedad Value selecciona un registro por su número (RecNo()) • La propiedad Value devuelve el número 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 selección cuando esta cambia) cuando SET BROWSESYNC está en OFF (valor predeterminado) • Puede programáticamente refrescarlo utilizando el método Refresh. • Las variables llamadas <MemVar>, <WorkAreaName>, <FieldName> son creadas para validar en la ventana de edición del Browse. Puede usar VALID en un array. • Usando la cláusula APPEND puede agregar registros a la tabla asociada con la cláusula WORKAREA. La tecla directa para agregar registros es Alt+A. La cláusula APPEND no puede usarse con campos que no pertenecen al BROWSE del área de trabajo • Usando la cláusula DELETE permite marcar el registro seleccionado para eliminación presionando la tecla <Del> • La columna de la izquierda en un control Browse debe alinearse hacia la izquierda. • Cuando se utilice la definición de control, la propiedad Header debe cargarse con un array de tipo carácter, 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 según la selección del usuario o el valor de la propiedad de parámetro programada. Página: 11 Harbour MiniGUI Roberto GUÍA DE REFERENCIA • Estableciendo 'Value' a reccount() + 1 (EOF) puede causar que la ventana del browse se ponga vacía (ningún registro será mostrado). • VsCrollbar no puede usarse con splitbox child browse Ejemplo: El ejemplo más completo y con explicación del uso del BROWSE se encuentra en C:\MiniGUI\SAMPLES\BASIC\CONTACTOS. -BUTTON Crea un control Button. Sintaxis: @ <nRow> ,<nCol> BUTTON <ControlName> [ OF | PARENT <ParentWindowName> ] CAPTION <cCaption> ACTION | ONCLICK | ON CLICK <ActionProcedureName> | <bBlock> [ WIDTH <nWidth> HEIGHT <nHeight> ] [ FONT <cFontName> SIZE <nFontSize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cToolTipText> ] [ FLAT ] [ ON GOTFOCUS <OnGotFocusProcedur> | <bBlock> ] [ ON LOSTFOCUS <OnLostFocusProcedure> | <bBlock> ] [ NOTABSTOP ] [ HELPID <nHelpId> ] [ INVISIBLE ] @ <nRow> ,<nCol> BUTTON <ButtonName> [ OF<ParentWindowName> ] PICTURE <cPictureName> ACTION | ONCLICK | ON CLICK <ActionProcedureName> | <bBlock> [ WIDTH <nWidth> HEIGHT <nHeight> ] [ TOOLTIP <cToolTipText> ] [ FLAT ] [ TRANSPARENT ] [ ON GOTFOCUS <OnGotFocusProcedur> | <bBlock> ] [ ON LOSTFOCUS <OnLostFocusProcedure> | <bBlock> ] [ NOTABSTOP ] [ HELPID <nHelpId> ] [ INVISIBLE ] DEFINE BUTTON <ButtonName> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END BUTTON Propiedades: • Caption • Col Página: 12 Harbour MiniGUI • • • • • • • • • • • • • • • • • • • Roberto GUÍA DE REFERENCIA Enabled Flat (D) FontBold FontItalic FontName FontSize FontStrikeout FontUnderline Height HelpId (D) Name (R) Parent (D) Picture Row TabStop (D) ToolTip Transparent (D) Visible Width D: Disponible solo en la definición del control R: Sólo de Lectura Eventos: • OnClick • OnGotFocus • OnLostFocus Métodos: • Hide • Release • SetFocus • Show Nota: La transparencia en botones con imagen requiere bmp’s de 256 o menos colores. -CENTER WINDOW Centra una Ventana Sintaxis: CENTER WINDOW <WindowName> <WindowName>.Center Página: 13 Harbour MiniGUI Roberto GUÍA DE REFERENCIA -CHECKBOX Crea un control Checkbox. Sintaxis: @ <nRow> ,<nCol> CHECKBOX <ControlName> [ OF | PARENT <ParentWindowName> ] CAPTION<cCaption> [ WIDTH <nWidth>] [ HEIGHT <nHeight> ] [ VALUE <lValue> ] [ FIELD <FieldName> ] [ FONT <cFontName> SIZE <nFontSize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cToolTipText> ] [ BACKCOLOR <aBackColor> ] [ FONTCOLOR <aFontColor> ] [ ON GOTFOCUS <OnGotFocusProcedur> | <bBlock> ] [ ON CHANGE <OnChangeProcedure> | <bBlock> ] [ ON LOSTFOCUS <OnLostFocusProcedure> | <bBlock> ] [ TRANSPARENT ] [ HELPID <nHelpId> ] [ INVISIBLE ] [ NOTABSTOP ] DEFINE CHECKBOX <ControlName> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END CHECKBOX Propiedades: • BackColor • Caption • Col • Enabled • Field (D) • FontBold • FontColor • FontItalic • FontName • FontSize • FontStrikeout • FontUnderline • Height • HelpId (D) • Name (R) • Parent (D) • Row • TabStop (D) • ToolTip Página: 14 Harbour MiniGUI • • • Roberto Value Visible Width D: Disponible solo en la definición del control R: Sólo Lectura Eventos: • OnChange • OnGotFocus • OnLostFocus Métodos: • Hide • Refresh • Release • Save • SetFocus • Show -CHECKBUTTON Crea un control CheckButton. Sintaxis: @ <nRow> ,<nCol> CHECKBUTTON<ControlName> [ OF | PARENT <ParentWindowName> ] CAPTION<cCaption> [ WIDTH <nWidth>] [ HEIGHT <nHeight> ] [ VALUE <lValue> ] [ FONT <cFontName> SIZE <nFontSize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cToolTipText> ] [ ON GOTFOCUS <OnGotFocusProcedur> | <bBlock> ] [ ON CHANGE <OnChangeProcedure> | <bBlock> ] [ ON LOSTFOCUS <OnLostFocusProcedure> | <bBlock> ] [ HELPID <nHelpId> ] [ INVISIBLE ] [ NOTABSTOP ] @ <nRow> ,<nCol> CHECKBUTTON<ControlName> [ OF<cParentWindowName> ] PICTURE <cPictureName> [ WIDTH <nWidth>] [ HEIGHT <nHeight> ] [ VALUE <lValue> ] [ TOOLTIP <cToolTipText> ] [ ON GOTFOCUS <OnGotFocusProcedur> | <bBlock> ] [ ON CHANGE <OnChangeProcedure> | <bBlock> ] [ ON LOSTFOCUS <OnLostFocusProcedure> | <bBlock> ] [ HELPID <nHelpId> ] Página: 15 GUÍA DE REFERENCIA Harbour MiniGUI Roberto GUÍA DE REFERENCIA [ INVISIBLE ] [ NOTABSTOP ] DEFINE CHECKBUTTON <Controlname> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END CHECKBUTTON Propiedades: • Caption • Col • Enabled • FontBold • FontItalic • FontName • FontSize • FontStrikeout • FontUnderline • Height • HelpId (D) • Name (R) • Parent (D) • Picture • Row • TabStop (D) • ToolTip • Value • Visible • Width D: Disponible solo en la definición del control R: Sólo Lectura Eventos: • OnChange • OnGotFocus • OnLostFocus Métodos: • Hide • Release • SetFocus • Show Nota: La transparencia en CheckButtons con imagen requiere bmp’s de 256 o menos colores. Página: 16 Harbour MiniGUI Roberto GUÍA DE REFERENCIA -CLOSE CONNECTION Cierra un Socket de conexión. Sintaxis: CLOSE CONNECTION <ConnectionName> -COMBOBOX Crea un control Combobox. Sintaxis: @ <nRow> ,<nCol> COMBOBOX<ControlName> [ OF | PARENT <ParentWindowName> ] [ ITEMS <caItems> ] [ ITEMSOURCE <ItemSourceField> ] [ VALUE <nValue> ] [ VALUESOURCE <ValueSourceField> ] [ DISPLAYEDIT ] [ WIDTH <nWodth> ] [ HEIGHT <nHeight>] [ FONT <cFontName> SIZE <nFontSize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cToolTipText> ] [ ON GOTFOCUS <OnGotFocusProcedur> | <bBlock> ] [ ON CHANGE <OnChangeProcedure> | <bBlock> ] [ ON LOSTFOCUS <OnLostFocusProcedure> | <bBlock> ] [ ON ENTER <OnEnterProcedure> | <bBlock> ] [ ON DISPLAYCHANGE <OnDisplayChangeProcedure> | <bBlock> ] [ NOTABSTOP ] [ HELPID <nHelpId> ] [ BREAK ] [ GRIPPERTEXT <cGripper Text> ] [ INVISIBLE ] [ SORT ] DEFINE COMBOBOX <Controlname> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END COMBOBOX Propiedades: • Break (D) • Col • DisplayEdit (D) • DisplayValue • Enabled • FontBold • FontItalic • FontName • FontSize • FontStrikeout Página: 17 Harbour MiniGUI • • • • • • • • • • • • • • • • Roberto GUÍA DE REFERENCIA FontUnderline GripperText (D) Height HelpId (D) Item ( nItemIndex ) ItemCount ItemSource (D) Name (R) Parent (D) Row Sort (D) TabStop (D) ToolTip Value Visible Width D: Disponible solo en la definición del control R: Sólo Lectura Eventos: • OnChange • OnDisplayChange • OnEnter • OnGotFocus • OnLostFocus Métodos: • AddItem ( cItemText ) • DeleteAllItems • DeleteItem ( nItemIndex ) • Hide • Release • SetFocus • Show Comentarios: • En un ComboBox la cláusula 'Height' se refiere a la altura total (considerando la altura de la lista extendida). • Cuando utilice la definición 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 número del registro físico, como en el Browse. Página: 18 Harbour MiniGUI • Roberto GUÍA DE REFERENCIA Si usted establece la propiedad VALUESOURCE a un nombre de campo, este contenido devuelve el número del registro físico. -COMPRESS Crea un archivo ZIP. Sintaxis: COMPRESS [ FILES ] <afiles> TO <cZipFile> BLOCK <bBlock> [ LEVEL <nLevel> ] [ OVERWRITE ] -CONTEXT MENU Crea una definición de menú contextual. Sintaxis: DEFINE CONTEXT MENU [ OF<ParentWindowName> ] MENUITEM <cItemCaption> ACTION <ActionProvedureName> | <bBlock> [ NAME <MenuItemName>] [ IMAGE <cImageName> ] [ CHECKED ] ... ... [ SEPARATOR ] ... ... END MENU Propiedades: • Checked • Enabled • Name -DATEPICKER Crea un control Datepicker. Sintaxis: @ <nRow> ,<nCol> DATEPICKER<ControlName> [ OF | PARENT <cParentWindowName> ] [ VALUE <dValue> ] [ FIELD <FieldName> ] [ WIDTH <nWidth> ] [ FONT <cFontName> SIZE <nFontSize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cToolTipText> ] [ SHOWNONE ] Página: 19 Harbour MiniGUI [ [ [ [ [ [ [ [ [ Roberto UPDOWN ] RIGHTALIGN ] ON GOTFOCUS <OnGotFocusProcedur> | <bBlock> ] ON CHANGE <OnChangeProcedure> | <bBlock> ] ON LOSTFOCUS <OnLostFocusProcedure> | <bBlock> ] HELPID <nHelpId> ] ON ENTER <OnEnterProcedure> | <bBlock> ] INVISIBLE ] NOTABSTOP ] DEFINE DATEPICKER <ControlName> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END DATEPICKER Propiedades: • Col • Enabled • Field (D) • FontBold • FontItalic • FontName • FontSize • FontStrikeout • FontUnderline • Height • HelpId (D) • Name (R) • Parent (D) • RightAlign (D) • Row • ShowNone (D) • TabStop (D) • ToolTip • UpDown (D) • Value • Visible • Width D: Disponible solo en la definición del control R: Sólo Lectura Eventos: • OnChange • OnGotFocus • OnLostFocus Métodos: Página: 20 GUÍA DE REFERENCIA Harbour MiniGUI • • • • • • Roberto GUÍA DE REFERENCIA Hide Refresh Release Save SetFocus Show -DECLARE (DLL) Declara una función DLL. Sintaxis: DECLARE <Type> [ STATIC ] <FunctionName> ( [ <type1> <uParam1> ] [, <typeN> <uParamN> ] ) IN <DllName> ALIAS <alias> [FLAGS <flags>] Tipos permitidos: • DLL_TYPE_VOID • DLL_TYPE_UINT • DLL_TYPE_INT • DLL_TYPE_HANDLE • DLL_TYPE_HICON • DLL_TYPE_HBITMAP • DLL_TYPE_HCURSOR • DLL_TYPE_HBRUSH • DLL_TYPE_LPCSTR • DLL_TYPE_WNDPROC • DLL_TYPE_BOOL • DLL_TYPE_LPVOID • DLL_TYPE_DWORD • DLL_TYPE_WORD • DLL_TYPE_LPCTSTR • DLL_TYPE_COLORREF • DLL_TYPE_BYTE • DLL_TYPE_TCHAR • DLL_TYPE_HINSTANCE • DLL_TYPE_HWND • DLL_TYPE_LPARAM • DLL_TYPE_HGLOBAL • DLL_TYPE_WPARAM • DLL_TYPE_HKEY • DLL_TYPE_CHAR • DLL_TYPE_LONG • DLL_TYPE_BCHAR • DLL_TYPE_WCHAR Página: 21 Harbour MiniGUI • • • • • • • • • • • • • • • • • Roberto GUÍA DE REFERENCIA DLL_TYPE_DOUBLE DLL_TYPE_LPTSTR DLL_TYPE_LPSTR DLL_TYPE_ULONG DLL_TYPE_UCHAR DLL_TYPE_SHORT DLL_TYPE_USHORT DLL_TYPE_LPOFNHOOKPROC DLL_TYPE_LPCFHOOKPROC DLL_TYPE_LPFRHOOKPROC DLL_TYPE_LPPAGESETUPHOOK DLL_TYPE_LPPAGEPAINTHOOK DLL_TYPE_LPPRINTHOOKPROC DLL_TYPE_LPSETUPHOOKPROC DLL_TYPE_BFFCALLBACK DLL_TYPE_HDC DLL_TYPE_HIMAGELIST Banderas: • DC_MICROSOFT • DC_BORLAND • DC_CALL_CDECL • DC_CALL_STD -DECLARE WINDOW Declara un nombre de ventana. Sintaxis: DECLARE WINDOW <WindowName> Comentario: • Una ventana tiene que ser declarada, si usted necesita referirse a ella antes de su definición de código, 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> ] Página: 22 Harbour MiniGUI Roberto GUÍA 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> <ParentWindowName>.<ControlName>. DeleteColumn ( <nColIndex>) Nota: • Cuando este comando / método se usa, todos los ítems del grid (en cualquiera) se pueden perder. -DELETE ITEM Borra un ítem (o todos los ítems) de un Listbox, Combobox o Grid. Sintaxis: DELETE ITEM <nItemNumber> | ALL FROM <ControlName> OF <ParentWindowName> <ParentWindowName>.<ControlName>. DeleteItem ( <nItemNumber>) <ParentWindowName>.<ControlName>. DeleteAllItems ( <nItemNumber>) -DISPLAY HELP Muestra ventanas de ayuda 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 Página: 23 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Ejemplo: Vea los ejemplos de ProgressBar (Progressbar2 y Progressbar3), en la función IndexMeter() se utiliza. -DO REPORT Crea un reporte basado en los parámetros dados. Sintaxis: DO REPORT TITLE <ctitle> HEADERS <aheaders1> , <aheaders2> FIELDS <a> WIDTHS <awidths> [ TOTALS <ato> ] [ NFORMATS <aformats> ] WORKAREA <calias> LPP <nlpp> CPL <ncpl> [ LMARGIN <nllmargin> ] [ PAPERSIZE <nPaperSize> ] [ DOSMODE ] [ PREVIEW ] [ SELECT ] [ IMAGE <cgraphic> AT <nfi> , <nci> TO <nff> , <ncf> ] [ MULTIPLE ] [ GROUPED BY <cgrpby> ] [ HEADRGRP <chdrgrp> ] [ LANDSCAPE ] -DO REPORT FORM Ejecuta un reporte de un archivo de definición 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> Página: 24 Harbour MiniGUI Roberto GUÍA 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>] Página: 25 Harbour MiniGUI Roberto GUÍA DE REFERENCIA DRAW POLYGON IN WINDOW <WindowName> ; POINTS <anPoints> [PENCOLOR <anPenColor>] [PENWIDTH <nPenWidth>] [FILLCOLOR <anFillColor>] DRAW POLYBEZIER IN WINDOW <WindowName> POINTS <anPoints> [PENCOLOR <anPenColor>] [PENWIDTH <nPenWidth>] ERASE [ IN ] WINDOW <WindowName> -DROPDOWN MENU Crea una definición de menú Dropdown. Sintaxis: DEFINE DROPDOWN MENU BUTTON <ToolBarDropDownButtonName> [OF<ParentWindowName>] MENUITEM <cItemCaption> ACTION <ActionProvedureName> | <bBlock> [ NAME <MenuItemName>] [ IMAGE <cImageName> ] [ CHECKED ] ... ... [ SEPARATOR ] ... ... END MENU Propiedades: • Checked • Enabled • Name (R) R: Sólo de Lectura -EDIT Edita registros de la base de datos en el área de trabajo especificada. Sintaxis: EDIT WORKAREA <workarea> [ TITLE <cTitle> ] [ FIELDS <acFields> ] [ READONLY <alReadOnlyFields> ] [ SAVE <bSave> ] [ SEARCH <bSearch> ] EDIT EXTENDED [ WORKAREA <cWorkArea> ] [ TITLE <cTitle> ] Página: 26 Harbour MiniGUI [ [ [ [ [ [ [ [ Roberto GUÍA DE REFERENCIA FIELDNAMES <acFieldNames> ] FIELDMESSAGES <acFieldMessages> ] FIELDENABLED <alFieldView> ] TABLEVIEW <alTableView> ] OPTIONS <aOptions> ] ON SAVE <bSave> ] ON FIND <bFind> ] ON PRINT <bPrint> ] Ejemplo: Encontrarán ejemplos en \SAMPLES\BASIC\EDIT. Para usar archivos CDX con Harbour como para xHarbour el ejemplo del comando EDIT (\SAMPLES\BASIC\EDIT\SIMPLE.PRG) lo muestra claramente. El código esta en desarrollo todavía y puede necesitar depuración. Basado en una contribución de Cristóbal Mollá <cemese@terra.es>. -EDITBOX Crea un control Editbox. Sintaxis: [ @ <nRow> ,<nCol> ] EDITBOX<ControlName> [ OF | PARENT <ParentWindowName> ] WIDTH<nWidth> HEIGHT<nHeight> [ FIELD <FieldName> ] [ VALUE <cValue> ] [ READONLY ] [ FONT <cFontName> SIZE <nFontSize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cToolTipText> ] [ BACKCOLOR <aBackColor> ] [ FONTCOLOR <aFontColor> ] [ MAXLENGTH <nInputLength> ] [ ON GOTFOCUS <OnGotFocusProcedur> | <bBlock> ] [ ON CHANGE <OnChangeProcedure> | <bBlock> ] [ ON LOSTFOCUS <OnLostFocusProcedure> | <bBlock> ] [ HELPID <nHelpId> ] [ BREAK ] [ INVISIBLE ] [ NOTABSTOP ] [ NOVSCROLL ] [ NOHSCROLL ] DEFINE EDITBOX <ControlName> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END EDITBOX Propiedades: • BackColor • Break (D) Página: 27 Harbour MiniGUI • • • • • • • • • • • • • • • • • • • • • • • • • Roberto CaretPos Col Enabled Field (D) FontBold FontColor FontItalic FontName FontSize FontStrikeout FontUnderline Height HelpId (D) HScrollBar (D) MaxLength (D) Name (R) Parent (D) ReadOnly Row TabStop (D) ToolTip Value Visible VScrollBar (D) Width D: Disponible solo en la definición del control R: Sólo Lectura. Eventos: • OnChange • OnGotFocus • OnLostFocus Métodos: • Hide • Refresh • Release • Save • SetFocus • Show Página: 28 GUÍA DE REFERENCIA Harbour MiniGUI Roberto GUÍA DE REFERENCIA -ENCODE Coloca un código a los registros de la base de datos o archivos. Sintaxis : ENCODE [FROM <(file)>] ON <key> FIELDS <fields,...> [ PASSWORD <password> ] [ FOR <for> ] [ WHILE <while> ] [ ALL ] ENCODE <file1> TO <file2> [ PASSWORD <password> ] [ DELETE ] ENCODE FILE <file> [ PASSWORD <password> ] -EXECUTE COMMAND El comando EXECUTE abre o imprime un archivo especificado. El archivo puede ser un archivo ejecutable o un archivo de documento. Sintaxis: EXECUTE [ OPERATION <operation> ] [ FILE <file> ] [ PARAMETERS <parameters> ] [ DEFAULT <default>] [ MAXIMIZE | MINIMIZE ] EXECUTE [ FILE <file> ] [ MAXIMIZE | MINIMIZE ] WAIT -FETCH Permite obtener el valor de una propiedad de una ventana o control. Sintaxis: FETCH [ PROPERTY ] [ WINDOW ] <WindowName> <PropertyName> TO --> <ResultVar> FETCH [ PROPERTY ] [ CONTROL ] <ControlName> OF <WindowName> <PropertyName> TO --> <ResultVar> -FRAME Crea un control Frame. Sintaxis: @ <nRow> ,<nCol> FRAME<ControlName> [ OF | PARENT <ParentWindowName> ] [ CAPTION <cCaption> ] WIDTH <nWidth> HEIGHT <nHeight> [ FONT <cFontName> ] [ SIZE <nFontSize> ] Página: 29 Harbour MiniGUI [ [ [ [ Roberto GUÍA DE REFERENCIA BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] BACKCOLOR <aBackColor> ] [ FONTCOLOR <aFontColor> ] OPAQUE ] TRANSPARENT ] DEFINE FRAME <ControlName> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END FRAME Propiedades: • BackColor • Caption • Col • Enabled • FontBold • FontColor • FontItalic • FontName • FontSize • FontStrikeout • FontUnderline • Height • Name (R) • Opaque (D) • Parent (D) • Row • Visible • Width D: Disponible solo en la definición del control R: Sólo de Lectura Métodos: • Hide • Release • Show -GET URL Recibe los datos de una conexión http. Sintaxis: GET URL <Url> TO <VarName> CONNECTION <ConnectionName> Página: 30 Harbour MiniGUI Roberto GUÍA DE REFERENCIA -GRID Crea un control Grid. Sintaxis: [ @ <nRow> ,<nCol> ] GRID<ControlName> [ OF | PARENT <ParentWindowName> ] WIDTH<nWidth> HEIGHT<nHeight> HEADERS<acHeaders> WIDTHS<anWidths> [ ITEMS <acItems> ] [ VALUE <nValue> ] [ FONT <cFontname> SIZE <nFontsize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cToolTipText> ] [ BACKCOLOR <aBackColor> ] [ FONTCOLOR <aFontColor> ] [ ON GOTFOCUS <OnGotFocusProcedur> | <bBlock> ] [ ON CHANGE <OnChangeProcedure> | <bBlock> ] [ ON LOSTFOCUS <OnGotFocusProcedur> | <bBlock> ] [ [ ON DBLCLICK <OnDblClickProcedure> | <bBlock> ] | [ EDIT | ALLOWEDIT ] ] [ ON HEADCLICK <abBlock> ] [ VIRTUAL ] [ ITEMCOUNT <nItemCount> ] [ ON QUERYDATA <OnQueryDataProcedure> | <bBlock> ] [ MULTISELECT ] [ NOLINES ] [ IMAGE <acImageNames> ] [ JUSTIFY <anJustifyValue> ] [ HELPID <nHelpId> ] [ BREAK ] DEFINE GRID <ControlName> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END GRID Descripción: <Virtual> Esta opción 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 Página: 31 Harbour MiniGUI • • • • • • • • • • • • • • • • • • • • • • • • • • Roberto GUÍA 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 definición del control R: Sólo 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 Página: 32 Harbour MiniGUI • • • Roberto GUÍA DE REFERENCIA This.CellRow This.CellRowIndex This.CellWidth Nota: Estas propiedades no están disponibles cuando el procedimiento OnDblClick se dispara por presionar la tecla < Enter >. Eventos: • OnChange • OnDblClick • OnGotFocus • OnHeadClick • OnLostFocus • OnQueryData Métodos: • AddColumn ( [ nColIndex ] , [ cCaption ] , [ nWidth ] , [ nJustify ] ) • AddItem ( acItemText ) • DeleteAllItems • DeleteColumn ( nColIndex ) • DeleteItem ( nItemIndex ) • Hide • Release • SetFocus • Show Comentarios: • Si se utiliza MULTISELECT la cláusula VALUE deberá ser un array numérico, conteniendo la posición índice de los items seleccionados. • Si la cláusula EDIT es utilizada, un doble clic en el item, puede abrir una ventana de edición que permite cambiar el contenido del item. • Las cláusulas EDIT y MULTISELECT no pueden utilizarse simultáneamente • La columna de la izquierda en un control Grid debe alinearse hacia la izquierda. • Cuando utilice la definición de control, la propiedad Header debe cargarse con una array de caracteres que contenga tantos elementos como columnas de control. • Cuando se usan los métodos AddColumn / DeleteColumn, todos los ítems del grid (en cualquiera) se pueden perder Página: 33 Harbour MiniGUI Roberto GUÍA DE REFERENCIA -HIDE CONTROL Oculta un objeto Gui. Sintaxis: HIDE CONTROL <ControlName> OF <WindowName> <WindowName>.<ControlName>.Hide -HIDE WINDOW Oculta un ventana Sintaxis: HIDE WINDOW <WindowName> <WindowName>.Hide -HYPERLINK Crea un control Hyperlink. Sintaxis: @ <nRow>,<nCol> HYPERLINK <ControlName> [ OF <ParentWindowName> ] [ VALUE <cControlValue> ] [ ADDRESS <cLinkAddress>] [ WIDTH <nWidth> ] [ HEIGHT <nHeight> ] [ AUTOSIZE ] [ FONT <cFontName> ] [ SIZE <nFontSize> ] [ BOLD ] [ ITALIC ] [ TOOLTIP <cToolTipText> ] [ BACKCOLOR <anBackColor> ] [ FONTCOLOR <anFontColor> ] [ HELPID <nHelpId> ] [ HANDCURSOR ] [ INVISIBLE ] DEFINE HYPERLINK <ControlName> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END HYPERLINK Propiedades: • Address • AutoSize • BackColor • Col • Enabled • FontBold • FontColor • FontItalic Página: 34 Harbour MiniGUI • • • • • • • • • • • • Roberto GUÍA DE REFERENCIA FontName FontSize FontStrikeout FontUnderline Height HelpId (D) Name (R) Parent (D) Row Value Visible Width D: Disponible solo en la definición del control R: Sólo de Lectura Métodos: • Hide • Release • Show -IMAGE Crea un control Image. Este control soporta archivos .BMP, JPG y .GIF. Sintaxis: @ <nRow> ,<nCol> IMAGE<ControlName> [ OF | PARENT <ParentWindowName> ] [ ACTION | ONCLICK | ON CLICK <ActionProcedureName> | <bBlock> PICTURE <cPictureName> WIDTH <nWidth> HEIGHT <nHeight> [ STRETCH ] [ HELPID <nHelpId> ] [ INVISIBLE ] DEFINE IMAGE <Controlname> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END IMAGE Propiedades: • Col • Enabled • Height • HelpId (D) • Name (R) • Parent (D) • Picture Página: 35 ] Harbour MiniGUI • • • • Roberto GUÍA DE REFERENCIA Row Stretch (D) Visible Width D: Disponible solo en la definición del control R: Sólo de Lectura Eventos: • OnClick Métodos: • Hide • Release • Show Ejemplos: Vea los programas demostrativos en \ SAMPLES\BASIC\IMAGE. -IPADDRESS Crea un control Ipaddress. Sintaxis: @ <nRow> ,<nCol> IPADDRESS<ControlName> [ OF | PARENT <ParentWindowName> ] [ HEIGHT <nHeight> ] [ WIDTH <nWidth> ] [ VALUE<anValue> ] [ FONT <cFontName> SIZE <nFontSize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cToolTipText> ] [ ON CHANGE <OnChangeProcedure> | <bBlock> ] [ ON GOTFOCUS <OnGotFocusProcedur> | <bBlock> ] [ ON LOSTFOCUS <OnGotFocusProcedur> | <bBlock> ] [ HELPID <nHelpId> ] [ INVISIBLE ] [ NOTABSTOP ] DEFINE IPADDRESS <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END IPADDRESS Propiedades: • Col • Enabled • FontBold • FontItalic • FontName Página: 36 Harbour MiniGUI • • • • • • • • • • • Roberto GUÍA DE REFERENCIA FontSize FontStrikeout FontUnderline Height HelpId (D) Name (R) Row TabStop (D) Value Visible Width D: Disponible solo en la definición del control R: Sólo de Lectura Eventos: • OnChange • OnGotFocus • OnLostFocus Métodos: • Hide • Release • Show -LABEL Crea un control Label Sintaxis: @ <nRow> ,<nCol> LABEL<ControlName> [ OF | PARENT <ParentWindowName> ] VALUE <cValue> [ ACTION | ONCLICK | ON CLICK <ActionProcedureName> | <bBlock> ] [ WIDTH <nWidth> ] [ HEIGHT <nHeight> ] [ AUTOSIZE ] [ FONT <cFontname> SIZE <nFontsize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cToolTipText> ] [ BACKCOLOR <anBackColor> ] [ FONTCOLOR <anFontColor>] [ TRANSPARENT ] [ RIGHTALIGN | CENTERALIGN ] [ HELPID <nHelpId> ] [ INVISIBLE ] DEFINE LABEL <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END LABEL Página: 37 Harbour MiniGUI Roberto Propiedades: • AutoSize • BackColor • Col • Enabled • FontBold • FontColor • FontItalic • FontName • FontSize • FontStrikeout • FontUnderline • Height • HelpId (D) • Name (R) • Parent (D) • Row • Value • Visible • Width D: Disponible solo en la definición del control R: Sólo de Lectura Eventos: • OnClick Métodos: • Hide • Release • Show -LISTBOX Crea un control Listbox. Sintaxis: [ @ <nRow> ,<nCol> ] LISTBOX<ControlName> [ OF | PARENT <ParentWindowName> ] WIDTH<nWidth> HEIGHT<nHeight> [ ITEMS <acItems> ] [ VALUE <nValue> ] [ FONT <cFontName> SIZE <nFontSize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cToolTipText> ] Página: 38 GUÍA DE REFERENCIA Harbour MiniGUI [ [ [ [ [ [ [ [ [ [ [ Roberto GUÍA DE REFERENCIA BACKCOLOR <aBackColor> ] [ FONTCOLOR <aFontColor> ] ON GOTFOCUS <OnGotFocusProcedur> | <bBlock> ] ON CHANGE <OnChangeProcedure> | <bBlock> ] ON LOSTFOCUS <OnLostFocusProcedur> | <bBlock> ] ON DBLCLICK <OnDblClickProcedure> | bBlock> ] MULTISELECT ] HELPID <nHelpId> ] BREAK ] INVISIBLE ] NOTABSTOP ] SORT ] DEFINE LISTBOX <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END LISTBOX Propiedades: • BackColor • Break (D) • Col • Enabled • FontBold • FontColor • FontItalic • FontName • FontSize • FontStrikeout • FontUnderline • Height • HelpId (D) • Item ( nItemIndex ) • ItemCount • MultiSelect (D) • Name (R) • NoTAbStop (D) • Parent (D) • Row • Sort (D) • ToolTip • Value • Visible • Width D: Disponible solo en la definición del control R: Sólo de Lectura Eventos: Página: 39 Harbour MiniGUI • • • • Roberto GUÍA DE REFERENCIA OnChange OnDblClick OnGotFocus OnLostFocus Métodos: • AddItem ( cItemText ) • DeleteAllItems • DeleteItem ( nItemIndex ) • Hide • Release • SetFocus • Show Comentarios: • Si la cláusula MULTISELECT es utilizada, VALUE debe ser un array numérico, conteniendo la posición índice de los ítems seleccionados. • Cuando se utilice en definición de control, la propiedad ITEM debe ser un array de caracteres. . -LOAD WINDOW Carga una definición de ventana desde un archivo de definición de ventana MiniGUI Sintaxis: LOAD WINDOW <WindowDefinitionFileName> [ AS <WindowName> ] Comentarios: • Si usted omite la cláusula AS, el nombre de archivo de definición de ventana (sin la extensión) es asumido como el nombre de la ventana. • Un archivo de definición de ventana MiniGUI (archivo .fmg) es un archivo de texto que contiene una definición de ventana, usando el código estándar 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 definición de ventana guardada en un archivo llamado' BaseForm.fmg * Begin BaseForm.fmg DEFINE WINDOW TEMPLATE; AT 93,80 ; Página: 40 Harbour MiniGUI Roberto GUÍA DE REFERENCIA WIDTH 550 ; HEIGHT 350 ; TITLE '' @ 249,225 BUTTON button_11 ; CAPTION 'button_11' ; ACTION MsgInfo('Button Pressed') ; WIDTH 100 ; HEIGHT 28 ; FONT 'Arial' ; SIZE 10 END WINDOW * End BaseForm.fmg Entonces, en su programa... 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 información vea el ejemplo localizado en \BASIC\MULTI-INSTANCE -MAIN MENU Crea una definición de menú principal. Sintaxis: DEFINE MAIN MENU [ OF<ParentWindowName> ] DEFINE POPUP <cPopupCaption> [ NAME ] MENUITEM <cItemCaption> ACTION <ActionProvedureName> | <bBlock> [ NAME <MenuItemName>] [ IMAGE <cImageName> ] [ CHECKED ] ... ... [ SEPARATOR ] ... ... [ DEFINE POPUP <cPopupCaption> ] MENUITEM <cItemCaption> ACTION<ActionProvedureName> | <bBlock> [ NAME <MenuItemName>] [ IMAGE <cImageName> ] ... ... [ SEPARATOR ] ... ... [ END POPUP ] Página: 41 Harbour MiniGUI Roberto GUÍA DE REFERENCIA END POPUP ... ... END MENU Propiedades: • Checked • Enabled -MAXIMIZE WINDOW Maximiza una ventana. Sintaxis: MAXIMIZE WINDOW <WindowName> <WindowName>.Maximize -MINIMIZE WINDOW Minimiza una ventana. Sintaxis: MINIMIZE WINDOW <WIndowName> <WIndowName>.Minimize -MODIFY Establece el valor de una propiedad para una ventana o control. Sintaxis: MODIFY [ PROPERTY ] [ WINDOW ] <WindowName> <PropertyName> <PropertyValue> MODIFY [ PROPERTY ] [ CONTROL ] <ControlName> OF <WindowName> <PropertyName> <PropertyValue> -MONTHCALENDAR Crea un control MonthCalendar. Sintaxis: @ <row>,<col> MONTHCALENDAR <ControlName> [ OF | PARENT <ParentWindowName> ] [ VALUE <dValue> ] Página: 42 Harbour MiniGUI [ [ [ [ [ [ [ [ Roberto FONT <cFontName> ] [ SIZE <nFontsize> ] BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] TOOLTIP <cTooltip> ] NOTODAY ] [ NOTODAYCIRCLE ] [ WEEKNUMBERS ] INVISIBLE ] NOTABSTOP ] ON CHANGE <OnChangeProcedure> | <bBlock> ] HELPID <nHelpId> ] DEFINE MONTHCALENDAR <ControlName> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END MONTHCALENDAR Propiedades: • Col • Enabled • FontBold • FontItalic • FontName • FontSize • FontStrikeout • FontUnderline • Height • HelpId (D) • Name (R) • NoTabStop (D) • NoToday (D) • NoTodayCircle (D) • Parent (D) • Row • ToolTip • Value • Visible • WeekNumbers (D) • Width D: Disponible solo en la definición del control R: Sólo de Lectura Eventos: • OnChange Métodos: • Hide • Refresh • Release Página: 43 GUÍA DE REFERENCIA Harbour MiniGUI • • Roberto GUÍA DE REFERENCIA SetFocus Show -NOTIFY MENU Crea una definición de menú Notify (menu de contexto del icono de notificación) Sintaxis: DEFINE NOTIFY MENU [ OF<cParentWindowName> ] MENUITEM <cItemCaption> ACTION <ActionProvedureName> | <bBlock> [ NAME <MenuItemName>] [ IMAGE <cImageName> ] [ CHECKED ] ... ... [ SEPARATOR ] ... ... END MENU Propiedades: • Checked • Enabled • Name (R) R: Sólo de Lectura -ON KEY Permite definir una abreviación de teclado. Sintaxis: ON KEY <Key> [ OF <ParentWindow>] ACTION <ActionProcedureName> | <bBlock> Comentarios: < Key > tiene que ser una de las siguientes: F1 F4 F7 F10 F2 F5 F8 F11 F3 F6 F9 F12 BACK ESCAPE LEFT DOWN PRIOR TAB END UP INSERT NEXT RETURN HOME RIGHT DELETE ALT+A ALT+B ALT+C Página: 44 Harbour MiniGUI Roberto GUÍA DE REFERENCIA ALT+D ALT+G ALT+J ALT+M ALT+P ALT+S ALT+V ALT+Y ALT+E ALT+H ALT+K ALT+N ALT+Q ALT+T ALT+W ALT+Z ALT+F ALT+I ALT+L ALT+O ALT+R ALT+U ALT+X ALT+0 ALT+3 ALT+6 ALT+9 ALT+1 ALT+4 ALT+7 ALT+2 ALT+5 ALT+8 ALT+F1 ALT+F4 ALT+F7 ALT+F10 ALT+F2 ALT+F5 ALT+F8 ALT+F11 ALT+F3 ALT+F6 ALT+F9 ALT+F12 ALT+BACK ALT+ESCAPE ALT+LEFT ALT+DOWN ALT+PRIOR ALT+TAB ALT+END ALT+UP ALT+INSERT ALT+NEXT ALT+RETURN ALT+HOME ALT+RIGHT ALT+DELETE SHIFT+A SHIFT+D SHIFT+G SHIFT+J SHIFT+M SHIFT+P SHIFT+S SHIFT+V SHIFT+Y SHIFT+1 SHIFT+4 SHIFT+7 SHIFT+B SHIFT+E SHIFT+H SHIFT+K SHIFT+N SHIFT+Q SHIFT+T SHIFT+W SHIFT+Z SHIFT+2 SHIFT+5 SHIFT+8 SHIFT+C SHIFT+F SHIFT+I SHIFT+L SHIFT+O SHIFT+R SHIFT+U SHIFT+X SHIFT+0 SHIFT+3 SHIFT+6 SHIFT+9 SHIFT+F1 SHIFT+F4 SHIFT+F7 SHIFT+F10 SHIFT+F2 SHIFT+F5 SHIFT+F8 SHIFT+F11 SHIFT+F3 SHIFT+F6 SHIFT+F9 SHIFT+F12 SHIFT+BACK SHIFT+ESCAPE SHIFT+LEFT SHIFT+DOWN SHIFT+TAB SHIFT+END SHIFT+UP SHIFT+INSERT SHIFT+RETURN SHIFT+HOME SHIFT+RIGHT SHIFT+DELETE Página: 45 Harbour MiniGUI Roberto SHIFT+PRIOR SHIFT+NEXT CONTROL+A CONTROL+D CONTROL+G CONTROL+J CONTROL+M CONTROL+P CONTROL+S CONTROL+V CONTROL+Y CONTROL+1 CONTROL+4 CONTROL+7 CONTROL+B CONTROL+E CONTROL+H CONTROL+K CONTROL+N CONTROL+Q CONTROL+T CONTROL+W CONTROL+Z CONTROL+2 CONTROL+5 CONTROL+8 CONTROL+C CONTROL+F CONTROL+I CONTROL+L CONTROL+O CONTROL+R CONTROL+U CONTROL+X CONTROL+0 CONTROL+3 CONTROL+6 CONTROL+9 CONTROL+F1 CONTROL+F4 CONTROL+F7 CONTROL+F10 CONTROL+F2 CONTROL+F5 CONTROL+F8 CONTROL+F11 CONTROL+F3 CONTROL+F6 CONTROL+F9 CONTROL+F12 CONTROL+BACK CONTROL+ESCAPE CONTROL+LEFT CONTROL+DOWN CONTROL+PRIOR CONTROL+TAB CONTROL+END CONTROL+UP CONTROL+INSERT CONTROL+NEXT CONTROL+RETURN CONTROL+HOME CONTROL+RIGHT CONTROL+DELETE -OPEN CONNECTION Abre una conexión socket. Sintaxis: OPEN CONNECTION <ConnectionName> SERVER <ServerName> PORT <PortNumber> HTTP -PLAY WAVE Reproduce un sonido desde un archivo o recurso. Sintaxis: PLAY [ [ [ [ [ GUÍA DE REFERENCIA WAVE <cWaveName> FROM RESOURCE ] SYNC ] NOSTOP ] LOOP ] NODEFAULT ] Página: 46 Harbour MiniGUI Roberto GUÍA DE REFERENCIA FROM RESOURCE Indica que el archivo que quiere reproducirse está dentro de un EXE. Hay un ejemplo de esto en \SAMPLES\BASIC\RESOURCEDEMO. SYNC Si se usa esta cláusula, el comando PLAY WAVE, no se vuelve el control hasta que el sonido termina de reproducirse. NOSTOP Si se usa esta cláusula y se está reproduciendo otro sonido, el comando retornará inmediatamente. LOOP El sonido se reproduce repetidamente. NODEFAULT Si el archivo/recurso de sonido especificado no se encuentra, no se intentará reproducir el sonido por defecto definido por el sistema. Comandos Relacionados: STOP WAVE -PLAYER Crea un control Player Sintaxis: @ <nRow> ,<nCol> PLAYER <ControlName> [ OF | PARENT <ParentWindowName> ] WIDTH <nWidth> HEIGHT <nHeight> FILE <cFileName> [ NOAUTOSIZEWINDOW ] [ NOAUTOSIZEMOVIE ] [ NOERRORDLG ] [ NOMENU ] [ NOOPEN ] [ NOPLAYBAR ] [ SHOWALL ] [ SHOMODE ] [ SHOWNAME ] [ SHOWPOSITION ] [ HELPID <nHelpId> ] DEFINE PLAYER <ControlName> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END PLAYER Comandos relacionados: CLOSE PLAYER <name> OF <Parent> Página: 47 Harbour MiniGUI Roberto 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> Propiedades: • Col • Enabled • File (D) • Height • HelpId (D) • Lenght • Name (R) • NoAutoSizeMove (D) • NoAutoSizeWindow (D) • NoErrorDlg (D) • NoMenu (D) • NoOpen (D) • NoPlayBar (D) • Parent (D) • Position • Repeat • Row • ShowAll (D) • ShowMode (D) • ShowName (D) • ShowPosition (D) • Speed • Visible • Volume • Width • Zoom D: Disponible solo en la definición del control R: Sólo de Lectura Página: 48 GUÍA DE REFERENCIA Harbour MiniGUI Roberto GUÍA DE REFERENCIA Métodos: • Close • Eject • Hide • Open • OpenDialog • Pause • Play • PlayReverse • Release • Resume • SetFocus • Show • Stop -PROGRESSBAR Crea un control Progressbar en una Venta. Sintaxis: @ <nRow> ,<nCol> PROGRESSBAR<ControlName> [ OF | PARENT <ParentWindowName> ] RANGE <nRangeMin> , <nRangeMax> [ WIDTH <nWidth> ] [ HEIGHT <nHeight> ] [ TOOLTIP <cToolTipText> ] [ VERTICAL ] [ SMOOTH ] [ HELPID <nHelpId> ] [ BACKCOLOR <aBackColor> ] [ FORECOLOR <aForeColor> ] DEFINE PROGRESSBAR <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END PROGRESSBAR Descripción: @ <nRow> , <nCol> Posición dentro de la ventana en coordenadas de píxeles. PROGRESSBAR <ControlName> Nombre asignado al control Progressbar. Página: 49 Harbour MiniGUI Roberto GUÍA DE REFERENCIA [ OF | PARENT <ParentWindowName> ] Referencia a la ventana Padre. RANGE <nRangeMin> <nRangeMax> Rango Mínimo y Máximo que puede tomar el control Progressbar, ambos deberán estar en el rango de 0 a 65,535. El valor del Rango Máximo debe corresponder al total de eventos que se desea representar. Valores fuera de este rango (negativos o mayores al permitido) provocarán el funcionamiento inadecuado del control. [ WIDTH <nWidth> ] [ HEIGHT <nHeight> ] El tamaño deseado (Ancho y Alto) del control Progressbar en píxeles. [ 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 aplicación. [ 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 numéricos (en el rango de 0 a 255) que corresponde al espectro “RGB” (Rojo-Verde-Azul), también 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 Página: 50 Harbour MiniGUI • • • Roberto GUÍA DE REFERENCIA Vertical (D) Visible Width D: Disponible solo en la definición del control R: Sólo de Lectura Métodos • 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; Página: 51 Harbour MiniGUI Roberto 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 @ 150,100 BUTTON PROCESA; CAPTION 'Inicia'; ACTION {|| TEST()}; TOOLTIP 'Inicia el proceso' END WINDOW CENTER WINDOW Vent_1 ACTIVATE WINDOW Vent_1 RETURN FUNCTION Test() LOCAL k:=100 DO WHILE k>-1 Vent_1.Barra_1.Value Vent_1.Barra_2.Value Vent_1.Barra_3.Value Vent_1.Barra_4.Value Vent_1.LABEL_2.Value MM:=INKEY(.1) k:= k-1 ENDDO := := := := := 100-k k 100-k k STR(k,3,0) + '%' 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) Página: 52 GUÍA DE REFERENCIA Harbour MiniGUI Roberto GUÍA 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} @ 180,250 BUTTON PROCESA; CAPTION 'INDEXAR'; ACTION {|| INDEX_TEST()}; TOOLTIP 'Indexa la base' END WINDOW CENTER WINDOW Vent_1 ACTIVATE WINDOW Vent_1 RETURN FUNCTION INDEX_TEST PUBLIC nRegistro USE INVENTA IndexBlock:={ || IIF(LastRec()<100,1,IIF(LastRec()<500,10,100)) } // Primer Indexado nRegistro:=0 Vent_1.LABEL_2.Value:= STR(LastRec(),9,0) 'Base:'+ ALIAS() Página: 53 + " Total de Registros: " + Harbour MiniGUI Roberto GUÍA 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 pequeñas 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 ''; Página: 54 " + Harbour MiniGUI Roberto GUÍA 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} @ 180,250 BUTTON PROCESA; CAPTION 'INDEXAR'; ACTION {|| INDEX_TEST()}; TOOLTIP 'Indexa la base' END WINDOW CENTER WINDOW Vent_1 ACTIVATE WINDOW Vent_1 RETURN FUNCTION INDEX_TEST PUBLIC nRegistro USE BASE2 NEW DELETE TAG CODIGO, DESCRI IndexBlock:={ || IIF(LastRec()<100,1,IIF(LastRec()<500,10,100)) } 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 pequeñas MM:=Inkey(.2) RETURN (.T.) Página: 55 " + " + Harbour MiniGUI Roberto GUÍA DE REFERENCIA -RADIOGROUP Crea un control Radiogroup Sintaxis: @ <nRow> ,<nCol> RADIOGROUP<ControlName> [ OF | PARENT <cParentWindowName> ] OPTIONS<acOptions> [ VALUE <nValue> ] [ WIDTH <nWidth> ] [ SPACING <nSpacing> ] [ FONT <cFontName> SIZE <nFontSize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cToolTipText> ] [ BACKCOLOR <aBackColor> ] [ FONTCOLOR <aFontColor> ] [ ON CHANGE <OnChangeProcedure> | <bBlock> ] [ TRANSPARENT ] [ HELPID <nHelpId> ] [ INVISIBLE ] [ NOTABSTOP ] DEFINE RADIOGROUP <Controlname> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END RADIOGROUP 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 Página: 56 Harbour MiniGUI Roberto GUÍA DE REFERENCIA D: Disponible solo en la definición del control R: Sólo de Lectura Eventos: • OnChange Métodos: • 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 definición de teclado definida vía comando ON KEY. Sintaxis: RELEASE KEY <Key> OF <WindowName> Página: 57 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Refiérase 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 cláusula ALL / MAIN es utilizada (o la ventana principal es especificada) todas las ventanas activas son eliminadas y el programa se termina. -RESTORE WINDOW Restaura una Ventana. Sintaxis: RESTORE WINDOW <WindowName> <WindowName>.Restore -RICHEDITBOX Crea un control RichEditBox Sintaxis: @ <nRow>,<nCol> RICHEDITBOX <ControlName> [ OF | PARENT> <ParentWindowName> ] [ WIDTH <nWidth> ] [ HEIGHT <nHeight> ] [ FIELD <Field> ] [ VALUE <cValue> ] [ READONLY ] [ FONT <cFontName> ] [ SIZE <nFontSize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cToolTip> ] [ BACKCOLOR <aBackColor> ] [ MAXLENGTH <nMaxLength> ] [ ON GOTFOCUS <OnGotFocusProcedur> | <bBlock> ] [ ON CHANGE <OnChangeProcedure> | <bBlock> ] [ ON LOSTFOCUS <OnLostFocusProcedur> | <bBlock> ] [ HELPID <nHelpId> ] [ INVISIBLE ] [ NOTABSTOP ] DEFINE RICHEDITBOX <ControlName> <PropertyName> <PropertyValue>... Página: 58 Harbour MiniGUI <EventName> END RICHEDITBOX Roberto <EventProcedure> | <bBlock>... Propiedades: • BackColor • Break (D) • CaretPos • Col • Enabled • Field (D) • FontBold • • FontItalic • FontName • FontSize • FontStrikeout • FontUnderline • Height • HelpId (D) • MaxLength (D) • Name (R) • Parent (D) • ReadOnly • Row • TabStop (D) • ToolTip • Value • Visible • Width D: Disponible solo en la definición del control R: Sólo de Lectura. Eventos: • OnChange • OnGotFocus • OnLostFocus Métodos: • Hide • Refresh • Release • Save • SetFocus • Show Página: 59 GUÍA DE REFERENCIA Harbour MiniGUI Roberto GUÍA DE REFERENCIA Notas: • Windows ignora los parámetros de color cuando a un control se le establece ReadOnly. -SCREENSAVER Crea una aplicación ScreenSaver. Sintaxis: DEFINE SCREENSAVER WINDOW <ScrSaverName> MAIN [ NOSHOW> ] [ ON INIT <InitProcedureName> | <bBlock> ] [ ON RELEASE <ReleaseProcedureName> | <bBlock> ] [ ON PAINT <WindowPaintProcedureName> | <bBlock> [ INTERVAL <nInterval> ] ] [ BACKCOLOR <anBackColor> ] Comandos Relacionados: INSTALL SCREENSAVER [ TO FILE <cFileName> ] [ <lShow: SHOW> ] CONFIGURE SCREENSAVER <ConfigProcedure> ACTIVATE SCREENSAVER WINDOW <name, ...> PARAMETERS <cParameters> Estos comandos son contribución de Grigory Filatov < gfilatov@freemail.ru > -SET BROWSESYNC Cuando se pone en ON, el control BROWSE moverá el indicador de registro en su Workarea según la selección del usuario o la propiedad value establecida en programación. Sintaxis: SET BROWSESYNC ON | OFF -SET COMMPATH Establece la ruta común para la Inter Comunicación de aplicaciones. Sintaxis: SET COMMPATH TO <cCommonPathName> Página: 60 Harbour MiniGUI Roberto GUÍA 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 definición de control. Sintaxis: SET FONT TO <cFontName> , <nFontSize> -SET HELPFILE Establece el archivo de ayuda predefinido para una aplicación 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 confirmación. Utilizando la cláusula MAIN, el usuario sólo 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: Página: 61 Harbour MiniGUI Roberto GUÍA 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 múltiples 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, actúa 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 estación para la comunicación de inter-aplicación. Sintaxis: SET STATIONNAME TO <cStationname> -SHOW CONTROL Muestra un objeto Gui. Sintaxis: SHOW CONTROL <ControlName> OF <WIndowName> Página: 62 Harbour MiniGUI Roberto <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 ] DEFINE SLIDER <ControlName> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END SLIDER Propiedades: • Both (D) • Col • Enabled • Height • HelpId (D) • Left (D) • Name (R) • NoTicks (D) • Parent (D) • RangeMax • RangeMin • Row • ToolTip Página: 63 GUÍA DE REFERENCIA Harbour MiniGUI • • • • • Roberto GUÍA DE REFERENCIA Top (D) Value Vertical (D) Visible Width D: Disponible solo en la definición del control R: Sólo de Lectura Eventos: • OnChange Métodos: • Hide • Release • SetFocus • Show Comentarios: El valor mínimo puede estar en el rango de 0 a 65,535. Igualmente, el valor máximo puede estar desde 0 a 65,535 -SPINNER Crea un control Spinner Sintaxis: @ <nRow> ,<nCol> SPINNER <ControlName> [ OF | PARENT <ParentWindowName> ] RANGE <nRangeMin> , <nRangeMax> [ VALUE <nValue> ] [ WIDTH <nWidth> ] [ HEIGHT <nHeight> ] [ FONT <cFontName> SIZE <nFontSize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cToolTipText> ] [ BACKCOLOR <aBackColor> ] [ FONTCOLOR <aFontColor> ] [ ON GOTFOCUS <OnGotFocusProcedure> | <bBlock> ] [ ON CHANGE <OnChangeProcedure> | <bBlock> ] [ ON LOSTFOCUS <OnLostFocusProcedure> | <bBlock> ] [ HELPID <nHelpId> ] [ INVISIBLE ] [ NOTABSTOP ] [ WRAP ] [ READONLY ] [ INCREMENT <nIncrement> ] DEFINE SPINNER <Controlname> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END SPINNER Página: 64 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Propiedades: • BackColor • Col • Enabled • FontBold • FontColor • FontItalic • FontName • FontSize • FontStrikeout • FontUnderline • Height • HelpId (D) • Increment (D) • Name (R) • Parent (D) • RangeMax • RangeMin • ReadOnly (D) • Row • ToolTip • Value • Visible • Width • Wrap (D) D: Disponible solo en la definición del control R: Sólo de Lectura Eventos: • OnChange • OnGotFocus • OnLostFocus Métodos: • Hide • Release • SetFocus • Show Comentarios: El valor mínimo puede estar en el rango de 0 a 65,535. Igualmente, el valor máximo puede estar desde 0 a 65,535 Página: 65 Harbour MiniGUI Roberto GUÍA 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 definición 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. Sólo puede usarse con listbox, grid, editbox, tree, browse, combobox y ventanas SplitChild. Usted debe omitir' @ <row>,<col >' en la definición de control. -STATUSBAR Crea un control StatusBar. Sintaxis: DEFINE STATUSBAR [ OF | PARENT <ParentWindowName> ] [ FONT <cFontName> SIZE <nFontSize> ] STATUSITEM <cItemCaption> [WIDTH <nWidth>] [ACTION <ActionProvedureName> | <bBlock> ] [ ICON <cIconName>] [ FLAT | RAISED ] [ TOOLTIP <cToolTipText>] [ DATE [WIDTH <nWidth>] [ ACTION <ActionProvedureName> | <bBlock> ] [ TOOLTIP <cToolTipText>] ] [ CLOCK [WIDTH <nWidth>] [ ACTION <ActionProvedureName> | <bBlock> ] [ TOOLTIP <cToolTipText>] ] [ KEYBOARD [ WIDTH <nWidth> ] [ ACTION <ActionProvedureName> | <bBlock> ] [ TOOLTIP <cToolTipText> ] ] ... ... END STATUSBAR Nota: Página: 66 Harbour MiniGUI Roberto GUÍA DE REFERENCIA El tooltip solo se mostrará para una parte, si la parte tiene un icono y ningún texto o si todo el texto no puede mostrarse dentro de esa parte -STORE KEY Asigna un bloque de código definido vía comando ON KEY a una variable: Sintaxis: STORE KEY <Key> OF <WindowName> TO <bVar> -TAB Crea un control Tab. Sintaxis: DEFINE TAB<ControlName> [ OF<ParentWindowName> ] AT <nRow> ,<nCol> WIDTH<nWidth> HEIGHT<nHeight> [ VALUE <nValue> ] [ FONT <cFontname> SIZE <nFonSize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cToolTipText> ] [ BUTTONS ] [ FLAT ] [ HOTTRACK ] [ VERTICAL ] [ ON CHANGE <OnChangeProcedure> | <bBlock> ] DEFINE PAGE <cPageCaption> [ IMAGE <cImageName> ] ... Control Definitions... END PAGE ... END TAB Propiedades: • Buttons (D) • Caption(nPageNumber) • Col • Enabled • Flat (D) • FontBold • FontItalic • Fontname • FontSize • FontStrikeout • FontUnderline Página: 67 Harbour MiniGUI • • • • • • • • Roberto GUÍA DE REFERENCIA Height HotTrack (D) Name (R) Row Value Vertical (D) Visible Width D: Disponible solo en la definición del control R: Sólo de Lectura Eventos: • OnChange Métodos: • AddControl ( ControlName , nPagenumber , nRow , nCol ) • AddPage ( nPageNumber , cCaption [ , cImageName ] ) • DeletePage ( nPageNumber ) • Hide • Release • Show -TEXTBOX Crea un control TextBox Sintaxis: @ <nRow> ,<nCol> TEXTBOX <ControlName> [ OF | PARENT <ParentWindowName> ] [ HEIGHT <nHeight> ] [ FIELD <FieldName> ] [ VALUE <nValue> ] [ READONLY ] [ WIDTH <nWidth> ] [ NUMERIC [ INPUTMASK <cMask> FORMAT <cFormat>] ] | PASSWORD ] [ FONT <cFontName> SIZE <nFontSize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cToolTipText> ] [ BACKCOLOR <aBackColor> ] [ FONTCOLOR <aFontColor> ] [ DATE ] [ MAXLENGTH <nInputLength> ] [ UPPERCASE | LOWERCASE ] [ ON GOTFOCUS <OnGotFocusProcedur> | <bBlock> ] [ ON CHANGE <OnChangeProcedure> | <bBlock> ] [ ON LOSTFOCUS <OnLostFocusProcedure> | <bBlock> ] [ ON ENTER <OnEnterProcedure> | <bBlock> ] [ RIGHTALIGN ] [ INVISIBLE ] Página: 68 Harbour MiniGUI Roberto GUÍA DE REFERENCIA [ NOTABSTOP ] [ HELPID <nHelpId> ] DEFINE TEXTBOX <Controlname> <PropertyName> <PropertyValue>... <EventName> <EventProcedure> | <bBlock>... END TEXTBOX Caracteres InputMask (Textbox numérico): 9 Muestra dígitos $ Muestra el signo dólar en lugar de un espacio inicial. * Muestra un asterisco en lugar de un espacio inicial. . Especifica la posición del punto decimal. , Especifica la posición de una coma. Caracteres InputMask (Textbox No numérico): 9 Muestra dígitos A Muestra caracteres alfabéticos. ¡ Muestra caracteres alfabéticos (Conversión a Mayúsculas) Todos los otros caracteres son incluidos en el texto en la posición indicada por la máscara. Caracteres de Formato (solamente en textbox numérico): C Muestra CR después de un número positivo X Muestra DB después de un número negativo ( Encierra los números negativos en paréntesis E Muestra los números en formato británico 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) Página: 69 Harbour MiniGUI • • • • • • • • • • • • • Roberto GUÍA 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 definición del control. R: Solo lectura Eventos: • OnChange • OnEnter • OnGotFocus • OnLostFocus Métodos: • Hide • Refresh • Release • Save • SetFocus • Show Nota: • Las cláusulas Inputmask y Maxlength no puede usarse simultáneamente. -THIS Referencia al Objeto. Proporciona una referencia al actual Control / Ventana en el código de evento. Sintaxis: This.<Property/MethodName> Página: 70 Harbour MiniGUI Roberto GUÍA DE REFERENCIA -THISWINDOW Referencia al Objeto. Proporciona una referencia al actual Control / Ventana en el código de evento. Sintaxis: ThisWindow.<Property/MethodName> -TIMER Crea un control timer. Sintaxis: DEFINE TIMER <ControlName> OF<ParentWindowName> INTERVAL<nInterval> ACTION <ActionProcedureName> | <bBlock> Propiedades: • Enabled • Name (R) • Release • Value R: Sólo de Lectura Eventos: • Action -TOOLBAR Crea un control ToolBar Sintaxis: DEFINE TOOLBAR <ControlName> [ OF | PARENT <ParentWindowName> ] [ BUTTONSIZE <nWidth> , <nHeight> ] [ FONT <cFontName> ] [ SIZE <nFontSize> ] [ BOLD ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ] [ TOOLTIP <cTooltipText> ] [ FLAT ] [ BOTTOM ] [ RIGHTTEXT ] [ GRIPPERTEXT ] [ BORDER ] [ BREAK ] BUTTON <Controlname> [ CAPTION <cCaption> ] Página: 71 Harbour MiniGUI Roberto GUÍA DE REFERENCIA [ PICTURE <cPictureName> ] [ ACTION | ON CLICK | ONCLICK <ActionProcedureName> | <bBlock> ] [ SEPARATOR ] [ AUTOSIZE ] [ DROPDOWN ] [ WHOLEDROPDOWN ] [ CHECK ] [ GROUP ] …… END TOOLBAR Propiedades de Toolbar: • Bottom (D) • ButtonSize (D) • Flat (D) • GripperText (D) • Parent (D) • RightText (D) Propiedades de Toolbar Button: • Caption (D) • Check (D) • DropDown (D) • Group (D) • Picture (D) • Separator (D) • WholeDropDown (D) D: Disponible solo en la definición del control. Eventos de Toolbar Button: • OnClick Notas: • La Propiedad GRIPPERTEXT sólo trabaja para barras de herramientas definidas dentro del splitbox. • Las cláusulas “Action” simultáneamente. y “WholeDropDown” -TREE Crea un control Tree. Sintaxis: DEFINE TREE <ControlName> Página: 72 no pueden utilizarse Harbour MiniGUI ]] Roberto GUÍA DE REFERENCIA [ OF | PARENT <ParentWindowName> ] AT <nRow> ,<nCol> WIDTH<nWidth> HEIGHT<nHeight> [ VALUE <nValue> ] [ FONT <cFontname> SIZE <nFonSize> ] [ TOOLTIP <cToolTipText> ] [ ON GOTFOCUS <OnGotFocusProcedur> | <bBlock> ] [ ON CHANGE <OnChangeProcedure> | <bBlock> ] [ ON LOSTFOCUS <OnLostFocusProcedure> | <bBlock> ]] [ ON DBLCLICK <OnDblClickProcedure> | <bBlock> ] [ BREAK ] [ NODEIMAGES <aImgNode> [ ITEMIMAGES <aImgItem> ] [ <noBut: NOROOTBUTTON> [ ITEMIDS ] [ HELPID <nHelpId> ] ... ... [ NODE <cNodeCaption> ] [ IMAGES <aImage> ] [ ID <nItemId> ] ... TREEITEM <cTreeItemCaption> [ IMAGES <aImage> ] [ ID <nItemId> ] ... [ END NODE ] ... ... END TREE Propiedades: • Break (D) • Col • Enabled • FontBold • FontItalic • FontName • FontSize • FontStrikeout • FontUnderline • Height • HelpId (D) • Item ( nItemIndex | ItemId ) • ItemCount • ItemImages (D) • Name (R) • NodeImages (D) • Parent (D) • Row Página: 73 Harbour MiniGUI • • • • Roberto GUÍA DE REFERENCIA ToolTip Value Visible Width D: Disponible solo en la definición del control. R: Solo lectura Eventos: • OnChange • OnDblClick • OnGotFocus • OnLostFocus Métodos: • AddItem ( cItemText , nParentItemIndex | nParentItemId ) • Collapse ( nItemIndex | nItemId ) • DeleteAllItems • DeleteItem ( nItemIndex | nItemId ) • Expand ( nItemIndex | nItemId ) • Hide • Release • SetFocus • Show Nota: • Cuando la cláusula de ITEMIDS es especificada, usted puede asignar un ID numérico (identificador) para cada item/nodo. Así, todas las propiedades del árbol y métodos trabajarán usando estos IDs en lugar de la posición del ítem. -UNCOMPRESS Descomprime un archivo ZIP. Sintaxis: UNCOMPRESS [ FILE ] <cZipFile> EXTRACTPATH <cExtractPath> [ BLOCK <bBlock> ] [ CREATEDIR ] [ PASSWORD <cPassword> ] -WINDOW Crea una definición de ventana Página: 74 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Sintaxis: Ventana Estándar: DEFINE WINDOW <WindowName> AT <nRow> ,<nCol> WIDTH <nWindth> HEIGHT <nHeight> [ VIRTUAL WIDTH <nVirtualWindth> ] [ VIRTUAL HEIGHT <nVirtualHeight> ] [ TITLE <cTitle> ] [ ICON <cIconName> ] [ MAIN | CHILD ] [ NOSHOW ] [ TOPMOST ] [ NOAUTORELEASE ] [ NOMINIMIZE ] [ NOMAXIMIZE ] [ NOSIZE ] [ NOSYSMENU ] [ NOCAPTION ] [ CURSOR <CursorName> ] [ ON INIT<InitProcedureName> | <bBlock> ] [ ON RELEASE <ReleaseProcedureName> | <bBlock> ] [ ON INTERACTIVECLOSE <InteractiveCloseProcedureName> | <bBlock> ] [ ON MOUSECLICK<MouseClickProcedureName> | <bBlock> ] [ ON MOUSEDRAG<MouseDragProcedureName> | <bBlock> ] [ ON MOUSEMOVE<MouseMoveProcedureName> | <bBlock> ] [ ON SIZE<WindowSizeProcedureName> | <bBlock> ] [ ON MAXIMIZE <WindowMaximizeProcedureName> | <bBlock> ] [ ON MINIMIZE <WindowMinimizeProcedureName> | <bBlock> ] [ ON PAINT<WindowPaintProcedureName> | <bBlock> ] [ BACKCOLOR <anBackColor> ] [ FONT <cFontName> SIZE <nFontSize> ] [ NOTIFYICON <cNotifyIconName> ] [ NOTIFYTOOLTIP <cNotifyTooltip> ] [ ON NOTIFYCLICK <NotifyClickProcedure> | <bBlock> ] [ ON GOTFOCUS <ProcedureName> | <bBlock> ] [ ON LOSTFOCUS <ProcedureName> | <bBlock> ] [ ON SCROLLUP <ProcedureName> | <bBlock> ] [ ON SCROLLDOWN <ProcedureName> | <bBlock> ] [ ON SCROLLLEFT <ProcedureName> | <bBlock> ] [ ON SCROLLRIGHT <ProcedureName> | <bBlock> ] [ ON HSCROLLBOX <ProcedureName> | <bBlock> ] [ ON VSCROLLBOX <ProcedureName> | <bBlock> ] [ HELPBUTTON ] ... Control Definitions... END WINDOW Ventana Modal DEFINE WINDOW <WindowName> AT <nRow> ,<nCol> WIDTH <nWindth> HEIGHT <nHeight> [ VIRTUAL WIDTH <nVirtualWindth> ] [ VIRTUAL HEIGHT <nVirtualHeight> ] [ TITLE <cTitle> ] [ ICON <cIconName> ] MODAL [ NOSHOW ] [ NOAUTORELEASE ] [ NOSIZE ] [ NOSYSMENU ] [ NOCAPTION ] [ CURSOR <CursorName> ] [ ON INIT<InitProcedureName> | <bBlock> ] [ ON RELEASE<ReleaseProcedureName> | <bBlock> ] Página: 75 Harbour MiniGUI [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ Roberto GUÍA DE REFERENCIA ON INTERACTIVECLOSE <InteractiveCloseProcedureName> | <bBlock> ] ON MOUSECLICK<MouseClickProcedureName> | <bBlock> ] ON MOUSEDRAG<MouseDragProcedureName> | <bBlock> ] ON MOUSEMOVE<MouseMoveProcedureName> | <bBlock> ] ON SIZE <WindowSizeProcedureName> | <bBlock> ] ON PAINT<WindowPaintProcedureName> | <bBlock> ] BACKCOLOR <anBackColor> ] FONT <cFontName> SIZE <nFontSize> ] ON GOTFOCUS <ProcedureName> | <bBlock> ] ON LOSTFOCUS <ProcedureName> | <bBlock> ] ON SCROLLUP <ProcedureName> | <bBlock> ] ON SCROLLDOWN <ProcedureName> | <bBlock> ] ON SCROLLLEFT <ProcedureName> | <bBlock> ] ON SCROLLRIGHT <ProcedureName> | <bBlock> ] ON HSCROLLBOX <ProcedureName> | <bBlock> ] ON VSCROLLBOX <ProcedureName> | <bBlock> ] HELPBUTTON ] ... Control Definitions... END WINDOW Ventana SplitChild: DEFINE WINDOW <WindowName> WIDTH <nWindth> HEIGHT <nHeight> [ VIRTUAL WIDTH <nVirtualWindth> ] [ VIRTUAL HEIGHT <nVirtualHeight> ] [ TITLE <cTitle> ] SPLITCHILD [ NOCAPTION ] [ CURSOR <CursorName> ] [ FONT <cFontName> SIZE <nFontSize> ] [ GRIPPERTEXT ] [ BREAK ] [ FOCUSED ] [ ON GOTFOCUS <ProcedureName> | <bBlock> ] [ ON LOSTFOCUS <ProcedureName> | <bBlock> ] [ ON SCROLLUP <ProcedureName> | <bBlock> ] [ ON SCROLLDOWN <ProcedureName> | <bBlock> ] [ ON SCROLLLEFT <ProcedureName> | <bBlock> ] [ ON SCROLLRIGHT <ProcedureName> | <bBlock> ] [ ON HSCROLLBOX <ProcedureName> | <bBlock> ] [ ON VSCROLLBOX <ProcedureName> | <bBlock> ] ... Control Definitions... END WINDOW Propiedades: • Col • Cursor (R) • FocusedControl • Height • Name (R) • NotifyIcon Página: 76 Harbour MiniGUI • • • • Roberto GUÍA DE REFERENCIA NotifyTooltip Row Title Width R: Sólo de Lectura Métodos: • 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 ‘Dimensión Virtual’ (utilice splitchild's en lugar de 'Dimensión Virtual') • Las ventanas con estilo NOAUTORELEASE, solo pueden usarse con la activación de ventanas múltiples (ACTIVATE WINDOW <WindowList,...>) o con el comando ACTIVATE WINDOW ALL. Página: 77 Harbour MiniGUI Roberto GUÍA DE REFERENCIA FUNCIONES -CreateFolder() Crea una Carpeta basada en el parámetro dado. Sintaxis: CreateFolder(<cFolder>)->Nil -DoMethod() Ejecuta un método. Sintaxis: DoMethod(<WindowName>,[<ControlName>],<MethodName>) -GetColor() Abre el sistema de dialogo de selección de color y devuelve el color seleccionado. Sintaxis: GetColor ( [<aInitColor>] ) --> aSelectedColor -GetCurrentFolder() Devuelve la carpeta actual como una cadena de caracteres. Sintaxis: GetCurrentFolder()->cCurrentFolder -GetData() Recibe datos de otra aplicación Minigui. Sintaxis: GetData ( )--> <Data> Comentarios: • Si no existe ningún datos disponible para la estación activa, devuelve Nil Página: 78 Harbour MiniGUI Roberto GUÍA DE REFERENCIA -GetDesktopFolder() Devuelve la ruta de la carpeta del Escritorio Sintaxis: GetDesktopFolder ( ) --> cDesktopFolderPath -GetDesktopHeight() Devuelve la altura del Escritorio en Píxeles. Sintaxis: GetDesktopHeight ( ) --> nDesktopHeight -GetDesktopWidth() Devuelve el ancho del escritorio en píxeles. Sintaxis: GetDesktopWidth ( ) --> nDesktopWidth -GetFile() Abre una ventana de archivo y devuelve el nombre del archivo seleccionado. Sintaxis: GetFile ( acFilter , cTitle , cDefaultPath , lMultiSelect , lNoChangeDir )--> SelectedFileName(s) Comentarios: • Si la opción <lMultiSelect> se utiliza, devuelve un array de caracteres conteniendo los nombres de archivo seleccionados (El máximo 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 Sintaxis: GetFolder ( [<cTitle>] )--> cSelectedFolderName Página: 79 Harbour MiniGUI Roberto GUÍA DE REFERENCIA -GetFont() Abre un diálogo de selección de fuente y devuelve el nombre de la fuente, tamaño y estilo seleccionado. Sintaxis: GetFont ( [cInitFontName , nInitFontSize , lBold , lItalic , anInitColor , lUnderLine , lStrikeOut , nCharset.] )--> aFont El array devuelto tiene los siguientes elementos 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 numéricos) aFont [6] : Font Underline (Logical) aFont [7] : Font StrikeOut (Logical) aFont [8] : Font Charset (Numeric) Si cancela la selección, el array devuelto contiene los valores siguientes: aFont [1] : "" aFont [2] : 0 aFont [3] : .F. aFont [4] : .F. aFont [5] : 0 aFont [6] : .F. aFont [7] : .F. aFont [8] : 0 Juegos de caracteres disponibles: ANSI_CHARSET DEFAULT_CHARSET SYMBOL_CHARSET SHIFTJIS_CHARSET HANGEUL_CHARSET HANGUL_CHARSET GB2312_CHARSET CHINESEBIG5_CHARSET OEM_CHARSET JOHAB_CHARSET HEBREW_CHARSET ARABIC_CHARSET GREEK_CHARSET TURKISH_CHARSET Página: 80 Harbour MiniGUI Roberto GUÍA DE REFERENCIA VIETNAMESE_CHARSET THAI_CHARSET EASTEUROPE_CHARSET RUSSIAN_CHARSET MAC_CHARSET BALTIC_CHARSET -GetMyDocumentsFolder() Devuelve la ruta de la carpeta Mis Documentos. Sintaxis: GetMyDocumentsFolder ( ) --> cMyDocumentsFolderPath -GetProgramFilesFolder() Devuelve la ruta de la carpeta Archivos de Programa. Sintaxis: GetProgramFilesFolder ( ) --> cProgramfilesFolderPath -GetProperty() Devuelve el valor de una propiedad de un control de determinada ventana. Sintaxis: GetProperty (<cWindowName>[,<cControlName>] ,<cPropertyName>)--> PropertyValue <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 fracción 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’ ) Página: 81 Harbour MiniGUI Roberto GUÍA DE REFERENCIA -GetSystemFolder() Devuelve la ruta de la carpeta System. Sintaxis: GetSystemFolder ( ) --> cSystemFolderPath -GetTempFolder() Devuelve la ruta de la carpeta Temp. Sintaxis: GetTempFolder ( ) --> cTempFolderPath -GetWindowsFolder() Devuelve la ruta de la carpeta Windows. Sintaxis: GetWindowsFolder ( ) --> cWindowsFolderPath -InputBox() Muestra una ventana modal usada para captura de una cadena simple. Sintaxis: InputBox (cInputPrompt [, cWindowTitle] [, cDefaultValue] [, nTimeout , cTimeoutValue] [, lMultiLine ] ) -InputWindow() Crea una ventana de edición automáticamente basada en los tipos de valores. Sintaxis: InputWindow(<Title>,<acLabels>,<aInitialValues>,<aFormats>) --> aResult Descripción de argumentos de InputWindow() Argumento Descripción <Title> Titulo de la Ventana <acLabels> Array de caracteres que contiene las etiquetas con la descripción de los ítems. <aInitialValues> Array que contiene los valores iniciales para editar. <aFormats> Array que contiene información de los formatos para editar. Controles Creados Automáticamente en InputWindow() Tipo de Valor Inicial Tipo de Formato Página: 82 Control Creado Harbour MiniGUI Carácter Carácter Logical Numeric Numeric Date Roberto GUÍA DE REFERENCIA Numeric (< 32) Numeric (>= 32) Nil Character Array Character (InputMask) Nil TEXTBOX EDITBOX CHECKBOX COMBOBOX TEXTBOX(NUMERIC) DATEPICKER -IsCapsLockActive() Devuelve un valor lógico indicando el estado de la tecla CAPS LOCK. Sintaxis: IsCapsLockActive() --> lBoolean -IsControlDefined() Determina si un control está definido. Sintaxis: IsControlDefined (<ControlName>,<WindowName>) --> lBoolean -IsInsertActive() Devuelve un valor lógico indicando el estado de la tecla INSERT. Sintaxis: IsInsertActive() --> lBoolean -IsNumLockActive() Devuelve un valor lógico indicando el estado de la tecla NUM LOCK. Sintaxis: IsNumLockActive() --> lBoolean -IsScrollLockActive() Devuelve un valor lógico indicando el estado de la tecla SCROLL LOCK. Sintaxis: IsScrollLockActive() --> lBoolean Página: 83 Harbour MiniGUI Roberto GUÍA DE REFERENCIA -IsWindowActive() Determina si una ventana esta activa. Sintaxis: IsWindowActive (<WindowName>) --> lBoolean -IsWIndowDefined() Determina si una ventana está definida. Sintaxis: IsWIndowDefined (<WindowName>) --> lBoolean -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 página de memoria 4 Total de página de memoria 6 Memoria virtual disponible -MiniGuiVersion() Devuelve una cadena de caracteres indicando la versión de MiniGui. Sintaxis: MiniGuiVersion() --> cVersion -MsgBox() Muestra una ventana de mensaje. Sintaxis: MsgBox (<cMessage>,<cTitle>) --> Nil Página: 84 Harbour MiniGUI Roberto GUÍA DE REFERENCIA -MsgExclamation() Muestra una ventana de mensaje con un icono de exclamación. Sintaxis: MsgExclamation (<cMessage>,<cTitle>) --> Nil -MsgInfo() Muestra una ventana de mensaje con un icono de información. Sintaxis: MsgInfo (<cMessage>,<cTitle>) --> Nil -MsgOkCancel() Muestra una ventana de mensaje con los botones Ok y Cancel. Sintaxis: MsgOkCancel (<cMessage>,<cTitle>) --> lResponse -MsgRetryCancel() Muestra una ventana de mensaje con los botones Retry, y Cancel. Sintaxis: MsgRetryCancel (<cMessage>,<cTitle>) --> lResponse -MsgStop() Muestra una ventana de mensaje con el icono stop. Sintaxis: MsgStop (<cMessage>,<cTitle>) --> Nil -MsgYesNo() Muestra una ventana de de mensaje con los botones Yes y No. Sintaxis: MsgYesNo (<cMessage>,<cTitle>, [ <lRevertDefault> ]) --> lResponse -PlayAsterisk() Emite un sonido “asterisk” predeterminado del sistema. Página: 85 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Sintaxis: PlayAsterisk() --> Nil -PlayBeep() Emite el Beep del altavoz de la Pc. Sintaxis: PlayBeep() --> Nil -PlayExclamation() Emite el sonido “exclamation” predeterminado del sistema. Sintaxis: PlayExclamation() --> Nil -Playhand() Emite el sonido “hand” predeterminado del sistema. Sintaxis: PlayHand() --> Nil -PlayOk() Emite el sonido “ok” predeterminado del sistema. Sintaxis: PlayOk() --> Nil -PlayQuestion() Emite el sonido “question” predeterminado del sistema. Sintaxis: PlayQuestion() --> Nil -PutFile() Abre un archivo de ventana guardado y devuelve el nombre del archivo guardado. Sintaxis: PutFile ( acFilter , cTitle )--> cSavedFileName Página: 86 Harbour MiniGUI Roberto GUÍA DE REFERENCIA -Random() Devuelve un número generado aleatoriamente. Sintaxis: Random ( nLimit ) --> nRandomNumber -RemoveFolder() Elimina la carpeta especificada. Sintaxis: RemoveFolder(<cFolder>)->Nil -SendData() Envía datos a otra aplicación Minigui. Sintaxis: SendData ( <cStationName> , <Data> )--> Nil -SetCurrentFolder() Establece la carpeta predefinida. Sintaxis: SetCurrentFolder(<cFolder>) ->Nil -SetProperty() Establece el valor de una propiedad de un control de una determinada ventana. Sintaxis: SetProperty ( <cWindowName>[,<cControlName>], <cPropertyName> ; <PropertyValue> ) <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. Página: 87 Harbour MiniGUI Roberto GUÍA DE REFERENCIA <PropertyValue> Valor que se le establece a la propiedad del control. Ejemplo: En esta fracción 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: SetProperty( ‘VentPresenta’, ‘cNombreCliente’, ‘Value’, clientes->Nombre) -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 número de distribución. Sintaxis: WIndowsVersion()--> aWIndowsVersionInfo Página: 88 Harbour MiniGUI Roberto PROPIEDADES Address AllowAppend (D) AllowDelete (D) AllowEdit (D) AutoPlay (D) AutoSize Página: 89 GUÍA DE REFERENCIA Harbour MiniGUI Roberto GUÍA DE REFERENCIA BackColor La propiedad BACKCOLOR determina el color del fondo de un control MiniGUI, ésta debe proporcionarse mediante: • Un array numérico 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 utilización de las constantes de color. YELLOW, PINK, RED, FUCHSIA, BROWN, ORANGE, GREEN, PURPLE, BLACK, WHITE, GRAY, BLUE Sintaxis: <ParentWindowName>.<ControlName>.BackColor := aBackColor <ParentWindowName>.<ControlName>.BackColor --> aBackColor Ejemplo: #include "minigui.ch" Function Main DEFINE WINDOW Nombre_Ventana ; AT 0,0 ; WIDTH 400 HEIGHT 300 ; TITLE "Demo de la propiedad BackColor" ; MAIN ; FONT "Arial" SIZE 10 @ 010,020 <Control MiniGUI> Nombre_Control END WINDOW // Se asigna al control MiniGUI la propiedad BackColor a Azul // Mediante un array numérico Nombre_Ventana.Nombre_Control.BackColor := {0,0,255} // Se asigna al control MiniGUI la propiedad BackColor a Azul // Mediante la constante de color Nombre_Ventana.Nombre_Control.BackColor := BLUE ACTIVATE WINDOW Nombre_Ventana Página: 90 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Return Nil Both (D) Bottom (D) Break (D) Buttons (D) ButtonSize (D) -Caption Establece / Captura la propiedad Caption de un objeto Gui. Es el texto para el subtítulo en el control. Sintaxis: <ParentWindowName>.<ControlName>.Caption [ (nIndex) ] := cCaption (<ParentWindowName>.<ControlName>.Caption [ (nIndex) ]) --> cCaption Comentarios: nIndex sólo está disponible para Grid, Radiogroup y controles Tab. Caption (nItemNumber) Caption(nPageNumber) -Caretpos Establece / Captura la posición del Caret de un control Textbox. Sintaxis: <ParentWindowName>.<ControlName>.CaretPos := nCaretPosition Página: 91 Harbour MiniGUI Roberto <ParentWindowName>.<ControlName>.CaretPos GUÍA DE REFERENCIA --> nCaretPosition Center (D) -Checked Establece / Captura el estado Check de un ítem de menú. Sintaxis: <ParentWindowName>.<MenuItemName>.Checked := lCheckState <ParentWindowName>.<MenuItemName>.Checked --> lCheckState -Col Establece / Captura la posición de columna de un objeto Gui. Es el origen relativo de coordenadas horizontales del control. Sintaxis: <ParentWindowName>.<ControlName>.Col := nCol <ParentWindowName>.<ControlName>.Col --> nCol Ejemplo: #include "minigui.ch" Function Main 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 Página: 92 Harbour MiniGUI Roberto GUÍA 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 ratón y los eventos del teclado se envían a él. Sintaxis: <WindowName>.<ControlName>.Enabled := lEnabledState <WindowName>.<ControlName>.Enabled --> lEnabledState Ejemplo: #include "minigui.ch" Function Main DEFINE WINDOW Nombre_Ventana ; AT 0,0 ; WIDTH 400 HEIGHT 300 ; TITLE "Demo de la propiedad Enabled" ; MAIN ; FONT "Arial" SIZE 10 DEFINE <Control MiniGUI> Nombre_Control ROW 20 COL 10 ENABLED .F. END <Control MiniGUI> END WINDOW // Se asigna al control MiniGUI la propiedad Enabled a .T. Nombre_Ventana.Nombre_Control.Enabled := .T. ACTIVATE WINDOW Nombre_Ventana Página: 93 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Return Nil Field (D) File (D) Flat (D) FocusedControl -FontBold Establece / Captura la fuente negrita de un objeto Gui Sintaxis: <ParentWindowName>.<ControlName>.FontBold := lFontBold <ParentWindowName>.<ControlName>.FontBold --> lFontBold FontColor La propiedad FONTCOLOR debe proporcionarse con un array numérico 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 Página: 94 Harbour MiniGUI Roberto GUÍA 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. Sintaxis: <ParentWindowName>.<ControlName>.FontItalic := lFontItalic <ParentWindowName>.<ControlName>.FontItalic --> lFontItalic -FontName Establece / Captura el nombre de la fuente de un objeto Gui. Nombre de la fuente dado al control Sintaxis: <ParentWindowName>.<ControlName>.FontName := cFontName <ParentWindowName>.<ControlName>.FontName --> cFontName -FontSize Establece / Captura el tamaño de la fuente de un objeto Gui. Tamaño de la fuente dado a el control Sintaxis: <ParentWindowName>.<ControlName>.FontSize := nFontSize <ParentWindowName>.<ControlName>.FontSize --> nFontSize -FontStrikeout Establece / Captura el strikeout de la fuente de un objeto Gui Sintaxis: <ParentWindowName>.<ControlName>.FontStrikeOut := nFontStrikeOut <ParentWindowName>.<ControlName>.FontStrikeOut Página: 95 --> nFontStrikeOut Harbour MiniGUI Roberto GUÍA DE REFERENCIA -FontUnderline Establece / Captura el subrayado de la fuente de un objeto Gui. Sintaxis: <ParentWindowName>.<ControlName>.FontUnderline := lFontUnderline <ParentWindowName>.<ControlName>.FontUnderline --> lFontUnderline ForeColor La propiedad FORECOLOR determina el color de un control MiniGUI, ésta debe proporcionarse mediante: • Un array numérico 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 utilización de las constantes de color. YELLOW, PINK, RED, FUCHSIA, BROWN, ORANGE, GREEN, PURPLE, BLACK, WHITE, GRAY, BLUE Sintaxis: <ParentWindowName>.<ControlName>.ForeColor := aForeColor <ParentWindowName>.<ControlName>.ForeColor --> aForeColor Ejemplo: #include "minigui.ch" Function Main DEFINE WINDOW Nombre_Ventana ; AT 0,0 ; WIDTH 400 HEIGHT 300 ; TITLE "Demo de la propiedad ForeColor" ; MAIN ; FONT "Arial" SIZE 10 @ 010,020 <Control MiniGUI> Nombre_Control END WINDOW // Se asigna al control MiniGUI la propiedad ForeColor a Verde // Mediante un array numérico Página: 96 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Nombre_Ventana.Nombre_Control.ForeColor := {0,255,0} // Se asigna al control MiniGUI la propiedad ForeColor a Verde // Mediante la constante de color Nombre_Ventana.Nombre_Control.ForeColor := GREEN ACTIVATE WINDOW Nombre_Ventana Return Nil Format (D) GripperText (D) Header (nColumnIndex) Header (nColumnNumber) El texto para el subtítulo en el control. HeaderCaption(nColumnNumber) El texto para el subtítulo en el control. -Height Establece / Captura la altura de un objeto Gui. Altura normal para el carácter de control. Sintaxis: <ParentWindowName>.<ControlName>.Heigth := nHeigth <ParentWindowName>.<ControlName>.Heigth --> nHeigth HelpId (D) Horizontal (D) Página: 97 Harbour MiniGUI Roberto GUÍA DE REFERENCIA HotTrack (D) Image (D) Increment (D) InPlaceEdit (D) InputMask (D) -Item Establece / Captura un ítem de texto en un Listbox, Combobox o Grid. Sintaxis: <WindowName>.<ControlName>. Item (<nItem>) := ItemText <WindowName>.<ControlName> . Item (<nItem>) --> ItemText Comentarios: • <ItemText> es de tipo carácter 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. Sintaxis: <WindowName>.<ControlName>. ItemCount --> nItemCount ItemImages (D) Página: 98 Harbour MiniGUI Roberto GUÍA DE REFERENCIA ItemSource (D) Justify (D) Left (D) Lenght Lock (D) LowerCase (D) MaxLength (D) MultiSelect (D) -Name (R) Captura el nombre de un objeto GUI. Esta propiedad es de sólo lectura después de la definición de control. Sintaxis: <Windowname> [. <ControlName>] . Name --> cObjectName NoAutoSizeMove (D) NoAutoSizeWindow (D) NodeImages (D) Página: 99 Harbour MiniGUI Roberto NoErrorDlg (D) NoLines (D) NoMenu (D) NoOpen (D) NoPlayBar (D) NoTAbStop (D) NoTicks (D) NotifyIcon NotifyTooltip NoToday (D) NoTodayCircle (D) Numeric (D) Opaque (D) Página: 100 GUÍA DE REFERENCIA Harbour MiniGUI Roberto GUÍA DE REFERENCIA Parent (D) -Picture Establece / Captura el nombre de la imagen de un objeto Gui. Sintaxis: <ParentWindowName>.<ControlName>.Picture := cImageName <ParentWindowName>.<ControlName>.Picture --> cImageName Position RangeMax RangeMin ReadOnly (D) ReadOnlyFields (D) Repeat RightAlign (D) RightText (D) -Row Establece / Captura la posición de fila de un objeto Gui. Origen relativo de coordenadas verticales del control. Sintaxis: Página: 101 Harbour MiniGUI Roberto <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) Página: 102 GUÍA DE REFERENCIA Harbour MiniGUI Roberto GUÍA 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 línea del texto que describe el propósito de una herramienta en una aplicación. Sintaxis: <ParentWindowName>.<ControlName>.ToolTip := cToolTipText <ParentWindowName>.<ControlName>.ToolTip --> cToolTipText Top (D) Transparent (D) UpDown (D) UpperCase (D) Valid (D) ValidMessages (D) -Value Establece / Captura el valor de un objeto Gui. Establece o captura el valor de la variable asociada con el control. Sintaxis: <WindowName>.<ControlName>.Value := <Value> Página: 103 Harbour MiniGUI Roberto <WindowName>.<ControlName>.Value GUÍA DE REFERENCIA -> <Value> Comentarios: <Value> El tipo depende del tipo de control. DATEPICKER : MONTHCALENDAR: TEXTBOX : TEXTBOX (Numeric) : TEXTBOX (Password) : RADIOGROUP : CHECKBOX : COMBOBOX : LISTBOX : LISTBOX (Multiselect): GRID : GRID (Multiselect): EDITBOX : TAB : SPINNER : SLIDER : BROWSE: TIMER : PROGRESSBAR : Date. Date Character. Numeric. Character. Numeric (Option Selected). Logical. Numeric (Row Selected). Numeric (Row Selected). Numeric Array (Rows Selected). Numeric (Row Selected). Numeric Array (Rows Selected). Character. Numeric (Active Page). Numeric. Numeric. Numeric (Selected Record Number (RecNo())) Numeric (Write Only) Numeric (Write Only) Vertical (D) Virtual (D) Visible El método visible hace visible el control (Cuando su valor es TRUE) o no (Cuando su valor es FALSE) Volume VScrollBar (D) Página: 104 Harbour MiniGUI Roberto GUÍA DE REFERENCIA WeekNumbers (D) -Width Establece / Captura el ancho de un objeto Gui. Anchura normal para el carácter del control. Sintaxis: <ParentWindowName>.<ControlName>.Width := nWidth <ParentWindowName>.<ControlName>.Width --> nWidth Widths (D) WorkArea (D) Wrap (D) Zoom Página: 105 Harbour MiniGUI Roberto GUÍA DE REFERENCIA MÉTODOS Activate AddColumn ( [ nColIndex ] , [ cCaption ] , [ nWidth ] , [ nJustify ] ) AddControl ( ControlName , nPagenumber , nRow , nCol ) AddItem ( acItemText ) AddItem ( cItemText ) AddItem ( cItemText , nParentItemIndex | nParentItemId ) AddPage ( nPageNumber , cCaption [ , cImageName ] ) Center Close DeleteAllItems DeleteColumn ( nColIndex ) Página: 106 Harbour MiniGUI Roberto 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 Página: 107 GUÍA DE REFERENCIA Harbour MiniGUI Roberto GUÍA DE REFERENCIA Refresh El método Refresh envía 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 método SetFocus transferirá el foco del teclado a este control. SeeK Show Este método mostrará el control. Después de esto se vuelve el control actual. Stop Página: 108 Harbour MiniGUI Roberto EVENTOS OnChange OnDblClick OnDisplayChange OnEnter OnGotFocus OnHeadClick OnLostFocus OnQueryData Página: 109 GUÍA DE REFERENCIA Harbour MiniGUI Roberto GUÍA DE REFERENCIA CONSTANTES -COLOR Estas constantes pueden usarse en las cláusulas BACKCOLOR y FONTCOLOR. YELLOW PINK RED FUCHSIA BROWN ORANGE GREEN PURPLE BLACK WHITE GRAY BLUE Página: 110 Harbour MiniGUI Roberto GUÍA DE REFERENCIA LIBRERÍA 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 garantía explicita o implícita. En ningún caso el autor será responsable de cualquier daño 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 electrónico y direcciones del sitio web que están actualmente en el lugar. SELECT PRINTER: Selecciona una impresora SELECT PRINTER <cPrinter> | DEFAULT [ TO <lSuccessVar> ] [ ORIENTATION <nOrientation> ] [ PAPERSIZE <nPaperSize> ] [ PAPERLENGTH <nPaperLength> ] [ PAPERWIDTH <nPaperWidth> ] [ COPIES <nCopies> ] [ DEFAULTSOURCE <nDefaultSource> ] [ QUALITY <nQuality> ] [ COLOR <nColor> ] [ DUPLEX <nDuplex> ] [ PREVIEW ] SELECT PRINTER DIALOG [ TO <lSuccessVar> ] [ PREVIEW ] ORIENTATION: Especifica la orientación de pagina PRINTER_ORIENT_PORTRAIT PRINTER_ORIENT_LANDSCAPE PAPERSIZE: Especifica el tamaño del papel PRINTER_PAPER_LETTER Letter, 8 1/2- by 11-inches PRINTER_PAPER_LEGAL Legal, 8 1/2- by 14-inches PRINTER_PAPER_A4 A4 Sheet, 210- by 297-millimeters PRINTER_PAPER_CSHEET C Sheet, 17- by 22-inches PRINTER_PAPER_DSHEET D Sheet, 22- by 34-inches Página: 111 Harbour MiniGUI Roberto GUÍA DE REFERENCIA PRINTER_PAPER_ESHEET E Sheet, 34- by 44-inches PRINTER_PAPER_LETTERSMALL Letter Small, 8 1/2- by 11-inches PRINTER_PAPER_TABLOID Tabloid, 11- by 17-inches PRINTER_PAPER_LEDGER Ledger, 17- by 11-inches PRINTER_PAPER_STATEMENT Statement, 5 1/2- by 8 1/2-inches PRINTER_PAPER_EXECUTIVE Executive, 7 1/4- by 10 1/2-inches PRINTER_PAPER_A3 A3 sheet, 297- by 420-millimeters PRINTER_PAPER_A4SMALL A4 small sheet, 210- by 297-millimeters PRINTER_PAPER_A5 A5 sheet, 148- by 210-millimeters PRINTER_PAPER_B4 B4 sheet, 250- by 354-millimeters PRINTER_PAPER_B5 B5 sheet, 182- by 257-millimeter paper PRINTER_PAPER_FOLIO Folio, 8 1/2- by 13-inch paper PRINTER_PAPER_QUARTO Quarto, 215- by 275-millimeter paper PRINTER_PAPER_10X14 10- by 14-inch sheet PRINTER_PAPER_11X17 11- by 17-inch sheet PRINTER_PAPER_NOTE Note, 8 1/2- by 11-inches PRINTER_PAPER_ENV_9 #9 Envelope, 3 7/8- by 8 7/8-inches PRINTER_PAPER_ENV_10 #10 Envelope, 4 1/8- by 9 1/2-inches PRINTER_PAPER_ENV_11 #11 Envelope, 4 1/2- by 10 3/8-inches PRINTER_PAPER_ENV_12 #12 Envelope, 4 3/4- by 11-inches PRINTER_PAPER_ENV_14 #14 Envelope, 5- by 11 1/2-inches PRINTER_PAPER_ENV_DL DL Envelope, 110- by 220-millimeters PRINTER_PAPER_ENV_C5 C5 Envelope, 162- by 229-millimeters PRINTER_PAPER_ENV_C3 C3 Envelope, 324- by 458-millimeters PRINTER_PAPER_ENV_C4 C4 Envelope, 229- by 324-millimeters PRINTER_PAPER_ENV_C6 C6 Envelope, 114- by 162-millimeters PRINTER_PAPER_ENV_C65 C65 Envelope, 114- by 229-millimeters PRINTER_PAPER_ENV_B4 B4 Envelope, 250- by 353-millimeters PRINTER_PAPER_ENV_B5 B5 Envelope, 176- by 250-millimeters PRINTER_PAPER_ENV_B6 B6 Envelope, 176- by 125-millimeters PRINTER_PAPER_ENV_ITALY Italy Envelope, 110- by 230-millimeters PRINTER_PAPER_ENV_MONARCH Monarch Envelope, 3 7/8- by 7 1/2-inches PRINTER_PAPER_ENV_PERSONAL 6 3/4 Envelope, 3 5/8- by 6 1/2-inches PRINTER_PAPER_FANFOLD_US US Std Fanfold, 14 7/8- by 11-inches PRINTER_PAPER_FANFOLD_STD_GERMAN German Std Fanfold, 8 1/2- by 12-inches PRINTER_PAPER_FANFOLD_LGL_GERMAN German Legal Fanfold, 8 1/2- by 13-inches PAPERLENGTH: Establece una longitud personalizada del papel (milímetros). PAPERWIDTH: Establece un ancho personalizado del papel (milímetros). COPIES: Establece el número de copias a imprimir DEFAULTSOURCE: Establece la fuente del papel. PRINTER_BIN_ONLYONE PRINTER_BIN_LOWER PRINTER_BIN_MIDDLE PRINTER_BIN_MANUAL PRINTER_BIN_ENVELOPE PRINTER_BIN_ENVMANUAL PRINTER_BIN_AUTO PRINTER_BIN_TRACTOR PRINTER_BIN_SMALLFMT PRINTER_BIN_LARGEFMT Página: 112 Harbour MiniGUI Roberto GUÍA DE REFERENCIA PRINTER_BIN_LARGECAPACITY PRINTER_BIN_CASSETTE PRINTER_BIN_FORMSOURCE QUALITY: Establece la resolución de la impresora. PRINTER_RES_HIGH PRINTER_RES_MEDIUM PRINTER_RES_LOW PRINTER_RES_DRAFT COLOR: Cambia entre color y monocromático, en las impresoras a color. PRINTER_COLOR_COLOR PRINTER_COLOR_MONOCHROME DUPLEX: Selecciona la impresión dúplex o double-sided PRINTER_DUP_SIMPLEX PRINTER_DUP_HORIZONTAL PRINTER_DUP_VERTICAL START PRINTDOC: Inicia un trabajo de Impresión. START PRINTDOC START PRINTPAGE: Prepara al controlador de impresora para aceptar datos. START PRINTPAGE END PRINTPAGE: Avisa al dispositivo que la aplicación terminó la escritura de una página. END PRINTPAGE END PRINTDOC: Finaliza un trabajo de impresión. END PRINTDOC ABORT PRINTDOC: Detiene el trabajo de la impresión actual. ABORT PRINTDOC Esta orden borra toda impresión subsecuente desde la última llamada al comando START DOC. PRINT: Impresión de datos. @ <Row> , <Col> PRINT <xData> [ FONT <cFontName> ] Página: 113 Harbour MiniGUI [ [ [ [ [ [ Roberto GUÍA DE REFERENCIA SIZE <nFontSize> ] BOLD> ] ITALIC> ] UNDERLINE> ] STRIKEOUT> ] COLOR <aColor> ] <xData> El tipo puede ser carácter, numérico o fecha. Unidades: <Row> , <Col> Las unidades son en milímetros. PRINT IMAGE: Imprime una imagen desde un archivo o recurso. @ <nRow> , <nCol> PRINT IMAGE <cImageFileName> | <cImageResourcename> WIDTH <nWidth> HEIGHT <nHeight> [ STRETCH ] Si <STRETCH> no se especifica, la imagen se ajustará automáticamente en el rectángulo especificado. Usted puede especificar recursos de imágenes gif o jpg usando GIF o JPG como tipos de recursos en el archivo de aplicación de recursos (rc). Unidades: <Row> , <Col> , <nWidth> , <nHeight> Las unidades están en milímetros. PRINT LINE: Imprime una línea. @ <nRow> , <nCol> PRINT LINE TO <nToRow> , <nToCol> [ PENWIDTH <nPenWidth> ] [ COLOR <aColor> ] Unidades: <Row> , <Col> , <nToRow> , <nToCol> , <nPenWidth> Las unidades estan en milímetros. PRINT RECTANGLE: Imprime un rectángulo. @ <nRow> , <nCol> PRINT RECTANGLE TO <nToRow> , <nToCol> [ PENWIDTH> <nPenWidth> ] [ COLOR <aColor> ] Unidades: <Row> , <Col> , <nToRow> , <nToCol> , <nPenWidth> Las unidades están en milímetros GetPrinter(): Devuelve el nombre de la impresora seleccionada desde la ventana de selección. GetPrinter() --> cPrinterName Página: 114 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Si el botón [Cancel] es presionado, una cadena vacía es devuelta. aPrinters(): Devuelve un array con todas las impresoras disponibles. aPrinters() --> aPrinterNames GetDefaultPrinter(): Devuelve el nombre de la impresora predefinida. GetDefaultPrinter() --> cDefaultPrinterName Página: 115 Harbour MiniGUI Roberto GUÍA DE REFERENCIA COMANDOS DE LA LIBRERÍA HBPRINTER Los comandos utilizados en la librería HBPRINTER son los siguientes: INIT PRINTSYS: Inicializa la librería HBPRINTER. START DOC: Signos de inicio de documento a la impresora. START PAGE : Signos de inicio de documento de página a la impresora. END PAGE :Signos de fin de documento de página a la impresora. END DOC : Signos de fin de documento a la impresora. RELEASE PRINTSYS : Elimina los objetos HBPRINTER de la memoria. GET DEFAULT PRINTER TO <cPrinterName> : Establece el nombre de la impresora por omisión en la variable especificada. GET SELECTED PRINTER TO <cPrinter> : Establece el nombre de la impresora seleccionada en la variable especificada. GET PAPERS TO <aPapers> : Establece los tipos de papel disponibles para la impresora actual en el array especificado. GET BINS TO <aBins> : Establece los Bins disponibles para la impresora actual en el array especificado. GET PRINTERS TO <aPrinters> : Establece las impresoras disponibles en el array especificado. GET PORTS TO <aPorts> : Establece los puertos disponibles en el array especificado. HBPRNMAXROW : Devuelve el valor mayor actual de la fila disponible HBPRNMAXCOL : Devuelve el valor mayor actual de columna disponible. HBPRNERROR :Devuelve el código de error actual. SET UNITS ROWCOL | MM | INCHES | PIXELS : Establece las unidades de medida para @... Comandos. SELECT : Selecciona una impresora. SELECT BY DIALOG [PREVIEW] Página: 116 Harbour MiniGUI Roberto GUÍA DE REFERENCIA SELECT DEFAULT [ PREVIEW ] SELECT PRINTER <cprinter> [ PREVIEW ] SET THUMBNAILS ON | OFF : Habilita / Desactiva los THUMBNAILS de la vista preliminar impresa. SET PREVIEW RECT presentación preliminar. <row>,<col>,<row2>,<col2> : Establece el área de SET PREVIEW SCALE <scale> : Establece la escala para la impresión previa. SET PAGE: Establece varios parámetros de página SET PAGE [ORIENTATION <orient>] [PAPERSIZE <psize>] [FONT <cfont>] SET ORIENTATION: Establece la orientación del papel. SET ORIENTATION PORTRAIT SET ORIENTATION LANDSCAPE SET PAPERSIZE <psize> : Establece el tamaño de papel. SET QUALITY <quality> : Establece la calidad de impresión. SET COLORMODE <mode>: Establece los modos de color de la impresora. SET PREVIEW ON | OFF : Activa / desactiva la impresión previa. SET TEXTCOLOR <clr> | <aRGBColor> : Establece el color de texto por omisión. GET TEXTCOLOR [TO] <nVar> : Estable especificada. el color de texto actual en la variable SET BACKCOLOR <nColor> | <aRGBColor>: Establece el color de fondo. GET BACKCOLOR [TO] <nColor> : Establece el color de fondo actual en la variable especificada. SET PRINT MARGINS [TOP <lm>] [LEFT <rm>] : Establece los márgenes de impresión. @<row>,<col> PICTURE <cpic> SIZE <row2>,<col2> [EXTEND <row3>,<col3>] @<row>,<col>,<row2>,<col2> LINE [PEN <cpen>] @<row>,<col> LINETO [PEN <cpen>] @ <row>,<col> SAY <txt> [FONT <cfont>] [COLOR <color>] [ALIGN <align>] TO PRINT Página: 117 Harbour MiniGUI Roberto GUÍA DE REFERENCIA DEFINE FONT <cfont> [NAME <cface>] [SIZE <size>] [WIDTH <width>] [ANGLE [BOLD] [ITALIC] [ UNDERLINE] [ STRIKEOUT ] : Define un tipo de letra. CHANGE FONT <cfont> [NAME <cface>] [SIZE <size>] [WIDTH <width>] [ANGLE <angle>] [BOLD] [NOBOLD] [ ITALIC] [NOITALIC] [ UNDERLINE ] [ NOUNDERLINE ] [ STRIKEOUT ] [ NOSTRIKEOUT ] : Cambia los atributos de tipo de letra. SELECT FONT <cfont> : Establece el tipo de letra por omisión. SET CHARSET <charset> : Establece el juego de caracteres por omisión. Comandos de Dibujo: DEFINE BRUSH <cbrush> [STYLE <style>] [COLOR <clr>] [HATCH <hatch>] CHANGE BRUSH <cbrush> [STYLE <style>] [COLOR <clr>] [HATCH <hatch>] SELECT BRUSH <cbrush> DEFINE PEN <cpen> [STYLE <style>] [WIDTH <width>] [COLOR <clr>] CHANGE PEN <cpen> [STYLE <style>] [WIDTH <width>] [COLOR <clr>] SELECT PEN <cpen> ;=> hbprn:selectpen(<cpen>) @ <row>,<col>,<row2>,<col2> DRAW TEXT <txt> [STYLE <style>] [FONT <cfont>] @ <row>,<col> TEXTOUT <txt> [FONT <cfont>] @ <row>,<col>,<row2>,<col2> RECTANGLE [PEN <cpen>] [BRUSH <cbrush>] @ <row>,<col>,<row2>,<col2> FILLRECT [BRUSH <cbrush>] @ <row>,<col>,<row2>,<col2> <cpen>] [BRUSH <cbrush>] ROUNDRECT [ROUNDR <tor>] @ <row>,<col>,<row2>,<col2> FRAMERECT [BRUSH <cbrush>] Página: 118 [ROUNDC <toc>] [PEN Harbour MiniGUI Roberto GUÍA DE REFERENCIA @ <row>,<col>,<row2>,<col2> INVERTRECT @ <row>,<col>,<row2>,<col2> ELLIPSE [PEN <cpen>] [BRUSH <cbrush>] @ <row>,<col>,<row2>,<col2> ARC RADIAL1 <row3>,<col3> RADIAL2 <row4>,<col4> [PEN <cpen>] @ <row>,<col> ARCTO RADIAL1 <row3>,<col3> RADIAL2 <row4>,<col4> [PEN <cpen>] @ <row>,<col>,<row2>,<col2> CHORD RADIAL1 <row3>,<col3> RADIAL2 <row4>,<col4> [PEN <cpen>] [BRUSH <cbrush>] @ <row>,<col>,<row2>,<col2> PIE RADIAL1 <row3>,<col3> RADIAL2 <row4>,<col4> [PEN <cpen>] [BRUSH <cbrush>] POLYGON <apoints> [PEN <cpen>] [BRUSH <cbrush>] [STYLE <style>] POLYBEZIER <aPoints> [PEN <cpen>] POLYBEZIERTO <aPoints> [PEN <cpen>] DEFINE RECT REGION <creg> AT <row>,<col>,<row2>,<col2> DEFINE POLYGON REGION <creg> VERTEX <apoints> [STYLE <style>] DEFINE ELLIPTIC REGION <creg> AT <row>,<col>,<row2>,<col2> DEFINE ROUNDRECT <ewidth>,<eheight> REGION <creg> AT <row>,<col>,<row2>,<col2> COMBINE REGIONS <creg1>,<creg2> TO <creg> [STYLE <style>] SELECT CLIP REGION <creg> DELETE CLIP REGION SET POLYFILL MODE <mode> SET POLYFILL ALTERNATE SET POLYFILL WINDING GET POLYFILL MODE TO <mode> SET VIEWPORTORG <row>,<col> GET VIEWPORTORG TO <aviewport> SET RGB <red>,<green>,<blue> TO <nrgb> SET TEXTCHAR EXTRA <col> GET TEXTCHAR EXTRA TO <col> SET TEXT JUSTIFICATION <col> Página: 119 ELLIPSE Harbour MiniGUI Roberto GUÍA DE REFERENCIA GET TEXT JUSTIFICATION TO <col> SET TEXT ALIGN <style> SET TEXT ALIGN LEFT SET TEXT ALIGN RIGHT SET TEXT ALIGN CENTER GET TEXT ALIGN TO <style> GET TEXT EXTENT <txt> [FONT <cfont>] TO <asize> SET BKMODE : SET BKMODE <mode> SET BKMODE TRANSPARENT SET BKMODE OPAQUE GET BKMODE [TO] <mode> HBPRNCOLOR(<clr>) Selección Bin: • DMBIN_FIRST • DMBIN_UPPER • DMBIN_ONLYONE • DMBIN_LOWER • DMBIN_MIDDLE • DMBIN_MANUAL • DMBIN_ENVELOPE • DMBIN_ENVMANUAL • DMBIN_AUTO • DMBIN_TRACTOR • DMBIN_SMALLFMT • DMBIN_LARGEFMT • DMBIN_LARGECAPACITY • DMBIN_CASSETTE • DMBIN_FORMSOURCE • DMBIN_LAST DMBIN_FORMSOURCE • DMBIN_USER Tamaño de papel: DMPAPER_FIRST DMPAPER_LETTER DMPAPER_LETTER DMPAPER_LETTERSMALL DMPAPER_TABLOID Letter 8 1/2 x 11 in Letter Small 8 1/2 x 11 in Tabloid 11 x 17 in Página: 120 Harbour MiniGUI Roberto DMPAPER_LEDGER DMPAPER_LEGAL DMPAPER_STATEMENT DMPAPER_EXECUTIVE DMPAPER_A3 DMPAPER_A4 DMPAPER_A4SMALL DMPAPER_A5 DMPAPER_B4 DMPAPER_B5 DMPAPER_FOLIO DMPAPER_QUARTO DMPAPER_10X14 DMPAPER_11X17 DMPAPER_NOTE DMPAPER_ENV_9 DMPAPER_ENV_10 DMPAPER_ENV_11 DMPAPER_ENV_12 DMPAPER_ENV_14 DMPAPER_CSHEET DMPAPER_DSHEET DMPAPER_ESHEET DMPAPER_ENV_DL DMPAPER_ENV_C5 DMPAPER_ENV_C3 DMPAPER_ENV_C4 DMPAPER_ENV_C6 DMPAPER_ENV_C65 DMPAPER_ENV_B4 DMPAPER_ENV_B5 DMPAPER_ENV_B6 DMPAPER_ENV_ITALY DMPAPER_ENV_MONARCH DMPAPER_ENV_PERSONAL DMPAPER_FANFOLD_US DMPAPER_FANFOLD_STD_GERMAN DMPAPER_FANFOLD_LGL_GERMAN DMPAPER_ISO_B4 DMPAPER_JAPANESE_POSTCARD Página: 121 GUÍA DE REFERENCIA Ledger 17 x 11 in Legal 8 1/2 x 14 in Statement 5 1/2 x 8 1/2 in Executive 7 1/4 x 10 1/2 in A3 297 x 420 mm ) A4 210 x 297 mm A4 Small 210 x 297 mm A5 148 x 210 mm B4 (JIS) 250 x 354 B5 (JIS) 182 x 257 mm Folio 8 1/2 x 13 in Quarto 215 x 275 mm 10x14 in 11x17 in Note 8 1/2 x 11 in Envelope #9 3 7/8 x 8 7/8 Envelope #10 4 1/8 x 9 1/2 Envelope #11 4 1/2 x 10 3/8 Envelope #12 4 \276 x 11 Envelope #14 5 x 11 1/2 C size sheet D size sheet E size sheet Envelope DL 110 x 220mm Envelope C5 162 x 229 mm Envelope C3 324 x 458 mm Envelope C4 229 x 324 mm Envelope C6 114 x 162 mm Envelope C65 114 x 229 mm Envelope B4 250 x 353 mm Envelope B5 176 x 250 mm Envelope B6 176 x 125 mm Envelope 110 x 230 mm Envelope Monarch 3.875 x 7.5 in 6 3/4 Envelope 3 5/8 x 6 1/2 in US Std Fanfold 14 7/8 x 11 in German Std Fanfold 8 1/2 x 12 in German Legal Fanfold 8 1/2 x 13 in B4 (ISO) 250 x 353 mm Japanese Postcard 100 x 148 mm Harbour MiniGUI Roberto DMPAPER_9X11 DMPAPER_10X11 DMPAPER_15X11 DMPAPER_ENV_INVITE DMPAPER_RESERVED_48 DMPAPER_RESERVED_49 DMPAPER_LETTER_EXTRA DMPAPER_LEGAL_EXTRA DMPAPER_TABLOID_EXTRA DMPAPER_A4_EXTRA DMPAPER_LETTER_TRANSVERSE DMPAPER_A4_TRANSVERSE DMPAPER_LETTER_EXTRA_TRANSVERSE DMPAPER_A_PLUS DMPAPER_B_PLUS DMPAPER_LETTER_PLUS DMPAPER_A4_PLUS DMPAPER_A5_TRANSVERSE DMPAPER_B5_TRANSVERSE DMPAPER_A3_EXTRA DMPAPER_A5_EXTRA DMPAPER_B5_EXTRA DMPAPER_A2 DMPAPER_A3_TRANSVERSE DMPAPER_A3_EXTRA_TRANSVERSE DMPAPER_DBL_JAPANESE_POSTCARD DMPAPER_A6 DMPAPER_JENV_KAKU2 DMPAPER_JENV_KAKU3 DMPAPER_JENV_CHOU3 DMPAPER_JENV_CHOU4 DMPAPER_LETTER_ROTATED DMPAPER_A3_ROTATED DMPAPER_A4_ROTATED DMPAPER_A5_ROTATED DMPAPER_B4_JIS_ROTATED DMPAPER_B5_JIS_ROTATED DMPAPER_JAPANESE_POSTCARD_ROTATED Página: 122 GUÍA DE REFERENCIA 9 x 11 in 10 x 11 in 15 x 11 in Envelope Invite 220 x 220 mm RESERVED--DO NOT USE RESERVED--DO NOT USE Letter Extra 9 \275 x 12 in Legal Extra 9 \275 x 15 in Tabloid Extra 11.69 x 18 in A4 Extra 9.27 x 12.69 in Letter Transverse 8 \275 x 11 in A4 Transverse 210 x 297 mm Letter Extra Transverse 9\275 x 12 in SuperA/SuperA/A4 227 x 356 mm SuperB/SuperB/A3 305 x 487 mm Letter Plus 8.5 x 12.69 in A4 Plus 210 x 330 mm A5 Transverse 148 x 210 mm B5 (JIS) Transverse 182 x 257 mm A3 Extra 322 x 445 mm A5 Extra 174 x 235 mm B5 (ISO) Extra 201 x 276 mm A2 420 x 594 mm A3 Transverse 297 x 420 mm A3 Extra Transverse 322 x 445 mm Japanese Double Postcard 200 x 148 mm A6 105 x 148 mm Japanese Envelope Kaku #2 Japanese Envelope Kaku #3 Japanese Envelope Chou #3 Japanese Envelope Chou #4 Letter Rotated 11 x 8 1/2 11 in A3 Rotated 420 x 297 mm A4 Rotated 297 x 210 mm A5 Rotated 210 x 148 mm B4 (JIS) Rotated 364 x 257 mm B5 (JIS) Rotated 257 x 182 mm Japanese Postcard Rotated 148 x 100 mm Harbour MiniGUI Roberto GUÍA DE REFERENCIA DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED DMPAPER_A6_ROTATED A6 Rotated 148 x 105 mm Japanese Envelope Kaku #2 DMPAPER_JENV_KAKU2_ROTATED Rotated Japanese Envelope Kaku #3 DMPAPER_JENV_KAKU3_ROTATED Rotated Japanese Envelope Chou #3 DMPAPER_JENV_CHOU3_ROTATED Rotated Japanese Envelope Chou #4 DMPAPER_JENV_CHOU4_ROTATED 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 Japanese Envelope You #4 DMPAPER_JENV_YOU4_ROTATED 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 PRC Envelope #1 102 x 165 DMPAPER_PENV_1 mm PRC Envelope #2 102 x 176 DMPAPER_PENV_2 mm PRC Envelope #3 125 x 176 DMPAPER_PENV_3 mm DMPAPER_PENV_4 Eenvelope #4 110 x 208 mm PRC Envelope #5 110 x 220 DMPAPER_PENV_5 mm PRC Envelope #6 120 x 230 DMPAPER_PENV_6 mm PRC Envelope #7 160 x 230 DMPAPER_PENV_7 mm PRC Envelope #8 120 x 309 DMPAPER_PENV_8 mm PRC Envelope #9 229 x 324 DMPAPER_PENV_9 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 PRC Envelope #1 Rotated 165 DMPAPER_PENV_1_ROTATED x 102 mm PRC Envelope #2 Rotated 176 DMPAPER_PENV_2_ROTATED x 102 mm DMPAPER_PENV_3_ROTATED PRC Envelope #3 Rotated 176 Página: 123 Harbour MiniGUI Roberto GUÍA DE REFERENCIA x 125 mm PRC Envelope #4 Rotated 208 x 110 mm PRC Envelope #5 Rotated 220 x 110 mm PRC Envelope #6 Rotated 230 x 120 mm PRC Envelope #7 Rotated 230 x 160 mm PRC Envelope #8 Rotated 309 x 120 mm PRC Envelope #9 Rotated 324 x 229 mm PRC Envelope #10 Rotated 458 x 324 mm DMPAPER_PENV_4_ROTATED DMPAPER_PENV_5_ROTATED DMPAPER_PENV_6_ROTATED DMPAPER_PENV_7_ROTATED DMPAPER_PENV_8_ROTATED DMPAPER_PENV_9_ROTATED DMPAPER_PENV_10_ROTATED DMPAPER_USER Orientación: • DMORIENT_PORTRAIT • DMORIENT_LANDSCAPE Activa / Desactiva color para las impresoras de Color: • DMCOLOR_MONOCHROME • DMCOLOR_COLOR Calidades de Impresión: • DMRES_DRAFT • DMRES_LOW • DMRES_MEDIUM • DMRES_HIGH Estilos de Pintado: • BS_SOLID • BS_NULL • BS_HOLLOW BS_NULL • BS_HATCHED • BS_PATTERN • BS_INDEXED • BS_DIBPATTERN • BS_DIBPATTERNPT • BS_PATTERN8X8 • BS_DIBPATTERN8X8 • BS_MONOPATTERN Estilos de Rayado: Página: 124 Harbour MiniGUI • • • • • • Roberto HS_HORIZONTAL HS_VERTICAL HS_FDIAGONAL HS_BDIAGONAL HS_CROSS HS_DIAGCROSS Estilos de pluma. • PS_SOLID • PS_DASH • PS_DOT • PS_DASHDOT • PS_DASHDOTDOT • PS_NULL • PS_INSIDEFRAME • PS_USERSTYLE • PS_ALTERNATE • PS_STYLE_MASK Combinación de estilos de región. • RGN_AND • RGN_OR • RGN_XOR • RGN_DIFF • RGN_COPY • RGN_MIN RGN_AND • RGN_MAX RGN_COPY Modos PolyFill: • ALTERNATE • WINDING • POLYFILL_LAST Opciones de alineación de Texto: • TA_NOUPDATECP • TA_UPDATECP • TA_LEFT • TA_RIGHT • TA_CENTER • TA_TOP • TA_BOTTOM • TA_BASELINE • TA_RTLREADING • TA_MASK Página: 125 GUÍA DE REFERENCIA Harbour MiniGUI Roberto Formato de bandera de dibujo de texto: • DT_TOP • DT_LEFT • DT_CENTER • DT_RIGHT • DT_VCENTER • DT_BOTTOM • DT_WORDBREAK • DT_SINGLELINE • DT_EXPANDTABS • DT_TABSTOP • DT_NOCLIP • DT_EXTERNALLEADING • DT_CALCRECT • DT_NOPREFIX • DT_INTERNAL • DT_EDITCONTROL • DT_PATH_ELLIPSIS • DT_END_ELLIPSIS • DT_MODIFYSTRING • DT_RTLREADING • DT_WORD_ELLIPSIS • DT_NOFULLWIDTHCHARBREAK • DT_HIDEPREFIX • DT_PREFIXONLY Juego de Caracteres: • ANSI_CHARSET • DEFAULT_CHARSET • SYMBOL_CHARSET • SHIFTJIS_CHARSET • HANGEUL_CHARSET • HANGUL_CHARSET • GB2312_CHARSET • CHINESEBIG5_CHARSET • OEM_CHARSET • JOHAB_CHARSET • HEBREW_CHARSET • ARABIC_CHARSET • GREEK_CHARSET • TURKISH_CHARSET • VIETNAMESE_CHARSET • THAI_CHARSET • EASTEUROPE_CHARSET Página: 126 GUÍA DE REFERENCIA Harbour MiniGUI • • • Roberto GUÍA DE REFERENCIA RUSSIAN_CHARSET MAC_CHARSET BALTIC_CHARSET Stock de Objetos Lógicos • WHITE_BRUSH • LTGRAY_BRUSH • GRAY_BRUSH • DKGRAY_BRUSH • BLACK_BRUSH • NULL_BRUSH • HOLLOW_BRUSH • NULL_BRUSH • WHITE_PEN • BLACK_PEN • NULL_PEN • OEM_FIXED_FONT • ANSI_FIXED_FONT • ANSI_VAR_FONT • SYSTEM_FONT • DEVICE_DEFAULT_FONT • DEFAULT_PALETTE • SYSTEM_FIXED_FONT 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 Recomendación: • La mejor manera de conseguir copias impresas similares en diferentes impresoras es usar SET UNITS MM, recordando usar márgenes 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. Página: 127 Harbour MiniGUI • Roberto GUÍA DE REFERENCIA Establezca las unidades en mm, la posición de la copia impresa es calculada utilizando la resolución de la impresora en pixel-por-pulgada, para que este método sea más exacto que usando las unidades rowcol. Página: 128 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Nota: la presentación preliminar muestra el área imprimible (no el área del papel entera) HBPRINTER es una contribución de Ryszard Rylko rrylko@cirow.pl Página: 129 Harbour MiniGUI Roberto GUÍA DE REFERENCIA COSAS DE UTILIDAD Como compilar una librería nueva y enlazarla a tu programa en MiniGUI Supongo que la librería 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 harías con las dos órdenes siguientes: c:\minigui\harbour\bin\harbour EJEMPLO.prg -n -ic:\minigui\harbour\include;c:\minigui\include c:\borland\bcc55\bin\bcc32 -DHB_API_MACROS -c -O2 -tW -M -Ic:\minigui\harbour\include;c:\borland\bcc55\include; -Lc:\borland\bcc55\lib; EJEMPLO.c Conviertes el .obj en una librería con el programa TLIB.EXE que tienes en la carpeta C:\BORLAND\BCC55\BIN con la orden: tlib kerhb +EJEMPLO Y para usar la librería en tu programa de MiniGUI, añades al COMPILE.BAT de MiniGUI la línea: echo c:\minigui\mislibrerias\EJEMPLO.lib + >> b32.bc después de todas las líneas del COMPILE.BAT que son parecidas a ella. Como leer el número de serie de un disco /* Programa que lee el número de serie, etiqueta de volumen largo máximo de nombre, cantidad de banderas y tipo de FAT */ #include "minigui.ch" Function Main LOCAL LOCAL LOCAL LOCAL LOCAL LOCAL cUni :="C:\" cVolName:="VOLUMEN DEL DISCO" nSerNum := 1 nMaxName:= 1 nFlags := 1 cFATName:="TIPO DE FAT" DEFINE WINDOW Win_1 ; AT 0,0 ; Página: 130 Harbour MiniGUI Roberto GUÍA DE REFERENCIA WIDTH 600 ; HEIGHT 200 ; TITLE 'Lectura del Numero de Serie de un Disco' ; MAIN GetVolumeInformation(cUni,@cVolName,@nSerNum,@nMaxName,@nFlags,@cFATName) @ 010,120 LABEL Label_01 ; VALUE 'Unidad de disco: ' + cUni + " Etiqueta de Volumen: " + cVolName; WIDTH 600 ; HEIGHT 020 ; FONT "Arial" SIZE 09 @ 030,120 LABEL Label_02 ; VALUE "Numero de Serie: " + STR(nSerNum) + " Maximo de Nombre: " + STR(nMaxName); WIDTH 600 ; HEIGHT 020 ; FONT "Arial" SIZE 09 @ 050,120 LABEL Label_03 ; VALUE "Numero de Banderas: " + STR(nFlags) + " Tipo de FAT: "+ cFATName ; WIDTH 600 ; HEIGHT 020 ; FONT "Arial" SIZE 09 END WINDOW ACTIVATE WINDOW Win_1 Return *-----------#pragma BEGINDUMP #include <windows.h> #include "hbapi.h" #include "hbapiitm.h" HB_FUNC(GETVOLUMEINFORMATION) { char *VolumeNameBuffer = (char *) hb_xgrab( MAX_PATH ) ; DWORD VolumeSerialNumber ; DWORD MaximumComponentLength ; DWORD FileSystemFlags ; char *FileSystemNameBuffer = (char *) hb_xgrab( MAX_PATH ) ; BOOL bRet; bRet = GetVolumeInformation( ISNIL(1) ? NULL : (LPCTSTR) hb_parc(1) , (LPTSTR) VolumeNameBuffer, MAX_PATH, &VolumeSerialNumber, &MaximumComponentLength, &FileSystemFlags, (LPTSTR)FileSystemNameBuffer, MAX_PATH ) ; Página: 131 Harbour MiniGUI Roberto if ( bRet ) { if ( ISBYREF( 2 ) ) hb_storc ((char *) if ( ISBYREF( 3 ) ) hb_stornl( (LONG) if ( ISBYREF( 4 ) ) hb_stornl( (LONG) if ( ISBYREF( 5 ) ) hb_stornl( (LONG) if ( ISBYREF( 6 ) ) hb_storc ((char *) } hb_retl(bRet); hb_xfree( VolumeNameBuffer ); hb_xfree( FileSystemNameBuffer ); GUÍA DE REFERENCIA VolumeNameBuffer, 2 ) ; VolumeSerialNumber, 3 ) ; MaximumComponentLength, 4 ) ; FileSystemFlags, 5 ); FileSystemNameBuffer, 6 ); } #pragma ENDDUMP Como Cambiar la Cabecera de un archivo /* Programa que cambia la cabecera de un archivo DBF para que no pueda ser leído fácilmente, 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 ) Página: 132 Harbour MiniGUI Roberto GUÍA DE REFERENCIA IF cDbfName == NIL Return ( .F. ) ENDIF IF At ('.', cDbfName ) == 0 cDbfName := AllTrim ( cDbfName ) + '.DBF' ENDIF IF !File ( cDbfName ) Return ( .F. ) ENDIF lFileOpen := If ( lFileOpen == NIL, .T., lFileOpen ) Return ( SwapHead ( cDbfName, lFileOpen ) ) STATIC FUNCTION SwapHead ( cDbfName, lApertura ) LOCAL nLong := 128 LOCAL nReadSize := nLong LOCAL cReadBuff := Space(nLong) LOCAL nSwapCtd := nLong LOCAL nDbfHandle, cTemp := '', nCtd nDbfHandle := Fopen ( cDbfName, 2 ) IF Ferror() != 0 Return ( .F. ) ENDIF IF Fread ( nDbfHandle, @cReadBuff, nReadSize ) <> nReadSize Return ( .F. ) ENDIF FOR nCtd := nSwapCtd TO 1 STEP -1 cTemp += SubStr ( cReadBuff, nCtd, 1 ) NEXT nCtd IF Len ( cTemp ) != nSwapCtd Return ( .F. ) ENDIF Fseek ( nDbfHandle, 0 ) IF Fwrite ( nDbfHandle, cTemp, nReadSize ) != nReadSize Return ( .F. ) ENDIF Fclose ( nDbfHandle ) Return !( Left ( cReadBuff, 1 ) == Chr ( 03 ) .and. lApertura ) Página: 133 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Índice Nota de la Edición ....................................................................................................1 Creando Aplicaciones HMG ...................................................................................2 MPM (Administrador de Proyectos Harbour MiniGUI).....................................2 Listado en Orden Alfabético ...................................................................................3 -ACTIVATE WINDOW ............................................................................................................4 -ACTIVATE WINDOW ALL...................................................................................................4 -ADD COLUMN.........................................................................................................................4 -ADD ITEM ................................................................................................................................5 -*ANIMATEBOX.......................................................................................................................5 -BEGIN INI / GET / SET / END INI ........................................................................................7 -BROWSE ...................................................................................................................................8 -BUTTON..................................................................................................................................12 -CENTER WINDOW ..............................................................................................................13 -CHECKBOX ...........................................................................................................................14 -CHECKBUTTON ...................................................................................................................15 -CLOSE CONNECTION ........................................................................................................17 -COMBOBOX ..........................................................................................................................17 -COMPRESS ............................................................................................................................19 -CONTEXT MENU..................................................................................................................19 -DATEPICKER........................................................................................................................19 -DECLARE (DLL) ...................................................................................................................21 -DECLARE WINDOW............................................................................................................22 -DECODE .................................................................................................................................22 -DELETE COLUMN ...............................................................................................................23 -DELETE ITEM.......................................................................................................................23 -DISPLAY HELP .....................................................................................................................23 -DO EVENTS............................................................................................................................23 -DO REPORT ...........................................................................................................................24 -DO REPORT FORM..............................................................................................................24 -DRAW GARPH / ERASE ......................................................................................................24 -DROPDOWN MENU .............................................................................................................26 -EDIT.........................................................................................................................................26 -EDITBOX ................................................................................................................................27 -ENCODE .................................................................................................................................29 -EXECUTE COMMAND ........................................................................................................29 -FETCH.....................................................................................................................................29 -FRAME ....................................................................................................................................29 -GET URL.................................................................................................................................30 -GRID ........................................................................................................................................31 -HIDE CONTROL ...................................................................................................................34 -HIDE WINDOW.....................................................................................................................34 -HYPERLINK ..........................................................................................................................34 -IMAGE.....................................................................................................................................35 Página: 134 Harbour MiniGUI Roberto GUÍA DE REFERENCIA -IPADDRESS............................................................................................................................36 -LABEL .....................................................................................................................................37 -LISTBOX.................................................................................................................................38 -LOAD WINDOW....................................................................................................................40 -MAIN MENU ..........................................................................................................................41 -MAXIMIZE WINDOW .........................................................................................................42 -MINIMIZE WINDOW...........................................................................................................42 -MODIFY..................................................................................................................................42 -MONTHCALENDAR ............................................................................................................42 -NOTIFY MENU......................................................................................................................44 -ON KEY...................................................................................................................................44 -OPEN CONNECTION ...........................................................................................................46 -PLAY WAVE ..........................................................................................................................46 -PLAYER ..................................................................................................................................47 -PROGRESSBAR.....................................................................................................................49 -RADIOGROUP.......................................................................................................................56 -REGISTRY HANDLING.......................................................................................................57 -RELEASE CONTROL...........................................................................................................57 -RELEASE KEY ......................................................................................................................57 -RELEASE WINDOW ............................................................................................................58 -RESTORE WINDOW ............................................................................................................58 -RICHEDITBOX......................................................................................................................58 -SCREENSAVER.....................................................................................................................60 -SET BROWSESYNC..............................................................................................................60 -SET COMMPATH .................................................................................................................60 -SETFOCUS .............................................................................................................................61 -SET FONT...............................................................................................................................61 -SET HELPFILE......................................................................................................................61 -SET INTERACTIVECLOSE ................................................................................................61 -SET LANGUAGE...................................................................................................................61 -SET MULTIPLE.....................................................................................................................62 -SET NAVIGATION EXTENDED ........................................................................................62 -SET REGION..........................................................................................................................62 -SET STATIONNAME............................................................................................................62 -SHOW CONTROL .................................................................................................................62 -SHOW WINDOW...................................................................................................................63 -SLIDER....................................................................................................................................63 -SPINNER .................................................................................................................................64 -SPLITBOX ..............................................................................................................................66 -STATUSBAR...........................................................................................................................66 -STORE KEY ...........................................................................................................................67 -TAB ..........................................................................................................................................67 -TEXTBOX ...............................................................................................................................68 -THIS .........................................................................................................................................70 -THISWINDOW.......................................................................................................................71 -TIMER .....................................................................................................................................71 -TOOLBAR...............................................................................................................................71 Página: 135 Harbour MiniGUI Roberto GUÍA DE REFERENCIA -TREE........................................................................................................................................72 -UNCOMPRESS.......................................................................................................................74 -WINDOW ................................................................................................................................74 FUNCIONES ..........................................................................................................78 -CreateFolder() .........................................................................................................................78 -DoMethod()..............................................................................................................................78 -GetColor() ................................................................................................................................78 -GetCurrentFolder() ................................................................................................................78 -GetData() .................................................................................................................................78 -GetDesktopFolder() ................................................................................................................79 -GetDesktopHeight() ................................................................................................................79 -GetDesktopWidth().................................................................................................................79 -GetFile() ...................................................................................................................................79 -GetFolder() ..............................................................................................................................79 -GetFont()..................................................................................................................................80 -GetMyDocumentsFolder() .....................................................................................................81 -GetProgramFilesFolder() .......................................................................................................81 -GetProperty() ..........................................................................................................................81 -GetSystemFolder() ..................................................................................................................82 -GetTempFolder() ....................................................................................................................82 -GetWindowsFolder() ..............................................................................................................82 -InputBox()................................................................................................................................82 -InputWindow() ........................................................................................................................82 -IsCapsLockActive().................................................................................................................83 -IsControlDefined() ..................................................................................................................83 -IsInsertActive()........................................................................................................................83 -IsNumLockActive().................................................................................................................83 -IsScrollLockActive() ...............................................................................................................83 -IsWindowActive() ...................................................................................................................84 -IsWIndowDefined().................................................................................................................84 -MemoryStatus().......................................................................................................................84 -MiniGuiVersion() ....................................................................................................................84 -MsgBox()..................................................................................................................................84 -MsgExclamation() ...................................................................................................................85 -MsgInfo() .................................................................................................................................85 -MsgOkCancel() .......................................................................................................................85 -MsgRetryCancel() ...................................................................................................................85 -MsgStop().................................................................................................................................85 -MsgYesNo() .............................................................................................................................85 -PlayAsterisk() ..........................................................................................................................85 -PlayBeep()................................................................................................................................86 -PlayExclamation()...................................................................................................................86 -Playhand()................................................................................................................................86 -PlayOk() ...................................................................................................................................86 -PlayQuestion() .........................................................................................................................86 -PutFile() ...................................................................................................................................86 Página: 136 Harbour MiniGUI Roberto GUÍA DE REFERENCIA -Random() .................................................................................................................................87 -RemoveFolder().......................................................................................................................87 -SendData() ...............................................................................................................................87 -SetCurrentFolder() .................................................................................................................87 -SetProperty() ...........................................................................................................................87 -ShellAbout().............................................................................................................................88 -WindowsVersion()...................................................................................................................88 PROPIEDADES .....................................................................................................89 Address ......................................................................................................................................89 AllowAppend (D)......................................................................................................................89 AllowDelete (D).........................................................................................................................89 AllowEdit (D) ............................................................................................................................89 AutoPlay (D) .............................................................................................................................89 AutoSize.....................................................................................................................................89 BackColor .................................................................................................................................90 Both (D) .....................................................................................................................................91 Bottom (D).................................................................................................................................91 Break (D)...................................................................................................................................91 Buttons (D) ................................................................................................................................91 ButtonSize (D)...........................................................................................................................91 -Caption.....................................................................................................................................91 Caption (nItemNumber) ..........................................................................................................91 Caption(nPageNumber)...........................................................................................................91 -Caretpos ...................................................................................................................................91 Center (D)..................................................................................................................................92 -Checked....................................................................................................................................92 -Col.............................................................................................................................................92 Cursor (R) .................................................................................................................................93 Date (D) .....................................................................................................................................93 DisplayEdit (D) .........................................................................................................................93 DisplayValue .............................................................................................................................93 -Enabled ....................................................................................................................................93 Field (D).....................................................................................................................................94 File (D).......................................................................................................................................94 Flat (D) ......................................................................................................................................94 FocusedControl.........................................................................................................................94 -FontBold...................................................................................................................................94 FontColor ..................................................................................................................................94 -FontItalic..................................................................................................................................95 -FontName.................................................................................................................................95 -FontSize....................................................................................................................................95 -FontStrikeout...........................................................................................................................95 -FontUnderline .........................................................................................................................96 ForeColor ..................................................................................................................................96 Format (D) ................................................................................................................................97 GripperText (D)........................................................................................................................97 Página: 137 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Header (nColumnIndex)..........................................................................................................97 Header (nColumnNumber) .....................................................................................................97 HeaderCaption(nColumnNumber)......................................................................................... 97 -Height .......................................................................................................................................97 HelpId (D) .................................................................................................................................97 Horizontal (D) ...........................................................................................................................97 HotTrack (D) ............................................................................................................................98 Image (D)...................................................................................................................................98 Increment (D)............................................................................................................................98 InPlaceEdit (D) .........................................................................................................................98 InputMask (D) ..........................................................................................................................98 -Item...........................................................................................................................................98 Item ( nItemIndex ) ..................................................................................................................98 Item ( nItemIndex | ItemId )....................................................................................................98 -Itemcount .................................................................................................................................98 ItemImages (D) .........................................................................................................................98 ItemSource (D)..........................................................................................................................99 Justify (D)..................................................................................................................................99 Left (D) ......................................................................................................................................99 Lenght........................................................................................................................................99 Lock (D).....................................................................................................................................99 LowerCase (D) ..........................................................................................................................99 MaxLength (D) .........................................................................................................................99 MultiSelect (D)..........................................................................................................................99 -Name (R) ..................................................................................................................................99 NoAutoSizeMove (D)................................................................................................................99 NoAutoSizeWindow (D)...........................................................................................................99 NodeImages (D) ........................................................................................................................99 NoErrorDlg (D) ......................................................................................................................100 NoLines (D) .............................................................................................................................100 NoMenu (D) ............................................................................................................................100 NoOpen (D) .............................................................................................................................100 NoPlayBar (D) ........................................................................................................................100 NoTAbStop (D).......................................................................................................................100 NoTicks (D) .............................................................................................................................100 NotifyIcon................................................................................................................................100 NotifyTooltip...........................................................................................................................100 NoToday (D)............................................................................................................................100 NoTodayCircle (D) .................................................................................................................100 Numeric (D) ............................................................................................................................100 Opaque (D)..............................................................................................................................100 Parent (D)................................................................................................................................101 -Picture ....................................................................................................................................101 Position ....................................................................................................................................101 RangeMax ...............................................................................................................................101 RangeMin................................................................................................................................101 ReadOnly (D) ..........................................................................................................................101 Página: 138 Harbour MiniGUI Roberto GUÍA DE REFERENCIA ReadOnlyFields (D)................................................................................................................101 Repeat ......................................................................................................................................101 RightAlign (D) ........................................................................................................................101 RightText (D) ..........................................................................................................................101 -Row.........................................................................................................................................101 Separator (D) ..........................................................................................................................102 ShowAll (D) .............................................................................................................................102 ShowMode (D) ........................................................................................................................102 ShowName (D) ........................................................................................................................102 ShowNone (D) .........................................................................................................................102 ShowPosition (D) ....................................................................................................................102 Smooth (D) ..............................................................................................................................102 Sort (D) ....................................................................................................................................102 Spacing (D)..............................................................................................................................102 Speed........................................................................................................................................102 Stretch (D)...............................................................................................................................102 TabStop (D).............................................................................................................................102 -Title.........................................................................................................................................103 -ToolTip...................................................................................................................................103 Top (D) ....................................................................................................................................103 Transparent (D)......................................................................................................................103 UpDown (D) ............................................................................................................................103 UpperCase (D) ........................................................................................................................103 Valid (D) ..................................................................................................................................103 ValidMessages (D) ..................................................................................................................103 -Value.......................................................................................................................................103 Vertical (D)..............................................................................................................................104 Virtual (D)...............................................................................................................................104 Visible ......................................................................................................................................104 Volume.....................................................................................................................................104 VScrollBar (D) ........................................................................................................................104 WeekNumbers (D)..................................................................................................................105 -Width......................................................................................................................................105 Widths (D)...............................................................................................................................105 WorkArea (D) .........................................................................................................................105 Wrap (D) .................................................................................................................................105 Zoom ........................................................................................................................................105 MÉTODOS............................................................................................................106 Activate....................................................................................................................................106 AddColumn ( [ nColIndex ] , [ cCaption ] , [ nWidth ] , [ nJustify ] ) ...............................106 AddControl ( ControlName , nPagenumber , nRow , nCol ) .............................................106 AddItem ( acItemText ) .........................................................................................................106 AddItem ( cItemText ) ...........................................................................................................106 AddItem ( cItemText , nParentItemIndex | nParentItemId ) ............................................106 AddPage ( nPageNumber , cCaption [ , cImageName ] ) ...................................................106 Center ......................................................................................................................................106 Página: 139 Harbour MiniGUI Roberto GUÍA DE REFERENCIA Close.........................................................................................................................................106 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 LIBRERÍA MINIPRINT.....................................................................................111 COMANDOS DE LA LIBRERÍA HBPRINTER .............................................116 COSAS DE UTILIDAD .......................................................................................130 Como compilar una librería nueva y enlazarla a tu programa en MiniGUI....................130 Como leer el número de serie de un disco ............................................................................130 Como Cambiar la Cabecera de un archivo..........................................................................132 Página: 140