HwGUI 2.16 reference manual  
prev Alexander S.Kresin, September 2006  


7. Utilities
7.1. Designer

The Designer is intended to create/modify input screen forms and reports. It's main features are:

Few notes for HwGUI applications about using of some properties and methods:

Few notes about the reports builder. For a few years there was another report designer in HwGUI - HwReport. Now the Designer becomes the main report builder utility. It has more modern and advanced engine than Hwreport and, what is important, it is more easy to support one engine than two different :). The important point is that now the report builder may be integrated into the application and it is convenient, IMO, that the same code, the same module, linked into the application, implements two tasks - works with input forms and with reports. The compatibility with the *.rpt files, created with Hwreport, is implemented via the plugin ( resource/r_text.prg ) - you may open rpt files, choosing the 'plain text format' and then save them in a new format, which is exactly the same as for input forms. The new report engine uses a bit different approach than the old one. There are no 'markers' - the widget 'area' is used instead. You can convert any rpt file into the new format and you will see how these 'areas' are used. The 'area' has two main properties:

The areas may be nested - to implement subtables, for example. The report itself has two methods: Every print item ( Label, Box, Vline, HLine, Bitmap ) has three methods: The 'Label' item has additionally a method 'Expression', which calculates a string, which should be printed. The 'area' has additionally a method 'onNextLine', which is executed for the each line in a 'Table' area - it is the same as script for the 'End Line' marker in an old report engine.


7.2. Tutorial


7.3. Visual debugger


7.4. Editor


7.5. Dbc


7.6. Binary container manager


8. Contrib


8.1. ActiveX


8.2. Qhtm integration
8.2.1. Overview

QHTM is a C++ library, which allows to display and print HTML content in your application - on any window, device context, on a report, on a button or in a tooltip. For more details look at http://www.gipsysoft.com. HwGUI provides an interface for this library. To use it, you need to download QHTM from the http://www.gipsysoft.com/qhtm/freedownload.shtml and copy qhtm.dll to the same directory, where your application is.
Attention !!! QHTM is released under other license than Harbour and HwGUI, so don't forget to read it before using !


8.2.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> ]
   

This command creates QHTM control. Html content may be assigned in three ways:

ON CLICK clause determines the codeblock, which will be executed when user clicks on an external link. ON SUBMIT clause determines the codeblock, which will be executed when user submits form.

   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> ]
   

This command redefines QHTM control from resources. Html content may be assigned in three ways the same three ways as in @ ... QHTM command.

   @ <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> ]
   

This command works exactly as @ ... BUTTON, but <caption> may include html content.

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

This command works exactly as REDEFINE BUTTON, but <caption> may include html content.


8.2.3. Functions

QHTM_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 )


9. License

HwGUI is released under the same license, as Harbour itself.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this software; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).

As a special exception, you have permission for additional uses of the text contained in its release of HWGUI.

The exception is that, if you link the HWGUI library with other files to produce an executable, this does not by itself cause the resulting executable to be covered by the GNU General Public License. Your use of that executable is in no way restricted on account of linking the HWGUI library code into it.


10. About the author



prev table of contents  
classes