HwGUI

30
HwGUI manual de referencia para la versión 2.10 Traducido por Daniel González, El Salvador en America Central [email protected] http://ar.geocities.com/dgonzalez_sv/mp3.htm Noviembre 13 del 2003 1 INTRODUCCIÓN 1.1 ¿ Que es HwGUI ? 1.2 Historia de HwGUI 2 INSTALACIÓN DE HWGUI 2.1 Paquete HwGUI 2.2 ¿ Cómo construir Libreria HwGUI ? 2.3 ¿ Cómo construir Ejemplos HwGUI ? 3 ¿ CÓMO USAR HWGUI ? 3.1 Mi primera aplicación 4 COMANDOS 4.1 Comandos para ventanas y manipulación de diálogos 4.1.1 INIT WINDOW 4.1.2 INIT DIALOG 4.1.3 ACTIVATE WINDOW 4.1.4 ACTIVATE DIALOG 4.1.5 DIALOG ACTIONS OF 4.2 Comandos para el menú 4.2.1 MENU 4.2.2 ENDMENU 4.2.3 MENUITEM 4.2.4 SEPARATOR 4.2.5 MENU FROM RESOURCE OF 4.2.6 CONTEXT MENU 4.3 Comandos para el manejo de controles 4.3.1 ADD STATUS TO 4.3.2 @ <x>,<y> SAY 4.3.3 @ <x>,<y> EDITBOX 4.3.4 REDEFINE EDITBOX 4.3.5 @ <x>,<y> BUTTON 4.3.6 REDEFINE BUTTON 4.3.7 @ <x>,<y> CHECKBOX 4.3.8 REDEFINE CHECKBOX 4.3.9 @ <x>,<y> COMBOBOX 4.3.10 REDEFINE COMBOBOX 4.3.11 @ <x>,<y> RADIOBUTTON 4.3.12 REDEFINE RADIOBUTTON 4.3.13 RADIOGROUP 4.3.14 END RADIOGROUP 4.3.15 @ <x>,<y> PANEL 4.3.16 REDEFINE PANEL 4.3.17 @ <x>,<y> BROWSE 4.3.18 REDEFINE BROWSE 4.3.19 ADD COLUMN 4.3.20 @ <x>,<y> OWNERBUTTON 4.3.21 REDEFINE OWNERBUTTON 4.3.22 @ <x>,<y> GROUPBOX 4.3.23 @ <x>,<y> DATEPICKER

description

Manual HwGUI

Transcript of HwGUI

Page 1: HwGUI

HwGUI manual de referencia para la versión 2.10 Traducido por Daniel González, El Salvador en America Central [email protected] http://ar.geocities.com/dgonzalez_sv/mp3.htm Noviembre 13 del 2003

1 INTRODUCCIÓN1.1 ¿ Que es HwGUI ?1.2 Historia de HwGUI

2 INSTALACIÓN DE HWGUI2.1 Paquete HwGUI2.2 ¿ Cómo construir Libreria HwGUI ?2.3 ¿ Cómo construir Ejemplos HwGUI ?

3 ¿ CÓMO USAR HWGUI ?3.1 Mi primera aplicación

4 COMANDOS4.1 Comandos para ventanas y manipulación de diálogos

4.1.1 INIT WINDOW4.1.2 INIT DIALOG4.1.3 ACTIVATE WINDOW4.1.4 ACTIVATE DIALOG4.1.5 DIALOG ACTIONS OF

4.2 Comandos para el menú4.2.1 MENU4.2.2 ENDMENU4.2.3 MENUITEM4.2.4 SEPARATOR4.2.5 MENU FROM RESOURCE OF4.2.6 CONTEXT MENU

4.3 Comandos para el manejo de controles4.3.1 ADD STATUS TO4.3.2 @ <x>,<y> SAY4.3.3 @ <x>,<y> EDITBOX4.3.4 REDEFINE EDITBOX4.3.5 @ <x>,<y> BUTTON4.3.6 REDEFINE BUTTON4.3.7 @ <x>,<y> CHECKBOX4.3.8 REDEFINE CHECKBOX4.3.9 @ <x>,<y> COMBOBOX4.3.10 REDEFINE COMBOBOX4.3.11 @ <x>,<y> RADIOBUTTON4.3.12 REDEFINE RADIOBUTTON4.3.13 RADIOGROUP4.3.14 END RADIOGROUP4.3.15 @ <x>,<y> PANEL4.3.16 REDEFINE PANEL4.3.17 @ <x>,<y> BROWSE4.3.18 REDEFINE BROWSE4.3.19 ADD COLUMN4.3.20 @ <x>,<y> OWNERBUTTON4.3.21 REDEFINE OWNERBUTTON4.3.22 @ <x>,<y> GROUPBOX4.3.23 @ <x>,<y> DATEPICKER

Page 2: HwGUI

4.3.24 @ <x>,<y> UPDOWN4.3.25 @ <x>,<y> TAB4.3.26 BEGIN PAGE4.3.27 END PAGE4.3.28 @ <x>,<y> TREE4.3.29 INSERT NODE4.3.30 SET TIMER4.3.31 @ <x>,<y> BITMAP4.3.32 REDEFINE BITMAP4.3.33 @ <x>,<y> ICON4.3.34 REDEFINE ICON4.3.35 @ <x>,<y> IMAGE4.3.36 REDEFINE IMAGE4.3.37 @ <x>,<y> LINE4.3.38 @ <x>,<y> RICHEDIT4.3.39 @ <x>,<y> SPLITTER4.3.40 @ <x>,<y> GRAPH

4.4 Comando Get4.4.1 @ <x>,<y> GET4.4.2 REDEFINE GET4.4.3 @ <x>,<y> GET CHECKBOX4.4.4 REDEFINE GET CHECKBOX4.4.5 @ <x>,<y> GET COMBOBOX4.4.6 REDEFINE GET COMBOBOX4.4.7 GET RADIOGROUP4.4.8 @ <x>,<y> GET DATEPICKER4.4.9 @ <x>,<y> GET UPDOWN

5 FUNCIONES5.1 Diálogos comúnes

5.1.1 SelectFont( oFont )5.1.2 SelectFile( cDescript,cMask,cInitDir,cTitle )5.1.3 SaveFile( cPrompt,cDescript,cMask,cInitDir,cTitle )5.1.4 PrintSetup()5.1.5 hwg_ChooseColor( nColorCurrent )

5.2 MessageBoxes y diálogos de HwGUI5.2.1 MsgInfo( cMessage,cTitle )5.2.2 MsgStop( cMessage,cTitle )5.2.3 MsgOkCancel( cMessage,cTitle )5.2.4 MsgYesNo( cMessage,cTitle )5.2.5 MsgBeep( nSound )5.2.6 MsgGet( cTitle, cText, nStyle, x, y, nDlgStyle )5.2.7 WChoice( arr, cTitle, nLeft, nTop, oFont, clrT, clrB, clrTSel, clrBSel )

5.3 Funciones de dibujo.

Page 3: HwGUI

6 CLASES6.1 Jerarquía de la clase6.2 HObject6.3 HCustomWindow

6.3.1 HWindow6.3.2 HDialog6.3.3 HControl6.3.3.1 HBrowse6.3.3.2 HPanel6.3.3.3 HOwnerButton6.3.3.4 HSplitter6.3.3.5 HStatus6.3.3.6 HStatic6.3.3.7 HButton6.3.3.8 HEdit6.3.3.9 HChecBox6.3.3.10 HRadioButton6.3.3.11 HCombobox6.3.3.12 HGroup6.3.3.13 HLine6.3.3.14 HSayImage6.3.3.14.1 HSayBmp6.3.3.14.2 HSayIcon6.3.3.14.3 HSayFImage6.3.3.15 HDatePicker6.3.3.16 HUpDown6.3.3.17 HTab6.3.3.18 HTree

6.5 HColumn6.6 HRadioGroup6.7 HFont6.8 HPen6.9 HBrush6.10 HBitmap6.11 HIcon6.12 HPrinter6.13 HTreeNode6.14 HTimer6.15 HFreeImage

7 INTEGRACIÓN DE QHTM7.1 Descripción7.2 Comandos7.3 Funciones

8 LICENCIA

9 SOBRE EL AUTOR

Page 4: HwGUI

1 INTRODUCIÓN1.1 ¿ Que es HwGUI ?

HwGui es una biblioteca adicional para Harbour, prevista para crearaplicaciones en la plataforma Win32.Esta se basa en las llamadas directas del API Win32.Mientras desarrollaba HwGUI intenté ocultar al usuario - programador de Harbour-los detalles técnicos de las llamadas del API y construir un sistema decomandos y funciones que podrían permitir crear y manejar objetos GUI.

1.2 Historia de HwGUIEmpecé a trabajar en agosto 2001 y la primera versión salió el 21 del mismo mes.Mi intención inicial era crear una librería pequeña y rápida principalmente paramis propias necesidades.En octubre ya había escrito mi primera aplicación con HwGUI para mi empresa,donde leo bases de datos, creo y manejo sistema de contabilidad, genera algunosdocumentos y los envía por Fax.

Antes que nada, la liberación inicial de la versión 1.3 no utilizó el paradigmade OOP - y ya había declarado esto como uno de características de HwGUI.Mis motivos principales eran velocidad y estabilidad. La implementación deHarbour a las clases tuvo en aquel momento algunos Bugs y no quise meterme aesos líos. Y, por supuesto, el acceso a variables de objeto era más lento queacezar a elementos de un Array. OOP era un nivel adicional y el uso de élreducía el desempeño de la aplicación.

Pero más tarde tome la decisión de hacer HwGUI OOP, basado en simplificar lasinterfaces del usuario y hacerlo bien estructurado y más conveniente. Así selibero la versión 2.0 usando clases.

2 INSTALACIÓN DE HWGUI2.1 Paquete HwGUI

HwGUI se distribuye empaquetado Zip.El Zip contiene los siguientes archivos :

make_b32.batmakefile.bcmake_vc.batmakefile.vclicense.txtinstall.txtwhatsnew.txtDOC - Folder documentaciónINCLUDE - Folder archivos cabecerasLIB - Folder ibreríasOBJSAMPLES - Folder ejemplosSOURCE - Folder fuentes

2.2 ¿ Cómo construir Librería para HwGUI ?Antes de construir la Librería tienes que verificar el valor ambiente HRB_DIR enel archivo makefile.bcDebes apuntar donde tienes instalado Harbour. Entonces corra make_b32.bat- y esto construirá dos Librerías - hwgui. lib y procmisc. lib. ¡Eso es todo!

2.3 ¿ Cómo construir Ejemplos HwGUI ?

Page 5: HwGUI

3 ¿ CÓMO USAR HWGUI ?3.1 Mi primera aplicación HwGUI

#include "windows.ch"#include "guilib.ch"

Function Main()Local oMainWnd, oFontLocal aCombo := {"Primero","Segundo" }

PREPARE FONT oFont NAME "MS Sans Serif" WIDTH 0 HEIGHT -13 INIT WINDOW oMainWnd TITLE "Ejemplo" ;

FONT oFont ; ON EXIT { || MsgYesNo("Realmente quieres Salir ?") }

@ 20,10 EDITBOX "Hola , Mundo!" ; SIZE 200,30 ;

STYLE WS_DLGFRAME+ES_LEFT

@ 270,10 COMBOBOX aCombo ; STYLE WS_TABSTOP ; SIZE 100, 150 ; TOOLTIP "Combobox"

@ 120,60 BUTTON "Cierra" ; SIZE 150,30 ; ON CLICK {||EndWindow()}

MENU OF oMainWnd MENUITEM "Acerca de" ACTION MsgInfo("Mi Primera Aplicacion en HwGUI") ENDMENU

ACTIVATE WINDOW oMainWnd

Return Nil

Lo primero que querrás hacer, es crear la ventana principal. Para hacer esto,usa el comando INIT WINDOW. Con esta orden puedes definir la posición inicial y eltamaño de la ventana, el estilo, el icono, el color de fondo. También puedescolocar manipuladores de eventos - codeblocks que son evaluados por otroseventos (INIT, EXIT, PAINT, modificando SIZE, GETFOCUS, LOSTFOCUS y otros).

Necesitas definir los controles para esa ventana y el menú principal( MENU...ENDMENU ) y activar la ventana con ACTIVATE WINDOW Analiza el siguiente ejemplo.

PREPARE FONT oFont NAME "MS Sans Serif" WIDTH 0 HEIGHT -13

Al principio, nosotros creamos el objeto oFont para la ventana principal. HwGUItrabaja de tal manera, que si no se define un tipo de letra para un control,este control utiliza el tipo de letra, definido por su ventana padre.

INIT WINDOW oMainWnd MAIN TITLE "Ejemplo" ; FONT oFont ; ON EXIT {||MsgYesNo("Realmente quieres Salir ?")}Este comando crea la ventana principal con el título "Ejemplo" y con el tipo deletra previamente definido.En la cláusula ON EXIT causará la muestra de una caja de mensaje, donde elusuario escogerá "YES" para dejar la aplicación.

Page 6: HwGUI

@ 20,10 EDITBOX "Hola , Mundo!" ; SIZE 200,30 ;

STYLE WS_DLGFRAME+ES_LEFT

@ 270,10 COMBOBOX aCombo ; STYLE WS_TABSTOP ; SIZE 100, 150 ; TOOLTIP "Combobox"

@ 120,60 BUTTON "Cierra" ; SIZE 150,30 ; ON CLICK {||EndWindow()}

Los comandos anteriores crean los controles apropiados - Revise, Combobox y PushButton.ComboBox se inicializa con el array aCombo, que se declaró antes.Button tiene un evento definido - cerrando la aplicación. MENU OF oMainWnd MENUITEM "acerca de" ACTION MsgInfo("Mi Primera Aplicacion en HwGUI") ENDMENUEstos comandos crean el menú principal, que incluye el único artículo "acercade". ACTIVATE WINDOW oMainWndEste comando activa la ventana principal.

4 ÓRDENES4.1 Comandos para ventanas y manipulación de diálogos4.1.1 INIT WINDOW

Este comando crea la ventana principal, MDI o MDI CHILD. Para activar la ventanatienes que hacerlo con ACTIVATE WINDOWS o si no con ACTIVATE() que es el métodoobjeto de la ventana.

INIT WINDOW <oWnd>[ MAIN ][ MDI ][ MDICHILD ][ APPNAME <appname> ][ TITLE <cTitle> ][ AT <x>, <y> ][ SIZE <width>, <height> ][ ICON <ico> ][ COLOR <clr> ][ BACKGROUND BITMAP <oBmp>> ][ STYLE <nStyle> ][ FONT <oFont> ][ MENU <cMenu> ][ MENUPOS <nPos> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bPaint> ][ ON GETFOCUS <bGfocus> ][ ON LOSTFOCUS <bLfocus> ][ ON OTHER MESSAGES <bOther> ][ ON EXIT <bExit> ]

MAIN,MDI,MDICHILD cláusulas que especifican el tipo de la ventana, sólo uno deestas se puede usar en la orden.

cTitle - título de la ventana;x,y,width,height - izquierda y Arriba coordenadas de la ventana, anchura y altura;ico - el nombre del Icono en el archivo de recurso;clr - color del fondo de la ventana;nStyle - estilo de la ventana;oFont - objeto previamente creado de HFont;cMenu - nombre de la declaración de menú en el archivo de recurso

(si usted especifica menú en recursos);nPos - identifica el menú de la ventana usado por controlar las MDI child de windows.

Page 7: HwGUI

Cuando se crean las ventanas child, la aplicación agrega sus títulos al menú.El usuario puede activar una ventana child escogiendo su título desde el menu dela ventana

bSize - codeblock, que se evalúa al recalibrar ventana;bPaint - codeblock, que se evalúa mientras dibuja la ventana;bGFocus - codeblock, que se evalúa cuándo obtiene el foco;bLFocus - codeblock, que se evalúa cuándo pierde el foco;bExit - codeblock, que se evalúa cuándo se cierra;bOther - codeblock, que se evalúa para todos los otros mensajes usted puede escribir su propio procedimiento para los mensajes que manejan;

4.1.2 INIT DIALOGCrea la caja de diálogo. Para activarlo se hace con ACTIVATE DIALOG o con Activate()el método objeto de la ventana.

INIT DIALOG <oWnd>[ FROM RESOURCE ][ TITLE <cTitle> ][ AT <x>, <y> ][ SIZE <width>, <height> ][ ICON <ico> ][ BACKGROUND BITMAP <oBmp> ][ STYLE <nStyle> ][ FONT <oFont> ][ CLIPPER ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bPaint> ][ ON GETFOCUS <bGfocus> ][ ON LOSTFOCUS <bLfocus> ][ ON OTHER MESSAGES <bOther> ][ ON EXIT <bExit> ]

Todas las cláusulas tienen el mismo significado igual que el comando INIT WINDOW,hay sólo una cláusula específica - FROM RESOURCE - si se usa crea la caja deldiálogo del archivo de recurso.

4.1.3 ACTIVATE WINDOWACTIVATE WINDOW <oWnd>

Es igual a oWnd:Activate(). Muestra la ventana y ejecuta los mensajes de salidasque se procesan en él.

4.1.4 ACTIVATE DIALOGACTIVATE DIALOG <oDlg> [ NOMODAL ]

Es igual a oDlg:Active(). Muestra el diálogo y ejecuta los mensajes de salidas quese procesan en él. Por defecto, crea el diálogo modal. Puedes crear dialogosmodeless , especificando la cláusula de NOMODAL en este comando.

4.1.5 DIALOG ACTIONS OFDIALOG ACTIONS OF <oWnd> ON <id1>,<id2> ACTION <b1> [ ON <idn1>,<idn2> ACTION <bn> ]

Este comando es para los usuarios que están familiarizado con el API de Win32.La ventana consigue mensaje de WM_COMMAND cuando el usuario selecciona una opcióndel menú, o cuando un control envía un mensaje de notificación a su ventanapadre, o cuando se traduce un golpe de teclado del acelerador. Puedesespecificar en este, la fuente del evento y la acción apropiada.id1 ... idn1 - es el código de evento,id1 ... idn2 - es el identificador del control,b1 ... bn - el codeblock.

Page 8: HwGUI

4.2 Comandos para el menú

4.2.1 MENUMENU [ OF <oWnd> ] [ ID <nId> ] [ TITLE <cTitle> ]

4.2.2 ENDMENUENDMENU

4.2.3 MENUITEMMENUITEM <item> [ ID <nId> ] ACTION <act>

[ ACCELERATOR <flag>, <key> ] [ <lDisabled: DISABLED> ]

4.2.4 SEPARATORSEPARATOR

4.2.5 MENU FROM RESOURCE OFMENU FROM RESOURCE OF <oWnd> ON <id1> ACTION <b1>

[ ON <idn> ACTION <bn> ]Este comando se usa si se especifica el menú en el archivo recurso.

4.2.6 CONTEXT MENU CONTEXT MENU <oMenu>

4.3 Comandos para el manejo de controlesTodos los comandos siguientes crean los casos de clases, son preprocesados en elmétodo New() o Redefine().

4.3.1 ADD STATUS TO

ADD STATUS [ TO <oWnd> ][ ID <nId> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ STYLE <nStyle> ][ FONT <oFont> ][ PARTS <aparts,...> ]

4.3.2 @ <x>,<y> SAY

@ <x>,<y> SAY [ <oSay> CAPTION ] <caption>[ OF <oWnd> ];[ ID <nId> ][ SIZE <width>, <height> ][ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ STYLE <nStyle> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

4.3.3 @ <x>,<y> EDITBOX

@ <x>,<y> EDITBOX [ <oEdit> CAPTION ] <caption>[ OF <oWnd> ];[ ID <nId> ][ SIZE <width>, <height> ][ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ ON GETFOCUS <bGfocus> ][ ON LOSTFOCUS <bLfocus> ][ STYLE <nStyle> ][<lnoborder: NOBORDER> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

Page 9: HwGUI

4.3.4 REDEFINE EDITBOX

REDEFINE EDITBOX <oEdit>[ OF <oWnd> ] ID <nId>[ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ ON GETFOCUS <bGfocus> ][ ON LOSTFOCUS <bLfocus> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

4.3.5 @ <x>,<y> BUTTON

@ <x>,<y> BUTTON [ <oButton> CAPTION ] <caption>[ OF <oWnd> ];[ ID <nId> ][ SIZE <width>, <height> ][ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ ON CLICK <bClick> ][ STYLE <nStyle> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

2 4.3.6 REDEFINE BUTTON

REDEFINE BUTTON <oButton>[ OF <oWnd> ] ID <nId>[ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ ON CLICK <bClick> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

4.3.7 @ <x>,<y> CHECKBOX

@ <x>,<y> CHECKBOX [ <oCheck> CAPTION ] <caption>[ OF <oWnd> ];[ ID <nId> ][ SIZE <width>, <height> ][ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ INIT <lInit> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ STYLE <nStyle> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

Page 10: HwGUI

4.3.8 REDEFINE CHECKBOX

REDEFINE CHECKBOX <oCheck>[ OF <oWnd> ] ID <nId>[ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ INIT <lInit> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

4.3.9 @ <x>,<y> COMBOBOX

@ <x>,<y> COMBOBOX [ <oCombo> ITEMS ] <aItems>[ OF <oWnd> ];[ ID <nId> ][ SIZE <width>, <height> ][ INIT <nInit> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ ON CHANGE <bChange> ][ STYLE <nStyle> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

4.3.10 REDEFINE COMBOBOX

REDEFINE COMBOBOX [ <oCombo> ITEMS ] <aItems>[ OF <oWnd> ] ID <nId>[ INIT <nInit> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ ON CHANGE <bChange> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

4.3.11 @ <x>,<y> RADIOBUTTON

@ <x>,<y> RADIOBUTTON [ <oRadio> CAPTION ] <caption>[ OF <oWnd> ];[ ID <nId> ][ SIZE <width>, <height> ][ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ STYLE <nStyle> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

4.3.12 REDEFINE RADIOBUTTON

REDEFINE RADIOBUTTON <oRadio>[ OF <oWnd> ] ID <nId>[ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

Page 11: HwGUI

4.3.13 RADIOGROUPRADIOGROUP

4.3.14 END RADIOGROUP END RADIOGROUP [ SELECTED <nSel> ]

4.3.15 @ <x>,<y> PANEL

@ <x>,<y> PANEL <oPanel>[ OF <oWnd> ];[ ID <nId> ][ SIZE <width>, <height> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ STYLE <nStyle> ]

4.3.16 REDEFINE PANEL

REDEFINE PANEL <oCheck>[ OF <oWnd> ] ID <nId>[ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ]

4.3.17 @ <x>,<y> BROWSE

@ <x>,<y> BROWSE <oBrowse>[ ARRAY ][ DATABASE ][ OF <oWnd> ];[ ID <nId> ][ SIZE <width>, <height> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ ON CLICK <bClick> ][ ON GETFOCUS <bGetFocus> ][ ON LOSTFOCUS <bLostFocus> ][ STYLE <nStyle> ][ <lNoVScr: NO VSCROLL> ][ <lNoBord: NO BORDER> ][ FONT <oFont> ]

4.3.18 REDEFINE BROWSE

REDEFINE BROWSE <oBrowse>[ ARRAY ][ DATABASE ][ OF <oWnd> ] ID <nId>[ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ ON CLICK <bClick> ][ ON GETFOCUS <bGetFocus> ][ ON LOSTFOCUS <bLostFocus> ][ FONT <oFont> ]

4.3.19 ADD COLUMN

ADD COLUMN <block> <TO <oBrowse>[ HEADER <cTitle> ][ TYPE <type> ][ LEN <length> ][ DEC <dec> ][ <lEdit: EDITABLE> ]

Page 12: HwGUI

4.3.20 @ <x>,<y> OWNERBUTTON

@ <x>,<y> OWNERBUTTON <oOwnBtn>[ OF <oWnd> ];[ ID <nId> ][ SIZE <width>, <height> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ ON CLICK <bClick> ][ STYLE <nStyle> ][ FLAT ][ TEXT <cText>

[ COLOR <color> ] [ FONT <font> ] [ COORDINATES <xt>, <yt>, <widthtt>, <heightt> ] ]

[ BITMAP <bmp> [ FROM RESOURCE ] [ TRANSPARENT ] [ COORDINATES <xb>, <yb>, <widthtb>, <heightb> ] ]

4.3.21 REDEFINE OWNERBUTTON

REDEFINE OWNERBUTTON <oOwnBtn>[ OF <oWnd> ] ID <nId>[ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ ON CLICK <bClick> ][ STYLE <nStyle> ][ FLAT ][ TEXT <cText>

[ COLOR <color> ] [ FONT <font> ] [ COORDINATES <xt>, <yt>, <widthtt>, <heightt> ] ]

[ BITMAP <bmp> [ FROM RESOURCE ] [ TRANSPARENT ] [ COORDINATES <xb>, <yb>, <widthtb>, <heightb> ] ]

4.3.22 @ <x>,<y> GROUPBOX

@ <x>,<y> GROUPBOX [ <oGroup> CAPTION ] <caption>[ OF <oWnd> ];[ ID <nId> ][ SIZE <width>, <height> ][ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ STYLE <nStyle> ][ FONT <oFont> ]

4.3.23 @ <x>,<y> DATEPICKER

@ <x>,<y> DATEPICKER [ <oPicker> CAPTION ] <caption>[ OF <oWnd> ] ID <nId>[ SIZE <width>, <height> ][ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ INIT <value> ][ ON INIT <bInit> ][ ON GETFOCUS <bGetFocus> ][ ON LOSTFOCUS <bLostFocus> ][ STYLE <nStyle> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

Page 13: HwGUI

4.3.24 @ <x>,<y> UPDOWN

@ <x>,<y> UPDOWN [ <oUpDown> INIT ] <nInit> RANGE <nLower>, <nUpper>[ OF <oWnd> ][ ID <nId> ][ SIZE <width>, <height> ][ WIDTH <nUpdWidth> ][ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ ON GETFOCUS <bGfocus> ][ ON LOSTFOCUS <bLfocus> ][ STYLE <nStyle> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

4.3.25 @ <x>,<y> TAB

@ <x>,<y> TAB [ <oTab> ITEMS ] <aTabs>[ OF <oWnd> ][ ID <nId> ][ SIZE <width>, <height> ][ STYLE <nStyle> ][ FONT <oFont> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bDraw> ][ ON CHANGE <bChange> ]

4.3.26 BEGIN PAGEBEGIN PAGE <cname> OF <oTab>

4.3.27 END PAGEEND PAGE OF <oTab>

4.3.28 @ <x>,<y> TREE

@ <x>,<y> TREE [ <oTree> ][ OF <oWnd> ][ ID <nId> ][ SIZE <width>, <height> ][ FONT <oFont> ][ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ STYLE <nStyle> ][<lEdit: EDITABLE> ][ BITMAP <aBmp> [<res: FROM RESOURCE>] ]

4.3.29 INSERT NODE

INSERT NODE [ <oNode> TITLE ] <cTitle> TO <oTree>[ AFTER <oPrev> ][ BEFORE <oNext> ][ BITMAP <aBmp> ][ ON CLICK <bClick> ]

4.3.30 SET TIMER

SET TIMER [ <oTimer> ][ OF <oWnd> ][ ID <id> ] VALUE <value> ACTION <bAction>

Page 14: HwGUI

4.3.31 @ <x>,<y> BITMAP

@ <x>,<y> BITMAP [ <oBmp> SHOW ] <bitmap>[<res: FROM RESOURCE> ][ OF <oWnd> ][ ID <nId> ][ SIZE <width>, <height> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ TOOLTIP <ctoolt> ]

4.3.32 @ <x>,<y> REDEFINE BITMAP

REDEFINE BITMAP [ <oBmp> SHOW ] <bitmap>[ OF <oWnd> ][ ID <nId> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ TOOLTIP <ctoolt> ]

4.3.33 @ <x>,<y> ICON

@ <x>,<y> ICON [ <oBmp> SHOW ] <icon>[<res: FROM RESOURCE> ][ OF <oWnd> ][ ID <nId> ][ SIZE <width>, <height> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ TOOLTIP <ctoolt> ]

4.3.34 @ <x>,<y> REDEFINE ICON

REDEFINE ICON [ <oBmp> SHOW ] <icon>[ OF <oWnd> ][ ID <nId> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ TOOLTIP <ctoolt> ]

4.3.35 @ <x>,<y> IMAGE

@ <x>,<y> IMAGE [ <oBmp> SHOW ] <image>[ OF <oWnd> ][ ID <nId> ][ SIZE <width>, <height> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ TOOLTIP <ctoolt> ]

4.3.36 @ <x>,<y> REDEFINE IMAGE

REDEFINE IMAGE [ <oBmp> SHOW ] <image>[ OF <oWnd> ][ ID <nId> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ TOOLTIP <ctoolt> ]

4.3.37 @ <x>,<y> LINE

@ <x>,<y> LINE [ <oLine> ][ LENGTH <length> ][ OF <oWnd> ][ ID <nId> ][<lVert: VERTICAL>][ ON SIZE <bSize> ]

Page 15: HwGUI

4.3.38 @ <x>,<y> RICHEDIT

@ <x>,<y> RICHEDIT [ <oEdit> TEXT ] <vari>[ OF <oWnd> ][ ID <nId> ][ SIZE <width>, <height> ][ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON PAINT <bPaint> ][ ON GETFOCUS <bGfocus> ][ ON LOSTFOCUS <bLfocus> ][ STYLE <nStyle> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

4.3.39 @ <x>,<y> SPLITTER

@ <x>,<y> SPLITTER [ <oSplit> ][ OF <oWnd> ][ ID <nId> ][ SIZE <width>, <height> ][ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ ON SIZE <bSize> ][ ON PAINT <bPaint> ][ DIVIDE <aLeft> FROM <aRight> ]

4.3.40 @ <x>,<y> GRAPH

@ <x>,<y> GRAPH [ <oGraph> DATA ] <aData>[ OF <oWnd> ][ ID <nId> ][ SIZE <width>, <height> ][ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ ON SIZE <bSize> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

4.4 Comando GetConsigue que el sistema no use una clase especial, algo como HGet.Usa las mismas clases del control (HEdit, HCheckButton, etc.)

4.4.1 @ <x>,<y> GET

@ <x>,<y> GET [ <oEdit> VAR ] <vari>[ OF <oWnd> ][ ID <nId> ][ SIZE <width>, <height> ][ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ PICTURE <cPicture> ][ WHEN <bWhen> ][ VALID <bValid> ][ STYLE <nStyle> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

4.4.2 REDEFINE GET

REDEFINE GET [ <oEdit> VAR ] <vari>[ OF <oWnd> ] ID <nId>[ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ WHEN <bWhen> ][ VALID <bValid> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

Page 16: HwGUI

4.4.3 @ <x>,<y> GET CHECKBOX

@ <x>,<y> GET CHECKBOX [ <oEdit> VAR ] <vari>[ OF <oWnd> ][ ID <nId> ][ SIZE <width>, <height> ][ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ <valid: VALID,ON CLICK> <bValid> ][ STYLE <nStyle> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

4.4.4 REDEFINE GET CHECKBOX

REDEFINE GET CHECKBOX [ <oEdit> VAR ] <vari>[ OF <oWnd>] ID <nId>[ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ <valid: VALID,ON CLICK> <bValid> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

4.4.5 @ <x>,<y> GET COMBOBOX

@ <x>,<y> GET COMBOBOX [ <oCombo> VAR ] <vari> ITEMS ] <aItems>[ OF <oWnd> ][ ID <nId> ][ SIZE <width>, <height> ][ ON CHANGE <bChange> ][ STYLE <nStyle> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

4.4.6 REDEFINE GET COMBOBOX

REDEFINE GET COMBOBOX [ <oCombo> VAR ] <vari> ITEMS ] <aItems>[ OF <oWnd> ] ID <nId>[ ON CHANGE <bChange> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

4.4.7 GET RADIOGROUPGET RADIOGROUP [ <ogr> VAR ] <vari>

4.4.8 @ <x>,<y> GET DATEPICKER

@ <x>,<y> GET DATEPICKER [ <oPick> VAR ] <vari>[ OF <oWnd>][ ID <nId> ][ SIZE <width>, <height> ][ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ WHEN <bWhen> ][ VALID <bValid> ][ STYLE <nStyle> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

4.4.9 @ <x>,<y> GET UPDOWN

@ <x>,<y> GET UPDOWN[ <oUpDown> VAR ] <vari> RANGE <nLower>, <nUpper>[ OF <oWnd> ][ ID <nId> ][ SIZE <width>, <height> ][ WIDTH <nUpdWidth> ][ COLOR <tcolor> ][ BACKCOLOR <bcolor> ][ PICTURE <cPicture> ][ WHEN <bWhen> ][ VALID <bValid> ][ STYLE <nStyle> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

Page 17: HwGUI

5 FUNCIONES5.1 Comandos de diálogos

5.1.1 SelectFont( [ oFont ] )Esta Función selecciona conjunto de caracteres

OFont - parámetro opcional, objeto del conjunto de caracteres actual ( caso de Hfont ).

Return value - la serie con las características del conjunto de caracteres seleccionadas (nHandle, fontName, nWidth, nHeight ,fnWeight, fdwCharSet, fdwItalic, fdwUnderline, fdwStrikeOut) o Nil, sí él conjunto de caracteres no fuera seleccionado.

Normalmente no se necesitaba llamar esta función, usa HFont():Select(oFont).

5.1.2 SelectFile( cDescript,cMask,[ cInitDir ], [ cTitle ] )Esta Función selecciona archivo.

cDescript - esta secuencia aparece en el diálogo como descripción de un tipo del archivo.cMask - encadene el tipo parámetro, describiendo la máscara de archivo.cInitDir - parámetro opcional de la secuencia, el directorio inicial para seleccionar del archivo.cTitle - parámetro opcional de la secuencia, el título de una caja de diálogo.Return value - una secuencia con un nombre del archivo seleccionado, o una secuencia vacía, si un archivo no fue seleccionado.

5.1.3 SaveFile( cPrompt,cDescript,cMask,cInitDir,cTitle )Esta función llama el diálogo normal para la economía del archivo.

cPrompt - esta secuencia aparece como aviso de un nombre del archivo.CDescript - esta secuencia aparece en el diálogo como descripción de un tipo del archivo.cMask - encadene el tipo parámetro, describiendo la máscara de archivo.cInitDir - parámetro opcional de la secuencia, el directorio inicial para seleccionar del archivo.Return value - una secuencia con un nombre del archivo seleccionado, o una secuencia vacía, si un archivo no fue seleccionado.

5.1.4 PrintSetup()Esta Función selecciona la impresora.

Return value (numérico) - al contexto del dispositivo (hDC) de la impresoraseleccionada, 0- si la impresora no fue seleccionada.

5.1.5 hwg_ChooseColor( nColorCurrent )Esta Función selecciona el color.

nColorCurrent - n parámetro numérico, valor inicial de un color,Return value ( numeric ) - color seleccionado

Page 18: HwGUI

5.2 Diálogos de MessageBoxes y de HwGUI5.2.1 MsgInfo( cMessage,cTitle )

5.2.2 MsgStop( cMessage,cTitle )

5.2.3 MsgOkCancel( cMessage,cTitle )

5.2.4 MsgYesNo( cMessage,cTitle )

5.2.5 MsgBeep( nSound )

5.2.6 MsgGet( cTitle, cText, nStyle, x, y, nDlgStyle )

5.2.7 WChoice( arr, cTitle, nLeft, nTop, oFont, clrT, clrB, clrTSel, clrBSel )

5.3 Funciones de dibujo.6 CLASSES

6.1 Class hierarchyEl esquema siguiente ilustra la jerarquía de clases, puesta en ejecuciónactualmente en HwGUI.

6.2 HObjectEs una clase base para todas las clases.

Page 19: HwGUI

6.3 HCustomWindowSirve como base para las ventanas, diálogos y controles. Las variables y losmétodos de HCustomWindow proporcionan el comportamiento básico de las clases queheredan, el comportamiento que los componentes pueden eliminar o modificar sufuncionalidad

DATAhandleoParenttitletypenTop, nLeft, nWidth, nHeighttcolor, bcolor, brushstyleextstylelHideoFontaEvents, aNotifyaControlsbInitbDestroybSizebPaintbGetFocusbLostFocusbOthercargo

METHODSAddControl( oCtrl )DelControl( oCtrl )AddEvent( nEvent,nId,bAction )FindControl( nId )Hide()Show()

6.3.1 HWindowDATACLASS VAR aWindowsCLASS VAR szAppNamemenu, nMenuPos, oPopup, hAcceloIcon, oBmpoNotifyIcon, bNotify, oNotifyMenulClipperlTray

METHODSNew( lType,oIcon,clr,nStyle,x,y,width,height,cTitle,cMenu,nPos,oFont, bInit,bExit,bSize,bPaint,bGfocus,bLfocus,bOther,cAppName,oBmp )Activate( lShow )InitTray( oNotifyIcon, bNotify, oNotifyMenu )AddItem( oWnd )DelItem( oWnd )FindWindow( hWnd )GetMain()GetMdiActive()

Page 20: HwGUI

6.3.2 HDialogDATACLASS VAR aDialogsCLASS VAR aModalDialogsoPopuplResultlUpdated // TRUE, if any GET is changedlClipper // Set it to TRUE for moving between GETs with ENTER keyGetListnLastKeyoIcon, oBmp

METHODSNew( lType,nStyle,x,y,width,height,cTitle,bInit,bExit,bSize, bPaint,bGfocus,bLfocus,bOther,lClipper,oBmp,oIcon ) Activate(lNoModal)AddItem( oWnd,lModal )DelItem( oWnd,lModal )FindDialog( hWnd )

6.3.3 HControlDATAidtooltiplInit

METHODSInit()SetColor( tcolor,bcolor,lRepaint )NewId()Move( x1,y1,width,height )

6.3.3.1 HBrowseDATAwinclassactivelChangedlDispHead ¿ debo desplegar los títulos?lDispSep ¿ Debo exhibir los separadores?aColumns HColumn's array rowCount Número de las filas de datos visiblesrowPos Posición actual de la filarowCurrCount Número actual de fila colPos Posición de columna actualnColumns Número de las columnas visibles de los datosnLeftCol Columna extrema izquierdaxposfreeze Número de las columnas a congelarkolz El número de expedientes dentro del browse tekzp,msrecrecCurrheadColor Header text color sepColor Separators color tcolorSel,bcolorSel,brushSelbSkip,bGoTo,bGoTop,bGoBot,bEof,bBofbRcou,bRecnobPosChanged, bLineOutbEnter, bKeyDowninternalalias Alias name of browsed database x1,y1,x2,y2,width,heightminHeightlEditablelAppablelAppModelAutoEditlUpdatedlAppended

METHODSNew( lType,oWndParent,nId,nStyle,nLeft,nTop,nWidth,nHeight,oFont ; bInit,bSize,bPaint,bEnter,bGfocus,bLfocus,lNoVScroll,lNoBorder )InitBrw( nType )Rebuild()Activate()Redefine( lType,oWnd,nId,bInit,bSize,bDraw,bEnter,bGfocus,bLfocus )FindBrowse( nId )AddColumn( oColumn )

Page 21: HwGUI

InsColumn( oColumn,nPos )DelColumn( nPos )Paint()LineOut()HeaderOut( hDC )DoHScroll( wParam )DoVScroll( wParam )LineDown()LineUp()PageUp()PageDown()Bottom()Top()ButtonDown( lParam )ButtonUp( lParam )ButtonDbl( lParam )MouseMove( wParam, lParam )Edit( wParam,lParam )Append()RefreshLine()Refresh()ShowSizes()End()

6.3.3.2 HPanelDATAwinclass

METHODSNew( oWndParent,nId,nStyle,nLeft,nTop,nWidth,nHeight, bInit,bSize,bPaint )Activate()Redefine( oWnd,nId,nHeight,bInit,bSize,bPaint )Paint()End()

6.3.3.3 HOwnerButtonDATACLASSDATA oSelectedwinclasslFlatstatebClicktext,tfont,xt,yt,widtht,heighttbitmap,xb,yb,widthb,heightb,lTransp

METHODSNew( oWndParent,nId,nStyle,nLeft,nTop,nWidth,nHeight, bInit,bSize,bPaint,bClick,lflat, cText,color,font,xt,yt,widtht,heightt, bmp,lResour,xb,yb,widthb,heightb,lTr, cTooltip )Activate()Redefine( oWndParent,nId,bInit,bSize,bPaint,bClick,lflat, cText,color,font,xt,yt,widtht,heightt, bmp,lResour,xb,yb,widthb,heightb,lTr, cTooltip ) Paint()MouseMove( wParam, lParam )MDown()MUp()Press()Release()End()

Page 22: HwGUI

6.3.3.4 HSplitterDATAwinclassaLeftaRightlVerticalhCursorlCaptured, lMoved

METHODSNew( oWndParent,nId,nLeft,nTop,nWidth,nHeight, bSize,bPaint,color,bcolor,aLeft,aRight )Activate()Init()Paint( lpdis )Drag( lParam )DragAll()

6.3.3.5 HStatusDATAaParts

METHODSNew( oWndParent,nId,nStyle,aParts,bInit,bSize,bPaint )Activate()

6.3.3.6 HStaticDATACLASS VAR winclass

METHODSNew(oWndParent,nId,nStyle,nLeft,nTop,nWidth,nHeight,cCaption,oFont,bInit,bSize,bPaint,ctoolt,tcolor,bcolor,lTransp )Activate()Redefine( oWndParent,nId,oFont,bInit, ; bSize,bPaint,ctoolt,tcolor,bcolor,lTransp ) SetValue(value)

6.3.3.7 HButtonDATACLASS VAR winclass

METHODSNew( oWndParent,nId,nStyle,nLeft,nTop,nWidth,nHeight,cCaption,oFont, bInit,bSize,bPaint,bClick,ctoolt,tcolor,bcolor )Activate()Redefine( oWnd,nId,oFont,bInit,bSize,bDraw,bClick,ctoolt,tcolor,bcolor )

6.3.3.8 HEditDATACLASS VAR winclassCLASS VAR lCtrlCLASS VAR lShiftlMultiLinecTypebSetGetbValidcPicFunc, cPicMasklPicComplexlFirstlChanged

METHODSNew( oWndParent,nId,vari,bSetGet,nStyle,nLeft,nTop,nWidth,nHeight,oFont, bInit,bSize,bPaint,bGfocus,bLfocus,ctoolt,tcolor,bcolor,cPicture,lNoBorder )Activate()Redefine(oWnd,nId,vari,bSetGet,oFont,bInit,bSize,bDraw,bGfocus,bLfocus,ctoolt,tcolor,bcolor,cPicture )Init()SetGet(value) INLINE Eval( ::bSetGet,value )Refresh()

Page 23: HwGUI

6.3.3.9. HChecButtonDATACLASS VAR winclassbSetGetvalue

METHODSNew( oWndParent,nId,vari,bSetGet,nStyle,nLeft,nTop,nWidth,nHeight,cCaption,oFont, bInit,bSize,bPaint,bClick,ctoolt,tcolor,bcolor )Activate()Redefine( oWnd,nId,vari,bSetGet,oFont,bInit,bSize,bDraw,bClick,ctoolt,tcolor,bcolor )Init()

6.3.3.10 HRadioButtonDATACLASS VAR winclassCLASS VAR oGroup

METHODSNew( oWndParent,nId,nStyle,nLeft,nTop,nWidth,nHeight,cCaption,oFont, bInit,bSize,bPaint,bClick,ctoolt,tcolor,bcolor )Activate()Redefine( oWnd,nId,oFont,bInit,bSize,bDraw,bClick,ctoolt,tcolor,bcolor )

6.3.3.11 HComboboxDATACLASS VAR winclassaItemsvaluebChangeSel

METHODSNew( oWndParent,nId,vari,bSetGet,nStyle,nLeft,nTop,nWidth,nHeight,aItems, bInit,bSize,bPaint,bChange,cTooltip )Activate()Redefine( oWnd,nId,vari,bSetGet,aItems,bInit,bSize,bPaint,bChange,cTooltip )Init( aCombo, nCurrent )

6.3.3.12 HGroupDATACLASS VAR winclass

METHODSNew( oWndParent,nId,nStyle,nLeft,nTop,nWidth,nHeight,cCaption,oFont, bInit,bSize,bPaint,tcolor,bcolor )Activate()

6.3.3.13 HLineDATACLASS VAR winclasslVertoPenLight, oPenGray

METHODSNew( oWndParent,nId,lVert,nLeft,nTop,nLength,bSize )Activate()Paint()

6.3.3.14 HSayImageDATACLASS VAR winclassoImage

METHODSNew( oWndParent,nId,nLeft,nTop,nWidth,nHeight,bInit, bSize,ctoolt )Activate() Redefine( oWndParent,nId,bInit,bSize,ctoolt )End()

Page 24: HwGUI

6.3.3.14.1 HSayBmpMETHODSNew( oWndParent,nId,nLeft,nTop,nWidth,nHeight,Image,lRes,bInit, bSize,ctoolt )Redefine( oWndParent,nId,Image,lRes,bInit,bSize,ctoolt )Init()

6.3.3.14.2 HSayIconMETHODSNew( oWndParent,nId,nLeft,nTop,nWidth,nHeight,Image,lRes,bInit, bSize,ctoolt )Redefine( oWndParent,nId,Image,lRes,bInit,bSize,ctoolt )Init()

6.3.3.14.3 HSayFImageMETHODSNew( oWndParent,nId,nLeft,nTop,nWidth,nHeight,Image,lRes,bInit, bSize,ctoolt )Redefine( oWndParent,nId,Image,lRes,bInit,bSize,ctoolt )Init()

6.3.3.15 HDatePickerDATACLASS VAR winclassbSetGetvalue

METHODSNew( oWndParent,nId,vari,bSetGet,nStyle,nLeft,nTop,nWidth,nHeight, ; oFont,bInit,bGfocus,bLfocus,ctoolt,tcolor,bcolor )Activate()Init()

6.3.3.16 HUpDownDATACLASS VAR winclassbSetGethUpDown, idUpDown, styleUpDownnLowernUppernUpDownWidthlChanged

METHODSNew( oWndParent,nId,vari,bSetGet,nStyle,nLeft,nTop,nWidth,nHeight, ;

oFont,bInit,bSize,bPaint,bGfocus,bLfocus,ctoolt,tcolor,bcolor,nUpDWidth,nLower,nUpper)Activate()Init()Refresh()

6.3.3.17 HTabDATACLASS VAR winclassaTabsaPagesbChange,bChange2oTemp

METHODSNew( oWndParent,nId,nStyle,nLeft,nTop,nWidth,nHeight, ; oFont,bInit,bSize,bPaint,aTabs,bChange )Activate()Init()SetTab( n )StartPage( cname )EndPage()ChangePage( nPage )HidePage( nPage )ShowPage( nPage )GetActivePage( nFirst,nEnd )End()

Page 25: HwGUI

6.3.3.18 HTreeDATACLASS VAR winclassaItemsoSelectedhiml,aImages,Image1,Image2bItemChange, bExpandlEmpty

METHODSNew( oWndParent,nId,nStyle,nLeft,nTop,nWidth,nHeight,oFont, bInit,bSize,color,bcolor,aImages,lResour,lEditLabels )Activate()Init()AddNode( cTitle, oPrev, oNext, bAction, aImages )FindChild( handle )GetSelected()EditLabel( oNode )Expand( oNode )Select( oNode )Clean()

6.5 HColumnDATAblock,heading,width,type,length,dec,cargonJusHead, nJusLintcolor,bcolor,brushlEditableaListaBitmapsbValid,bWhenbEdit

METHODSNew( cHeading,block,type,length,dec,lEditable,nJusHead,nJusLin )

6.6 HRadioGroupDATACLASS VAR oGroupCurrentaButtonsvaluebSetGet

METHODSNew( vari,bSetGet )EndGroup( nSelected )SetValue( nValue )

6.7 HFontDATACLASS VAR aFontshandlename, width, height ,weightcharset, italic, Underline, StrikeOutnCounterMETHODSAdd( fontName, nWidth, nHeight ,fnWeight, fdwCharSet, ; fdwItalic, fdwUnderline, fdwStrikeOut, nHandle )Select()Release()

6.8 HPenDATACLASS VAR aPenshandlestyle, width, colornCounter

METHODSAdd( style, width, color )Release()

Page 26: HwGUI

6.9 HBrushDATACLASS VAR aBrusheshandlecolornHatchnCounter

METHODSAdd( color,nHatch )Release()

6.10 HBitmapDATACLASS VAR aBitmapshandlenamenWidth, nHeightnCounter

METHODSAddResource( name )AddFile( name,hDC )AddWindow( oWnd,lFull )Release()

6.11 HIconDATACLASS VAR aIconshandlenamenCounter

METHODSAddResource( name )AddFile( name,hDC )Release()

6.12 HPrinterDATAhDCPrnhDCaMetalPreviewcMetaName

METHODSNew( cPrinter ) Abrir una impresora. Si se omite la ' IMPRESORA ', el diálogo de la

disposición de impresora aparece; si la ' IMPRESORA ' es una ecuencia vacía, se utiliza la impresora del defecto.StartDoc(lPreview,cMetaName ) Comienza la impresión de un lPreview del documento debe ser VERDAD, si usted desea ver el resultado de antemano de impresión.

EndDoc() Final de una impresión del documento.StartPage()EndPage()ReleaseMeta()PlayMeta( nPage, oWnd, x1, y1, x2, y2 )PrintMeta( nPage )Preview( cTitle ) La abertura de una ventana de la inspección previo, ésta se debe utilizar después de que llamada de EndDoc().End() Lanzar la impresora.Box( x1,y1,x2,y2,oPen )Line( x1,y1,x2,y2,oPen )Say( cString,x1,y1,x2,y2,nOpt,oFont )Bitmap( x1,y1,x2,y2,nOpt,hBitmap )

6.13 HTreeNode

Page 27: HwGUI

DATACLASS VAR winclassaItemshandleoTree, oParentbActioncargo

METHODSNew( oTree, oParent, oPrev, oNext, cTitle, bAction,aImages )AddNode( cTitle, oPrev, oNext, bAction, aImages )Delete()FindChild( handle )GetText()

6.14 HTimerDATACLASS VAR aTimersidvalueoParentbActionMETHODSNew( oParent,id,value,bAction )End()

6.15 HFreeImageEsta clase es similar a HBitmap, HIcon permite cargar imagenes BMP, JPEG, PNG yotros formatos. Usa la biblioteca de FreeImage(http://freeimage.sourceforge.net>) - si usted lo incluye en su aplicación,necesita tener FreeImage.dll.

DATACLASS VAR aImageshandlehBitmapnamenWidth, nHeightnCounter

METHODSAddFile( name ) Cargue la imagen de un archivo FromBitmap( oBitmap ) Cree una imagen de una BITMAPDraw( hDC,nLeft,nTop,nWidth,nHeight ) Dibuje la imagen en contect especificado del dispositivoRelease() Descargue la imagen

Un ejemplo de uso de esta clase esta en samples/viewer/viewer.prg.

Page 28: HwGUI

7 QHTM INTEGRATION7.1 Descripción

QHTM es una biblioteca de C++, que permite exhibir y imprimir el contenido deHTML - en cualquier ventana, contexto del dispositivo, en un informe, en unbotón o en un tooltip.Para más detalles http://www.gipsysoft.com. HwGUI proporciona un interfaz paraesta biblioteca.Para utilizarlo, usted necesita descargar QHTM delhttp://www.gipsysoft.com/qhtm/freedownload.shtml y copiar qhtm.dll al mismodirectorio, donde está su uso. ¡Atención!!! ¡cQhtm se lanza bajo licencia queharbour y HwGUI, así que no se olvida de leerlo antes de usar!

7.2 Commands@ <x>,<y> QHTM [ <oQhtm> ]

[ CAPTION <caption> ][ FILE <fname> ][ RESOURCE <resname> ][ OF <oWnd> ];[ ID <nId> ][ SIZE <width>, <height> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON CLICK <bLink> ][ ON SUBMIT <bSubmit> ][ STYLE <nStyle> ]

Este comando crea control de QHTM. El contenido del HTML se puede asignar detres maneras: Usted puede escribirlo después de cláusula CAPTION. Puede estar enel archivo externo del HTML, que el nombre señala después de cláusula FILE.Archivo del recurso. En este recurso apropiado, el nombre se firma después decláusula RESOURCE.ON CLICK la cláusula determina el codeblock, que será ejecutado cuando el usuariochasca encendido un acoplamiento externo.ON SUBMIT la cláusula determina el codeblock, que será ejecutado cuando elusuario somete la forma.

REDEFINE QHTM [ <oQhtm> ][ CAPTION <caption> ][ FILE <fname> ][ RESOURCE <resname> ][ OF <oWnd> ]ID <nId>[ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON CLICK <bLink> ][ ON SUBMIT <bSubmit> ]

Este comando redefines QHTM controla los recursos. El contenido del HTML sepuede asignar de tres maneras las mismas tres maneras con el comando @ ... QHTM

@ <x>,<y> QHTMBUTTON [ <oButton> CAPTION ] <caption>[ OF <oWnd> ];[ ID <nId> ][ SIZE <width>, <height> ][ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON CLICK <bClick> ][ STYLE <nStyle> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

Este comando trabaja exactamente como @ ... BUTTON, pero <caption> puede incluirel contenido del HTML.

Page 29: HwGUI

REDEFINE QHTMBUTTON <oButton>[ OF <oWnd> ] ID <nId>[ ON INIT <bInit> ][ ON SIZE <bSize> ][ ON CLICK <bClick> ][ FONT <oFont> ][ TOOLTIP <ctoolt> ]

Este comando trabaja exactamente como REDEFINE BUTTON, pero <caption> puedeincluir el contenido del HTML.

7.3 FuncionesQHTM_Init( [ cDllName ] )

QHTM_Message( cMessage [,cTitle ] [,nFlags ] )

QHTM_LoadFile( handle, cFileName )

QHTM_LoadRes( handle, cResourceName )

QHTM_AddHtml( handle, cText )

QHTM_GetTitle( handle )

QHTM_GetSize( handle )

QHTM_EnableCooltips()

QHTM_PrintCreateContext() --> hContext

QHTM_PrintSetText( hContext,cHtmlText )

QHTM_PrintSetTextFile( hContext,cFileName )

QHTM_PrintSetTextResource( hContext,cResourceName )

QHTM_PrintLayOut( hDC,hContext ) --> nNumberOfPages

QHTM_PrintPage( hDC,hContext,nPage )

QHTM_PrintDestroyContext( hContext )

8 LICENCIAHwGUI se libera bajo la misma licencia que Harbour. Este programa es softwarelibre; puede redistribuirlo y/o modificarlo bajo términos de la licencia GNUsegún lo publicado por la fundación libre de software; versión 2 o (en suopción) cualquier versión más ACTUALIZADA. Este programa se distribuye con laesperanza de que sea útil, pero SIN NINGUNA GARANTÍA; sin uniforme la garantíaimplicada del MERCHANTABILITY o de la APTITUD PARA Un PROPÓSITO PARTICULAR. Veala licencia el público en general del GNU para más detalles. Usted debe haberrecibido una copia de la licencia el público en general del GNU junto con estesoftware; vea el COPIADOdel archivo. Si no, escriba a los Free Software Foundation, Inc., lugar de 59templos, habitación 330, Boston, mA 02111-1307 los E.E.U.U. (o visite el Website http://www.gnu.org/). Como excepción especial, usted tiene permiso para lasaplicaciones adicionales del contenido en su lanzamiento de HWGUI.La excepción es que, si usted liga la biblioteca de HWGUI a otros archivos paraproducir un ejecutable, esto no por sí mismo causa el resultar ejecutable escubierta por la licencia de GNU. Su uso de ese ejecutable no es de manera algunarestringida a causa de ligar el código de la biblioteca de HWGUI en él.

Page 30: HwGUI

9 SOBRE EL AUTORAlexander S. KresinCreador de HwGUI

Nacio en la ciudadBaku,Union Sovietica,En diciembre 28 de 1960