| HwGUI 2.23: справочное руководство | ||
| назад | Александр С. Кресин, Октябрь 2023 | вперед |
6. Классы
6.1. Введение
В этом разделе рассмотрены все классы, входящие в состав HwGUI. В описании классов я опустил некоторые переменные, которые используются только для внутренних нужд методов класса. Опущены также методы Redefine() как устаревшие и не рекомендуемые к использованию.
Переменные, помеченные как (RW), можно менять и читать, (R) - только читать. Непомеченные не предназначены для использования в программах.
6.2. Иерархия классов
Приведенная ниже схема иллюстрирует иерархию классов, реализованную на данный момент времени в HwGUI.
- HObject
- HScrollArea только в WinAPI версии
- HCustomWindow
- HWindow
- HMainWindow
- HMDIChildWindow только в WinAPI версии
- HDialog
- HControl
- HBrowse
- HPanel
- HOwnButton
- HShadeButton только в WinAPI версии
- HNiceButton только в WinAPI версии
- HSplitter
- HStatus
- HStatic
- HButton
- HEdit
- HCheckButton
- HRadioButton
- HCombobox
- HGroup
- HLine
- HSayImage
- HSayBmp
- HSayIcon
- HSayFImage только в WinAPI версии
- HDatePicker только в WinAPI версии
- HUpDown
- HTab
- HTree
- HMonthCalendar
- HProgressBar
- HToolBar
- HTrackBar только в WinAPI версии
- HAnimation только в WinAPI версии
- HCEdit
- HBoard
- HWindow
- HColumn
- HBrwCol
- HBrwData
- HRadioGroup
- HFont
- HPen
- HBrush
- HBitmap
- HIcon
- HPrinter
- HTreeNode
- HTimer
- HFreeImage только в WinAPI версии
- HSplash только в WinAPI версии
- HPrintDos только в WinAPI версии
- HWinPrn
- HFormTmpl
- HRepTmpl
- HBinC
- HStyle
- HilightBase
- HXMLNode
- HPaintCB
- HPicture
- HDrawn
HObject
Это базовый класс для всех HwGUI классов.
DATA
objName (RW) имя объекта, по которому к нему можно обращаться в программе
cargo (RW) поле, которое пользователь может использовать по своему усмотрению
HScrollArea
Это базовый класс для окон (HWindow), он пока реализован только в Windows версии
HCustomWindow
Это базовый класс для всех окон и виджетов, его нельзя использовать непосредственно в программе. Другими словами, HCustomWindow обеспечивает базовый набор переменных и методов, которые наследуются всеми окнами и виджетами. Каждый дочерний класс добавляет свои переменные и методы, модифицирует в случае необходимости унаследованные, а многие переменные и методы HCustomWindow использует как есть.
DATA
CLASS VAR oDefaultParent
title (RW) заголовок, надпись
nTop, nLeft (RW) координаты левого верхнего угла
nWidth, nHeight (RW) размеры: ширина и высота
tcolor, bcolor (RW) цвет теста и фона, соответственно
oFont (RW) шрифт, объект класса HFont
bInit (RW) кодоблок, выполняемый при инциализации
bDestroy (RW) кодоблок, выполняемый при удалении
bSize (RW) кодоблок, выполняемый при изменении размера
bPaint (RW) кодоблок, отрисовывающий элемент
bGetFocus (RW) кодоблок, выполняемый при получении фокуса
bLostFocus (RW) кодоблок, выполняемый при потере фокуса
bOther (RW) кодоблок, выполняемый для всех сообщений
handle (R) дескриптор GUI элемента
oParent (R) объект родительского окна или виджета
type (R)
brush (R)
style (R) WinAPI стиль
extstyle (R) дополнительный WinAPI стиль
lHide (R) .T., если элемент спрятан
aControls (R) массив с объектами виджетов, расположенных
в этом окне или виджете-контейнере
Internal:
aEvents, aNotify
HelpId
nHolder
METHODS
AddControl( oCtrl )
DelControl( oCtrl )
AddEvent( nEvent,nId,bAction,lNotify )
FindControl( nId,nHandle )
Hide()
Show()
Move( x1,y1,width,height )
SetColor( tcolor, bColor, lRepaint )
Refresh()
Internal:
onEvent( msg, wParam, lParam )
OnError()
End()
HWindow
Это базовый класс для всех окон и диалогов, его тоже нельзя использовать непосредственно в программе.
DATA
CLASS VAR aWindows (R)
CLASS VAR szAppName (R)
CLASS VAR aKeysGlobal (R)
lUpdated (RW) .F., если какой-нибудь из GET'ов изменен
lClipper (RW)
oBmp (RW)
bCloseQuery (RW)
bActivate (RW) кодоблок, выполняемый один раз при активации окна
tColorinFocus (RW) цвет текста для Edit виджета в фокусе
bColorinFocus (RW) Цвет фона для Edit виджета в фокусе
bScroll (RW) кодоблок, выполняемый при скроллинге окна
menu (R)
oIcon (R)
GetList (R)
KeyList (R)
nLastKey (R)
aOffset
oEmbedded
oPopup, hAccel
METHODS
New( oIcon, clr, nStyle, x, y, width, height, cTitle, cMenu, nPos,
oFont, bInit, bExit, bSize, bPaint, bGfocus, bLfocus, bOther,
cAppName, oBmp, cHelp, nHelpId, bColor )
FindWindow( hWnd ) - Seeking a window by the handle, returns a window object
GetMain() - returns a main window object
Center() - moves the window in the center of the screen
Restore() - restores the normal window size
Maximize() - expands window to full screen
Minimize() - minimizes window
SetTitle( cTitle ) - set a new window title
EvalKeyList( nKey, bPressed )
Close() - closes windows, deletes it with all controls
Internal:
AddItem( oWnd )
DelItem( oWnd )
HMainWindow
Класс главного окна, соответствующая команда - INIT WINDOW MAIN
DATA
CLASS VAR aMessages
nMenuPos
oNotifyIcon, bNotify, oNotifyMenu
lTray
METHODS
New( lType, oIcon, clr, nStyle, x, y, width, height, cTitle, cMenu, nPos,
oFont, bInit, bExit, bSize, bPaint, bGfocus, bLfocus, bOther,
cAppName, oBmp, cHelp, nHelpId, bColor, nExclude )
Activate( lShow, lMaximized, - Активизирует окно, соответствует
lMinimized, lCentered, bActivate ) команде ACTIVATE WINDOW
InitTray( oNotifyIcon, bNotify, oNotifyMenu ) (Windows only)
GetMdiActive() - возвращает объект активного в данный момент MDI окна
DEICONIFY() (LINUX/GTK only) - maximize
ICONIFY() (LINUX/GTK only) - minimize
Internal:
onEvent( msg, wParam, lParam )
HMDIChildWindow
Класс дочернего MDI окна, соответствующая команда - INIT WINDOW MDICHILD
DATA
CLASS VAR aMessages
METHODS
New( oIcon, clr, nStyle, x, y, width, height, cTitle, cMenu, oFont,
bInit, bExit, bSize, bPaint, bGfocus, bLfocus, bOther,
cAppName, oBmp, cHelp, nHelpId, bColor )
Activate( lShow, lMaximized, lMinimized, lCentered, bActivate )
Internal:
onEvent( msg, wParam, lParam )
HDialog
Класс диалогового окна, соответствующая команда - INIT DIALOG
DATA
CLASS VAR aDialogs (R)
CLASS VAR aModalDialogs (R)
lResult (RW)
lClipper (RW) если .T., то перемещаться между GET'ами можно при помощи ENTER
lExitOnEnter (RW)
lExitOnEsc (RW)
lClosable (R)
lModal
nInitState если .T., диалог - модальный;
METHODS
New( lType, nStyle, x, y, width, height, cTitle, bInit, bExit, bSize,
bPaint, bGfocus, bLfocus, bOther, lClipper, oBmp, oIcon, lExitOnEnter, nHelpId,
xResourceID, lExitOnEsc, bColor, lNoClosable )
Activate( lNoModal, lMaximized, lMinimized, lCentered, bActivate )
FindDialog( hWnd )
GetActive() - returns a GET element object of this dialog, which owns input focus
Close()
Internal:
AddItem()
DelItem()
onEvent( msg, wParam, lParam )
HControl
Do not create instances of HControl. It serves as a base class for all controls, except "drawn". In other words, HControl provide basic variables and methods, which are inherited by all controls. Every subclass adds its own variables and methods, modifies inherited, if needed, and use others as is.
DATA
Anchor (RW) a numeric value, which determines autoresizing
of a control due to a parent window resizing
tooltip (R)
id (R)
Internal:
lInit
METHODS
New( oWndParent,nId,nStyle,nLeft,nTop,nWidth,nHeight,oFont,bInit,
bSize,bPaint,ctoolt,tcolor,bcolor )
Disable()
Enable()
Enabled()
SetFocus()
GetText()
SetText( c )
Refresh() - virtual method
SetTooltip()
Internal:
Init()
NewId()
End()
HBrowse
The corresponding command is @ <x>,<y> BROWSE
DATA
active (RW)
lChanged (RW)
lDispHead (RW) Надо ли показывать заголовки ?
lDispSep (RW) Надо ли показывать разделители ?
lBuffering (RW)
freeze (RW) Number of columns to freeze
aArray (RW) An array to browse
oStyleHead (RW) A HStyle object to draw the header
oStyleFoot (RW) A HStyle object to draw the footer
oStyleCell (RW) A HStyle object to draw the cell
headColor (RW) Header text color
sepColor (RW) Separators color
aPadding (RW)
aHeadPadding (RW)
lInFocus (RW)
tcolorSel, bcolorSel (RW) Text and backgound color of a selected row
httColor, htbColor (RW) Text and backgound color of a selected cell
bSkip, bGoTo, bGoTop (RW)
bGoBot, bEof, bBof (RW)
bRcou, bRecno, bRecnoLog(RW)
bPosChanged, bLineOut, (RW)
bScrollPos, bHScrollPos (RW)
bEnter (RW)
bKeyDown (RW)
bUpdate (RW)
bRClick (RW)
lEditable (RW)
lAppable (RW)
lAppMode (RW)
lAutoEdit (RW)
lAdjRight (RW) Adjust last column to right
winclass (R)
aColumns (R) HColumn's array
nRecords (R) Number of records in browse
nCurrent (R) Number of a current record in a browse
nRowHeight (R) Предопределенная заданная высота строки
nRowTextHeight (R) Максимальная высота текста в строке
rowCount (R) Количество видимых строк
rowPos (R) Current row position
rowCurrCount (R) Current number of rows
colPos (R) Current column position
nColumns (R) Количество видимых колонок
nLeftCol (R) Leftmost column
nHeadRows (R) Rows in header
nFootRows (R) Rows in footer
recCurr (R)
lUpdated (R)
lAppended (R)
oPenSep, oPenHdr, oPen3d (R)
brushSel (R)
lSep3d (R)
aSelected (R)
nPaintRow, nPaintCol (R) Row/Col being painted
alias (R) Alias name of browsed database
x1,y1,x2,y2 (R)
width,height (R)
aColAlias
aRelation
lResizing
lCtrlPress
DATA nHCCharset INIT -1 Charset for MEMO EDIT, -1 for use default (set default value = 0)
For compatibiltity purposes, do not modify
with UTF-8 (0).
For Windows:
204: Russian
15 : IBM 858 with Euro currency sign (€)
--- International Language Support for internal dialogs ---
cTextTitME (RW) "Memo Edit"
cTextClose (RW) "Close" // Button
cTextSave (RW) "Save"
cTextMod (RW) "Memo was modified, save ?"
cTextLockRec (RW) "Can't lock the record!"
METHODS
New( lType, oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, oFont ;
bInit, bSize, bPaint, bEnter, bGfocus, bLfocus, lNoVScroll, lNoBorder,
lAppend, lAutoedit, bUpdate, bKeyDown, bPosChg, lMultiSelect, bRClick )
InitBrw( nType )
DefaultLang() // Reset of messages to default value English
Rebuild()
AddColumn( oColumn )
InsColumn( oColumn,nPos )
DelColumn( nPos )
SetColumn( nCol )
LineDown( lMouse )
LineUp()
PageUp()
PageDown()
Bottom()
Top()
Home()
RefreshLine()
Refresh()
ShowSizes()
Internal:
Activate()
Paint()
DrawHeader( hDC, nColumn, x1, y1, x2, y2 )
LineOut()
HeaderOut( hDC )
FooterOut( hDC )
DoHScroll( wParam )
DoVScroll( wParam )
ButtonDown( lParam )
ButtonRDown( lParam )
ButtonUp( lParam )
ButtonDbl( lParam )
MouseMove( wParam, lParam )
MouseWheel( nKeys, nDelta, nXPos, nYPos )
Edit( wParam,lParam )
Append()
onEvent( msg, wParam, lParam )
End()
HPanel
DATA
bScroll (RW)
oStyle (RW)
lDragWin (RW)
winclass (R)
oEmbedded (R)
oPaintCB (RW) HPaintCB object
lCaptured
hCursor
METHODS
New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight,
bInit, bSize, bPaint, bColor, oStyle )
Hide()
Show()
BackColor( bcolor )
Internal:
Activate()
onEvent( msg, wParam, lParam )
DrawItems( hDC, aCoors )
Paint()
Drag( xPos, yPos )
Release()
HPanelSts
DATA
aParts (R)
aText (R)
METHODS
New( oWndParent, nId, nHeight, oFont, bInit, bPaint, bcolor, oStyle, aParts )
Write( cText, nPart, lRedraw )
SetText( cText )
Internal:
PaintText( hDC )
Paint()
HPanelHea
DATA
xt, yt (RW)
lMaximized
lPreDef HIDDEN
METHODS
New( oWndParent, nId, nHeight, oFont, bInit, bPaint, tcolor, bcolor, oStyle, ;
cText, xt, yt, lBtnClose, lBtnMax, lBtnMin )
SetText( c )
SetSysbtnColor( tColor, bColor )
Internal:
PaintText( hDC )
Paint()
HOwnButton
DATA
CLASS VAR cPath SHARED
lFlat (RW)
aStyle (RW)
bClick (RW)
lCheck (RW)
text (RW)
tfont (RW)
xt, yt, widtht, heightt (RW)
oBitmap (RW)
xb, yb, widthb, heightb (RW)
lTransp, trColor (RW)
winclass (R)
lEnabled (R)
nOrder (R)
state (R)
lPress (R)
METHODS
New( 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, trColor,
cTooltip, lEnabled, lCheck, bColor )
Press()
Release()
Enable()
Disable()
Internal:
Activate()
onEvent( msg, wParam, lParam )
Init()
Paint()
DrawItems( hDC )
MouseMove( wParam, lParam )
MDown()
MUp()
End()
HShadeButton
(Windows only)
DATA
hShade
METHODS
New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, ;
bInit, bSize, bPaint, bClick, lflat, ;
cText, color, font, xt, yt, ;
bmp, lResour, xb, yb, widthb, heightb, lTr, trColor, ;
cTooltip, lEnabled, shadeID, palette, ;
granularity, highlight, coloring, shcolor )
Internal:
Paint()
END()
HNiceButton
(Windows only)
DATA
winclass INIT "NICEBUTT"
TEXT, id, nTop, nLeft, nwidth, nheight
CLASSDATA oSelected INIT Nil
State INIT 0
ExStyle
bClick, cTooltip
lPress INIT .F.
r INIT 30
g INIT 90
b INIT 90
lFlat
nOrder
METHODS
New( oWndParent, nId, nStyle, nStyleEx, nLeft, nTop, nWidth, nHeight, ;
bInit, bClick, ;
cText, cTooltip, r, g, b )
Redefine( oWndParent, nId, nStyleEx, ;
bInit, bClick, ;
cText, cTooltip, r, g, b )
Activate()
INIT()
Create( )
Size( )
Moving( )
Paint()
MouseMove( wParam, lParam )
MDown()
MUp()
Press() INLINE( ::lPress := .T., ::MDown() )
RELEASE()
END ()
HSplitter
DATA
aLeft (RW)
aRight (RW)
lVertical (RW)
oStyle (RW)
lRepaint (RW)
nFrom, nTo (RW)
bEndDrag (RW)
winclass (R)
hCursor
lCaptured, lMoved
METHODS
New( oWndParent, nId, nLeft, nTop, nWidth, nHeight,
bSize, bPaint, color, bcolor, aLeft, aRight, nFrom, nTo, oStyle )
Internal:
Activate()
onEvent( msg, wParam, lParam )
Init()
Paint( lpdis )
Drag( lParam )
DragAll()
HStatus
DATA
CLASS VAR winclass (R)
aParts (R)
METHODS
New( oWndParent, nId, nStyle, aParts, bInit, bSize, bPaint )
SetText( cText,nPart )
Internal:
Activate()
Init()
HStatic
DATA
CLASS VAR winclass (R)
nStyleDraw (R)
METHODS
New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, cCaption, oFont,
bInit, bSize, bPaint, ctoolt, tcolor, bcolor, lTransp )
Internal:
Activate()
Init()
Paint( lpDis )
HStaticLink
DATA
m_bFireChild (RW)
m_hHyperCursor (RW)
m_bMouseOver (RW)
m_bVisited (RW)
m_oTextFont (RW)
m_csUrl (RW)
m_sHoverColor (RW)
m_sLinkColor (RW)
m_sVisitedColor (RW)
state (R)
dwFlags
METHODS
New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, cCaption, oFont, bInit,
bSize, bPaint, ctooltip, tcolor, bcolor, lTransp, cLink, vColor, lColor, hColor )
SetLinkUrl( csUrl )
GetLinkUrl()
SetVisitedColor( sVisitedColor )
SetHoverColor( cHoverColor )
SetFireChild( lFlag )
SetLinkColor( sLinkColor )
Internal:
Activate()
Init()
onEvent( msg, wParam, lParam )
GoToLinkUrl( csLink )
OnClicked()
Paint()
OnMouseMove( nFlags, point )
HButton
DATA
bClick (RW)
CLASS VAR winclass (R)
METHODS
New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, cCaption, oFont,
bInit, bSize, bPaint, bClick, ctoolt, tcolor, bcolor )
SetText( c )
GetText()
Internal:
Activate()
Init()
HEdit
DATA
CLASS VAR winclass (R)
oPicture (R)
bSetGet (RW)
bValid (RW)
lNoPaste (RW)
nMaxLength (RW)
bkeydown (RW)
bkeyup (RW)
bchange (RW)
bColorBlock (RW)
lFirst (R)
lChanged (R)
lMultiLine (R)
cType (R)
aColorOld (R)
METHODS
New( oWndParent, nId, vari, bSetGet, nStyle, nLeft, nTop, nWidth, nHeight, ;
oFont, bInit, bSize, bGfocus, bLfocus, ctooltip, ;
tcolor, bcolor, cPicture, lNoBorder, nMaxLength, lPassword, bKeyDown, bChange )
Refresh()
Value( xValue ) SETGET
SelStart( nStart ) SETGET
SelLength( nLength ) SETGET
Internal:
Activate()
onEvent( msg, wParam, lParam )
Init()
HCheckButton
DATA
CLASS VAR winclass (R)
bSetGet (RW)
bClick (RW)
lValue
METHODS
New( oWndParent, nId, vari, bSetGet,nStyle, nLeft, nTop, nWidth, nHeight,
cCaption, oFont, bInit, bSize, bPaint, bClick, ctoolt, tcolor, bcolor,
bGFocus, lTransp, bLFocus )
Refresh()
Disable()
Enable()
Value( lValue ) SETGET
Invert()
SetTooltip()
Internal:
Activate()
Init()
HRadioButton
DATA
CLASS VAR winclass (R)
bClick (RW)
oGroup
METHODS
New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, cCaption, oFont,
bInit, bSize, bPaint, bClick, ctoolt, tcolor, bcolor, lTransp )
Value( lValue ) SETGET
Internal:
Activate()
HCombobox
DATA
CLASS VAR winclass (R)
bSetGet (RW)
bValid (RW)
bChangeSel (RW)
aItems (R)
lText (R)
lEdit (R)
nDisplay (R)
xValue
METHODS
New( oWndParent, nId, vari, bSetGet, nStyle, nLeft, nTop, nWidth, nHeight, aItems,
bInit, bSize, bPaint, bChange, cTooltip, lEdit, lText, bGFocus, tcolor,
bcolor, bValid, nDisplay )
Refresh( xVal )
Setitem( nPos )
GetValue( nItem )
Value ( xValue ) SETGET
Internal:
Activate()
Init( aCombo, nCurrent )
HGroup
DATA
CLASS VAR winclass (R)
METHODS
New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, cCaption, oFont,
bInit, bSize, bPaint, tcolor, bcolor )
Internal:
Activate()
HLine
DATA
CLASS VAR winclass (R)
lVert (R)
oPenLight, oPenGray (R)
METHODS
New( oWndParent, nId, lVert, nLeft, nTop, nLength, bSize )
Internal:
Activate()
Paint()
HSayImage
Do not create instances of HSayImage. It serves as a base class for HSayBmp, HSayIcon, HSayFimage
DATA
CLASS VAR winclass (R)
oImage (RW)
bClick, bDblClick (RW)
METHODS
New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, bInit,
bSize, ctoolt, bClick, bDblClick )
Internal:
Activate()
End()
onClick()
onDblClick()
HSayBmp
DATA
lTransp (RW) Is the image transparent, .F. by default
trcolor (RW) The transparent color value
nStretch (RW)
nBorder (RW) A border width in pixels, 0 by default
oPen (R)
nOffsetV
nOffsetH
nZoom
METHODS
New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, Image, lRes, bInit,
bSize, ctoolt, bClick, bDblClick, lTransp, nStretch, trcolor )
ReplaceBitmap( Image, lRes )
Refresh()
Internal:
Paint( lpdis )
HSayIcon
METHODS
New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, Image, lRes, bInit,
bSize, ctoolt, lOEM, bClick, bDblClick )
Internal:
Refresh()
Init()
HSayFImage
DATA
nOffsetV
nOffsetH
nZoom
METHODS
New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, Image, lRes, bInit,
bSize, ctoolt, cType )
ReplaceImage( Image, cType )
Refresh()
Internal:
Paint( lpdis )
HDatePicker
DATA
CLASS VAR winclass (R)
bSetGet (RW)
bChange (RW)
value
METHODS
New( oWndParent, nId, vari, bSetGet, nStyle, nLeft, nTop, nWidth, nHeight,
oFont, bInit, bGfocus, bLfocus, ctoolt, tcolor, bcolor )
Refresh()
Value ( dValue ) SETGET
Internal:
Activate()
Init()
HUpDown
DATA
CLASS VAR winclass (R)
bSetGet (RW)
nLower (RW)
nUpper (RW)
nValue (R)
nUpDownWidth (R)
hUpDown, idUpDown, styleUpDown
lChanged
METHODS
New( oWndParent, nId, vari,bSetGet, nStyle, nLeft, nTop, nWidth, nHeight,
oFont, bInit, bSize, bPaint, bGfocus, bLfocus, ctoolt, tcolor, bcolor,
nUpDWidth, nLower, nUpper )
Refresh()
Value( nValue ) SETGET
SetRange( n1, n2 )
Hide()
Show()
Internal:
Activate()
Init()
HTab
DATA
CLASS VAR winclass (R)
bChange,bChange2 (RW)
bAction (RW)
aTabs (R)
aPages (R)
hIml, aImages, Image1, Image2
oTemp
aTooltips // Array with tooltips messages
// One element for every tab
METHODS
New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, oFont, bInit,
bSize, bPaint, aTabs, bChange, aImages, lResour, nBC, bClick, bGetFocus,
bLostFocus )
GetActivePage( nFirst,nEnd )
SetTab( n )
Internal:
Activate()
Init()
onEvent( msg, wParam, lParam )
StartPage( cname , [cToolTip] ) // GTK
StartPage( cName, oDlg , [ctooltip] ) // WinAPI
EndPage()
ChangePage( nPage )
DeletePage( nPage )
HidePage( nPage )
ShowPage( nPage )
Notify( lParam )
SetTooltip( nhandle, ntab ) // WinAPI
HTree
DATA
CLASS VAR winclass (R)
aItems (R)
oSelected (R)
bItemChange (RW)
bExpand (RW)
bRClick (RW)
bDblClick (RW)
bAction (RW)
himl,aImages,Image1,Image2
lEmpty
METHODS
New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, oFont,
bInit, bSize, color, bcolor, aImages, lResour, lEditLabels, bAction, nBC )
AddNode( cTitle, oPrev, oNext, bAction, aImages )
FindChild( handle )
GetSelected()
EditLabel( oNode )
Select( oNode )
Expand( oNode )
Clean()
Internal:
Activate()
Init()
Notify( lParam )
End()
HMonthCalendar
DATA
CLASS VAR winclass (R)
bChange (RW)
dValue
METHODS
New( oWndParent, nId, vari, nStyle, nLeft, nTop, nWidth, nHeight,
oFont, bInit, bChange, cTooltip, lNoToday, lNoTodayCircle, lWeekNumbers )
Value( dValue ) SETGET
Internal:
Activate()
Init()
HProgressBar
DATA
CLASS VAR winclass
DATA maxPos
DATA nRange (WinAPI only)
DATA lNewBox
DATA nCount INIT 0
DATA nLimit
DATA nAnimation (WinAPI only)
DATA LabelBox (WinAPI only)
DATA nPercent INIT 0 (WinAPI only)
DATA lPercent INIT .F. (WinAPI only)
METHODS
New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, maxPos, nRange, bInit, bSize, bPaint, ctooltip, nAnimation, lVertical )
NewBox( cTitle, nLeft, nTop, nWidth, nHeight, maxPos, nRange, bExit, bInit, bSize, bPaint, ctooltip )
Init() (WinAPI only)
Activate()
Increment() INLINE hwg_Updateprogressbar( ::handle )
STEP()
RESET( cTitle ) (Parameter cTitle WinAPI only)
SET( cTitle, nPos )
SetLabel( cCaption ) (WinAPI only)
CLOSE()
End() INLINE hwg_Destroywindow( ::handle ) (WinAPI only)
Redefine( oWndParent, nId, maxPos, nRange, bInit, bSize, bPaint, ctooltip, nAnimation, lVertical ) (WinAPI only)
HToolBar
DATA
Name
id
nBitIp
bState
bStyle
tooltip
aMenu
hMenu
Title
bClick
oParent
METHODS
New( oParent, cName, nBitIp, nId, bState, bStyle, cText, bClick, ctip, aMenu )
Enable()
Disable()
Show()
Hide()
Enabled( lEnabled ) SETGET
Checked( lCheck ) SETGET
Pressed( lPressed ) SETGET
onClick()
Caption( cText ) SETGET
HTrackBar (Windows only)
DATA
CLASS VAR winclass (R)
bChange (RW)
bThumbDrag (RW)
nLow (RW)
nHigh (RW)
nValue (R)
hCursor
METHODS
New( oWndParent, nId, vari, nStyle, nLeft, nTop, nWidth, nHeight, bInit,
bSize, bPaint, cTooltip, bChange, bDrag, nLow, nHigh, lVertical,
TickStyle, TickMarks )
Value( nValue ) SETGET
GetNumTics()
Internal:
Activate()
onEvent( msg, wParam, lParam )
Init()
This is outdated control. HTrack is recommended to use instead it.
HAnimation
DATA
CLASS VAR winclass (R)
cFileName (RW)
xResID
METHODS
New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight,
cFilename, lAutoPlay, lCenter, lTransparent, xResID )
Open( cFileName )
Play( nFrom, nTo, nRep )
Seek( nFrame )
Stop()
Close()
Destroy()
Internal:
Activate()
Init()
HCEdit
DATA
CLASS VAR winclass (R)
nMaxLines (RW)
cp, cpSource (RW)
lUtf8 (RW)
nDocFormat (RW)
nDocOrient (RW)
aDocMargins (RW)
lShowNumbers (RW)
lReadOnly (RW)
lInsert (RW)
lNoPaste (RW)
nBoundL (RW)
nBoundR (RW)
nBoundT (RW)
nMarginL (RW)
nMarginR (RW)
nMarginT (RW)
nMarginB (RW)
n4Number (RW)
n4Separ (RW)
bColorCur (RW)
tcolorSel (RW)
bcolorSel (RW)
nClrDesk (RW)
nAlign (RW)
nIndent (RW)
bChangePos, bKeyDown (RW)
bClickDoub (RW)
bAfter (RW)
nTabLen (RW)
lStripSpaces (RW)
nMaxUndo (RW)
oHili (RW)
hEdit (R)
cFileName (R)
aText, nTextLen (R)
aWrap, nLinesAll (R)
nKoeffScr (R)
lUpdated (R)
nShiftL (R)
nDefFont (R)
nLineF (R)
nPosF (R)
aLines, nLines (R)
nLineC, nPosC (R)
nWCharF (R)
nWSublF (R)
aFonts (R)
aFontsPrn (R)
oPenNum (R)
nCaret (R)
lChgCaret (R)
lSetFocus (R)
lMDown (R)
aPointC (R)
aPointM1, aPointM2 (R)
lVScroll (R)
nClientWidth (R)
nDocWidth (R)
aUndo (R)
nLastKey (R)
// --- International Language Support for internal dialogs --
aLangTexts (RW) INIT {}
METHODS
New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, oFont,
bInit, bSize, bPaint, tcolor, bcolor, bGfocus, bLfocus, lNoVScroll, lNoBorder )
DefaultLang()
Open( cFileName, cPageIn, cPageOut )
SetHili( xGroup, oFont, tColor, bColor )
SetText( xText, cPageIn, cPageOut )
SAVE( cFileName )
AddFont( oFont, name, width, height , weight,
CharSet, Italic, Underline, StrikeOut )
SetFont( oFont )
SetCaretPos( nType, p1, p2 )
PutChar( nKeyCode )
LineDown()
LineUp()
PageDown()
PageUp()
Top()
Bottom()
GOTO( nLine )
PCopy( Psource, Pdest )
PCmp( P1, P2 )
GetText( P1, P2 )
InsText( aPoint, cText, lOver, lChgPos )
DelText( P1, P2, lChgPos )
AddLine( nLine )
DelLine( nLine )
Refresh()
SetWrap( lWrap, lInit )
SetPadding( nValue )
SetBorder( nThick, nColor )
Highlighter( oHili )
Internal:
Activate()
Init()
onEvent( msg, wParam, lParam )
Paint( lReal )
PaintLine( hDC, yPos, nLine, lUse_aWrap )
MarkLine( nLine, lReal, nSubLine )
End()
Convert( cPageIn, cPageOut )
onKeyDown( nKeyCode, lParam, nCtrl )
onVScroll( wParam )
Scan()
Undo( nLine1, nPos1, nLine2, nPos2, nOper, cText )
Print( nDocFormat, nDocOrient, nMarginL, nMarginR, nMarginT, nMarginB )
PrintLine( oPrinter, yPos, nL )
HBoard
This widget is mainly used to place DRAWN widgets on it. It can be used also to draw on it with HwGUI's drawing functions.
The corresponding command is @ <x>,<y> BOARD
DATA
winclass (R)
lMouseOver (R)
oInFocus (R)
aDrawn (R)
METHODS
New( oWndParent, nId, nLeft, nTop, nWidth, nHeight,
oFont, bInit, bSize, bPaint, cTooltip, tcolor, bColor )
Refresh( x1, y1, x2, y2 )
Internal:
Activate()
onEvent( msg, wParam, lParam )
Init()
Paint( hDC )
End()
HLenta
DATA
oDrawn (R)
METHODS
New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, oFont,
bSize, bPaint, bClick, color, bcolor, aItems, nItemSize, aItemStyle )
Move( x1, y1, width, height )
aItems ( arr ) SETGET
bClick ( b ) SETGET
Value ( xValue ) SETGET
HTrack
DATA
oDrawn (R)
METHODS
New( oWndParent, nId, nLeft, nTop, nWidth, nHeight,
bSize, bPaint, color, bcolor, nSize, oStyleBar, oStyleSlider, lAxis )
Set( nSize, oStyleBar, oStyleSlider, lAxis, bPaint )
Move( x1, y1, width, height )
bChange ( b ) SETGET
Value ( xValue ) SETGET
HGraph
DATA
aValues (RW) Data array
nType (RW) Signs arrays for X and Y axes
aSignX, aSignY (RW) Number of lines in a line chart
nGraphs (RW) Graph type: 1 - line chart, 2 - bar histogram
lGridX (RW) Should I draw grid lines for X axis
lGridY (RW) Should I draw grid lines for Y axis
lGridXMid (RW) Should I shift X axis grid line to a middle of a bar
lPositive (RW)
x1Def (RW) A left indent
x2Def (RW) A right indent
y1Def (RW) A top indent
y2Def (RW) A bottom indent
ymaxSet (RW)
colorCoor (RW) A color for signs
colorGrid (RW) A color for axes and grid lines
aColors (RW) Colors for each line
aPens (R)
scaleX, scaleY (R)
tbrush (R)
oPen, oPenGrid (R)
METHODS
New( oWndParent, nId, aValues, nLeft, nTop, nWidth, nHeight, oFont,
bSize, ctooltip, tcolor, bcolor )
Rebuild( aValues, nType )
Internal:
Activate()
Init()
CalcMinMax()
Paint()
HCEditBasic
DATA
oDrawn (R)
METHODS
New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, oFont,
bInit, bSize, bPaint, tcolor, bcolor, bGfocus, bLfocus, xInitVal, cPicture )
SetText( cText )
Value( xValue ) SETGET
HDateSelect
DATA
METHODS
New( oWndParent, nId, nLeft, nTop, nWidth, nHeight, color, bcolor, oFont,
dValue, bSize, bPaint, bChange )
bChange( b ) SETGET
Value( xValue ) SETGET
HColumn
DATA
block (RW)
heading (RW) Header text string
footing (RW) Footer text string
width (RW)
type (RW)
length (RW) column width in characters (or in pixels, if the value is negative)
dec (RW)
nJusHead (RW) Header text alignment (0-left, 1-center, 2-right)
nJusLin (RW) Cell text alignment (0-left, 1-center, 2-right)
tcolor, bcolor (RW)
lEditable (RW) Is the column editable
lResizable (RW) Is the column resizable
aList (RW) Array of possible values for a column -
combobox will be used while editing the cell
oStyleHead (RW) An HStyle object to draw the header
oStyleFoot (RW) An HStyle object to draw the footer
oStyleCell (RW) An HStyle object to draw the cell
aBitmaps (RW)
oPaintCB (RW) HPaintCB object
bValid,bWhen (RW)
bEdit (RW) Codeblock, which performs cell editing, if defined
Picture (RW)
cGrid (RW)
lSpandHead (RW)
lSpandFoot (RW)
bHeadClick (RW) Codeblock, which executes after a mouse click on a header
bColorBlock (RW) Codeblock, which must return an array containing, at least,
four colors values:
{ textColor, backColor, textColorRowSel, backColorRowSel
[, textColorColSel, backColorColSel ] }
brush
METHODS
New( cHeading, block, type, length, dec, lEditable, nJusHead, nJusLin,
cPict, bValid, bWhen, aItem, bColorBlock, bHeadClick )
HBrwCol
DATA
block (RW)
cHead, cFoot (RW)
nWidth (RW)
dec (RW)
nAlignHead, nAlignRow (RW)
tcolor, bcolor (RW)
oFont (RW)
lEditable (RW) Is the column editable
cPicture, bValid (RW)
aList (RW) Array of possible values for a column
nEditType (RW)
oPaintCB (RW) HPaintCB object
bHeadClick (RW)
METHODS
New( cHead, block, nWidth, nAlignRow, nAlignHead, lEditable )
HBrwData
DATA
nCurrent (R)
Internal:
lNeedBuf
lNeedRefresh
METHODS
Bof() VIRTUAL
Eof() VIRTUAL
Top() VIRTUAL
Bottom() VIRTUAL
Recno() VIRTUAL
RecnoLog() VIRTUAL
GoTo( n ) VIRTUAL
Count() VIRTUAL
Skip( nSkip ) VIRTUAL
Block( x ) VIRTUAL
HDataArray
DATA
aData (R)
METHODS
Bof()
Eof()
Top()
Bottom()
Recno()
RecnoLog()
GoTo( n )
Count()
Skip( nSkip )
Block( x )
HDataDbf
DATA
cAlias (R)
METHODS
Bof()
Eof()
Top()
Bottom()
Recno()
RecnoLog()
GoTo( n )
Count()
Skip( nSkip )
Block( x )
HRadioGroup
DATA
CLASS VAR oGroupCurrent
bSetGet (RW)
aButtons (R)
nValue (R)
oHGroup (R)
METHODS
New( vari,bSetGet )
NewRg( oWndParent, nId, nStyle, vari, bSetGet, nLeft, nTop, nWidth, nHeight,
cCaption, oFont, bInit, bSize, tcolor, bColor )
EndGroup( nSelected )
Value( nValue ) SETGET
Refresh()
HFont
DATA
CLASS VAR aFonts (R)
handle (R)
name, width (R)
height ,weight (R)
charset, italic (R)
Underline, StrikeOut (R)
nCounter
METHODS
Add( fontName, nWidth, nHeight ,fnWeight, fdwCharSet, fdwItalic,
fdwUnderline, fdwStrikeOut, nHandle )
Select( oFont )
Props2Arr()
PrintFont()
SetFontStyle( lBold, nCharSet, lItalic, lUnder, lStrike, nHeight )
Release()
HPen
DATA
CLASS VAR aPens (R)
handle (R)
style, width, color (R)
nCounter
METHODS
Add( style, width, color )
Get( nStyle,nWidth,nColor )
Release()
HBrush
DATA
CLASS VAR aBrushes (R)
handle (R)
color (R)
nHatch (R)
nCounter
METHODS
Add( color,nHatch )
Release()
HBitmap
DATA
CLASS VAR cPath SHARED (RW)
CLASS VAR lSelFile (RW)
CLASS VAR aBitmaps (R)
handle (R)
name (R)
nFlags (R)
nWidth, nHeight (R)
nCounter
METHODS
AddResource( name, nFlags, lOEM, nWidth, nHeight )
AddStandard( nId )
AddFile( name, hDC, lTransparent, nWidth, nHeight )
AddString( name, cVal )
AddWindow( oWnd, x1, y1, width, height ) - Creates a bitmap from a given window.
Draw( hDC, x1, y1, width, height )
Release()
OBMP2FILE( cfilename , name ) - Writes a bitmap object into file
HIcon
DATA
CLASS VAR cPath SHARED (RW)
CLASS VAR lSelFile (RW)
CLASS VAR aIcons (R)
handle (R)
name (R)
nWidth, nHeight (R)
nCounter
METHODS
AddResource( name, nWidth, nHeight, nFlags, lOEM )
AddFile( name, nWidth, nHeight )
AddString( name, cVal )
Draw( hDC, x, y )
Release()
Supported image formats:
Windows: ico
LINUX: bmp, jpg, png, ico
HPrinter
DATA
CLASS VAR aPaper (R)
hDCPrn (R)
hDC (R)
cPrinterName (R)
hPrinter (R)
lPreview (R)
cMetaName (R)
nWidth, nHeight (R)
nPWidth, nPHeight (R)
nHRes, nVRes (R)
nOrient (R)
lmm (R)
nPage (R)
lBuffPrn (R)
lUseMeta (R)
aPages, aJob (R)
aFonts (R)
aPens, aBitmaps (R)
oFont, oPen (R)
cScriptFile (R)
nCurrPage
oTrackV, oTrackH
nZoom, xOffset, yOffset
x1, y1, x2, y2
FormType (R)
BinNumber (R)
Copies (R)
PaperLength (R)
PaperWidth (R)
TopMargin (RW)
BottomMargin (RW)
LeftMargin (RW)
RightMargin (RW)
// --- International Language Support for internal dialogs --
aLangTexts (RW)
// Print Preview Dialog with sub dialog:
// The messages and control text's are delivered by other classes, calling
// the method Preview() in Parameter aTooltips as an array.
// After call of Init method, you can update the array with messages in your
// desired language.
// Sample: Preview( , , aTooltips, )
// Structure of array look at
// METHOD SetLanguage(apTooltips) CLASS HWinPrn
// in file hwinprn.prg.
// List of classes calling print preview
// HWINPRN, HRepTmpl , ...
// For more details see inline comments in sample program "Winprn.prg"
METHODS
New( cPrinter, lmm, nFormType, nBin, lLandScape, nCopies, lProprierties, hDCPrn ) - Windows
New( cPrinter, lmm, nFormType , cdp ) - GTK
FUNCTION hwg_HPrinter_LangArray_EN()
DefaultLang()
SetMode( nOrientation, nDuplex )
AddFont( fontName, nHeight ,lBold, lItalic, lUnderline, nCharset )
SetFont( oFont )
StartDoc( lPreview,cMetaName,lprbutton ) - Starts printing of a document.
EndDoc() - End of a document printing.
StartPage()
EndPage()
LoadScript( cScriptFile )
SaveScript( cScriptFile )
ReleaseMeta()
PaintDoc( oWnd )
PrintDoc( nPage )
PrintDlg(aTooltips)
PrintScript( hDC, nPage, x1, y1, x2, y2 )
Preview( cTitle, aBitmaps, aTooltips, aBootUser )
End() - Releasing the printer.
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 )
GetTextWidth( cString, oFont )
Additional instructions:
Some more instructions see class HWINPRN.
Set lPreview in method StartDoc() to .T. to show the print preview dialog. Default is .F.
Otherwise the printing process starts immediately.
Set lprbutton to .F., if preview dialog does not show the print button.
HTreeNode
DATA
CLASS VAR winclass (R)
aItems (R)
handle (R)
oTree, oParent (R)
bAction (RW)
METHODS
New( oTree, oParent, oPrev, oNext, cTitle, bAction,aImages )
AddNode( cTitle, oPrev, oNext, bAction, aImages )
Delete()
FindChild( handle )
GetText()
SetText(cText)
HTimer
DATA
CLASS VAR aTimers (R)
id (R)
value (R)
lOnce (R)
oParent (R)
bAction (RW)
METHODS
New( oParent, id, value, bAction, lOnce )
End()
HFreeImage
This class is similar to HBitmap, HIcon classes, it allows to load, save and draw an image in BMP, JPEG, PNG and some other formats. It uses FreeImage library (http://freeimage.sourceforge.net>) - so, if you include it in your application, you need to have FreeImage.dll.
DATA
CLASS VAR aImages (R)
handle (R)
hBitmap (R)
name (R)
nWidth, nHeight (R)
nCounter
METHODS
AddFile( name ) - Load the image from a file
AddFromVar( cImage,cType )
FromBitmap( oBitmap ) - Create an image from a bitmap
Draw( hDC, nLeft, nTop, nWidth, nHeight )
Release() - Unload the image
The example of using this class you may find in samples/viewer/viewer.prg.
HSplash
METHODS
Create( cFile,oTime,oResource )
HPrintDos
DATA
cCompr, cNormal, oText, cDouble, cBold, cUnBold
oPorta, oPicture
orow, oCol
cEject, nProw, nPcol, fText, gText
oTopMar
oLeftMar
oAns2Oem
LastError
oPrintStyle
colorPreview
nStartPage
nEndPage
nCopy
// --- International Language Support for internal dialogs --
aLangTexts INIT {}
METHODS
New( oPorta )
DefaultLang()
Say( oProw, oCol, oTexto, oPicture )
SetCols( nRow, nCol )
gWrite( oText )
NewLine()
Eject()
Compress()
Double()
DesCompress()
Bold()
UnBold()
Comando()
SetPrc( x, y )
PrinterFile( oFile )
TxttoGraphic( oFile, osize, oPreview )
Preview( fname, cTitle )
END()
HWinPrn
DATA
CLASS VAR nStdHeight SHARED (R)
CLASS VAR cPrinterName SHARED (R)
oPrinter (R)
nFormType (R)
oFont (R)
nLineHeight, nLined (R)
nCharW (R)
x, y (R)
old_y (R)
cPseudo (R)
lElite (R) INIT .F.
lCond (R) INIT .F.
nLineInch (R) INIT 6
lBold (R) INIT .F.
lItalic (R) INIT .F.
lUnder (R) INIT .F.
nLineMax (R) INIT 0
lChanged (R) INIT .F.
cpFrom (R) INIT "EN"
cpTo (R) INIT "EN"
nTop (R)
nBottom (R)
nLeft (R)
nRight (R)
nCharset (RW) Printer Character Set, default is 0 (ANSI) "INIT 0".
For allowed values see include file "prncharsets.ch".
// --- International Language Support for internal dialogs --
aTooltips (RW) INIT {} // Array with tooltips messages for print preview dialog
aBootUser (RW) INIT {} // Array with control messages for print preview dialog (optional usage)
METHODS
New( cPrinter, cpFrom, cpTo, nFormType )
SetLanguage(apTooltips, apBootUser)
InitValues( lElite, lCond, nLineInch, lBold, lItalic, lUnder, nLineMax )
SetMode( lElite, lCond, nLineInch, lBold, lItalic, lUnder, nLineMax )
SetDefaultMode() // Should act like a "printer reset".
SetCPTo(cpTo) - GTK only, on Windows ignored, see nPrCharset
SetCP(ccp) - GTK only
SetCDPin(ccp) - GTK only
StartDoc( lPreview,cMetaName,lprbutton )
NextPage()
NewLine()
PrintLine( cLine,lNewLine )
PrintLine2( cLine ) - GTK only, Special for German Umlaute and other characters
PrintBitmap( xBitmap, nAlign , cBitmapName )
PrintText( cText )
SetX( nYvalue )
SetY( nYvalue )
PutCode( cText )
EndDoc()
End()
Default fonts:
GTK: "monospace"
WinAPI: "Lucida Console"
Additional instructions:
Set lPreview in method StartDoc() to .T. to show the print preview dialog. Default is .F.
Otherwise the printing process starts immediately.
Set lprbutton to .F., if preview dialog does not show the print button.
HFormTmpl
DATA
CLASS VAR aForms (R)
CLASS VAR maxId (R)
CLASS VAR oActive (R)
cFormName (R)
oDlg (R)
aControls (R)
aProp (R)
aMethods (R)
aVars (R)
aNames (R)
pVars (R)
aFuncs (R)
id (R)
cId (R)
nContainer (R)
nCtrlId (R)
lDebug (R)
lNoModal (R)
bDlgExit, bFormExit (R)
cargo (RW)
// --- International Language Support for internal dialogs --
cTextCantOpenF (RW) INIT "Can't open"
cTextInvClMemb (RW) INIT "Invalid class member"
cTextFrmRepDescnotF (RW) INIT "Form description isn't found"
// cTextRepDescnotF (RW) INIT "Report description isn't found" ==> Class HRepTmpl
METHODS
DefaultLang()
Read( fname, cId )
Show( nMode, params )
ShowMain( params )
ShowModal( params )
Close()
F( id, n )
Find( cId )
HRepTmpl
DATA
CLASS VAR aReports (R)
CLASS VAR maxId (R)
CLASS VAR aFontTable (R)
cFormName (R)
aControls (R)
aProp (R)
aMethods (R)
aVars (R)
aFuncs (R)
lDebug (R)
id (R)
cId (R)
nKoefX, nKoefY, nKoefPix
nTOffset, nAOffSet, ny
lNextPage, lFinish
oPrinter
// --- International Language Support for internal dialogs --
cTextRepDescnotF (RW) INIT "Report description isn't found"
METHODS
READ( fname, cId )
PRINT( printer, lPreview, p1, p2, p3, p4, p5 )
PrintAsPage( printer, nPageType, lPreview, p1, p2, p3, p4, p5 )
PrintItem( oItem )
ReleaseObj( aControls )
Find( cId )
CLOSE()
HBinC
Этот класс реализует так называемый бинарный контейнер - хранилище для всяких файлов, которые требуются для вашей программы - картинок, например. Он позволяет избавиться от каталогов с иконками, картинками, с другими служебными файлами, которые должны идти в комплекте с приложением, заменяя их все одним файлом.
Бинарный контейнер может служить кросс-платформенной альтернативой файла ресурсов. GTK версия не поддерживает файлы ресурсов Windows (*.rc, *.res). Используя бинарный контейнер, мы можем писать код, работающий в обеих версиях, тем более, что в HwGUI предусмотрены средства для замены операций с ресурсами операциями с бинарным контейнером. Если вы вызываете функцию hwg_SetResContainer( cName ), то файлы будут извлекаться именно из этого контейнера:
hwg_SetResContainer( cPath + "myapp.bin" )
...
// The bitmap will retrieve from myapp.bin
oBitmap := HBitmap():AddResource( "open" )
...
// and here, too!
@ x, y OWNERBUTTON OF oToolBar ON CLICK {||Test()} ;
SIZE 32, 32 BITMAP "TEST" FROM RESOURCE
Для создания бинарного контейнера, заполнения его файлами служит утилита HwGUI, расположенная в
hwgui/utils/bincnt - Менеджер бинарного контейнера.
DATA
cName (RW) имя файла бинарного контейнера;
lWriteAble (RW) режим открытия (.T. - запись разрешена);
handle (R) дескриптор файла бинарного контейнера;
nVerHigh, nVerLow (R) версия бинарного контейнера;
nItems (R) количество элементов в контейнере;
nCntLen (R) длина оглавления файла в байтах:
nCntBlocks (R) количество блоков оглавления;
nPassLen (R) длина пароля;
nFileLen (R) размер файла;
aObjects (R) массив элементов.
METHODS
Create( cName, n ) - создает файл бинарного контейнера;
Open( cName, lWr ) - открывает существующий файл бинарного контейнера;
Close() - закрывает файл бинарного контейнера;
Add( cObjName, cType, cVal )- добавляет элемент в контейнер;
Del( cObjName, cType ) - удаляет элемент из контейнера;
Pack() - упаковывает контейнер;
Exist( cObjName ) - проверяет существует ли элемент в контейнере;
Get( cObjName ) - извлекает элемент из контейнера.
GetPos( cObjName ) - retrieves the position of an item in the container (numeric)
GetType( cObjName ) - retrieves the type of an item in the container (string)
HStyle
Этот класс задает стиль, параметры отрисовывания прямоугольной области - в частности, какого-либо виджета. Можно задать фоновый цвет, можно - массив цветов, в этом случае будет градиентный фон. Задается тип градиента (его направление), толщина и цвет бордюра (если нужен). Вместо фоновых цветов можно установить картинку - она заполнит фон (см. функцию hwg_SpreadBitmap()). Края можно сделать закругленными, причем каждый - со своим радиусом закругления.
Так же, как, например, шрифт, вы можете сначала создать объект HStyle с помощью HStyle():New(),
а затем использовать его для разных виджетов. Смотрите примеры использования HStyle
в Tutorial, раздел "Advanced using of controls".
DATA
CLASS VAR aStyles (R) массив со всеми созданными стилями, заполняется
автоматически:
id (R) идентификатор стиля, создается автоматически:
nOrient (R) тип градиента, его направление (см. hwg_DrawGradient());
aColors (R) массив цветов, используется для заполнения фона. Если
задано несколько цветов, рисуется градиент;
oBitmap (R) объект класса HBitmap - картинка для заполнения фона;
nBmpStyle (RW) BMP_DRAW_SPREAD, BMP_DRAW_CENTER, BMP_DRAW_FULL
nBorder (R) толщина бордюра в пикселях, если не задана - бордюр
рисоваться не будет;
tColor (R) цвет бордюра;
oPen (R) объект класса HPen, создается автоматически.
aCorners (R) массив с радиусами закругления углов
(см. hwg_DrawGradient());
METHODS
New( aColors, nOrient, aCorners, nBorder, tColor, oBitmap, nBmpStyle )
Draw( hDC, nTop, nLeft, nWidth, nHeight ) - отрисовывает область с заданными
hDC и координатами, используя параметры стиля.
HilightBase
Это базовый класс для классов подсветки синтаксиса, его нельзя использовать непосредственно в программе.
DATA
oEdit (R)
lCase (R)
aLineStru, nItems, nLine (R)
METHODS
New()
End()
Do()
Hilight
Класс подсветки синтаксиса, предназначен для совместной работы с классом редактора HCEdit.
DATA
cCommands (RW) A list of keywords (commands), divided by space
cFuncs (RW) A list of keywords (functions), divided by space
cScomm (RW) A string, which starts single line comments
cMcomm1, cMcomm2 (RW) Start and end strings for multiline comments
lMultiComm (RW)
aDop, nDopChecked (R)
METHODS
New( cFile, cSection )
Set( oEdit )
Do( nLine, lCheck )
UpdSource( nLine )
AddItem( nPos1, nPos2, nType )
HXMLNode
DATA
CLASS VAR nLastErr SHARED (R)
title (R)
type (R)
aItems (R)
aAttr (R)
cargo (RW)
aItems (RW) INIT {}
METHODS
New( cTitle, type, aAttr )
Add( xItem )
GetAttribute( cName, cType, xDefault )
SetAttribute( cName,cValue )
DelAttribute( cName )
Save( handle,level )
Find( cTitle,nStart )
HXMLDoc
DATA
METHODS
New( encoding )
Read( fname )
ReadString( buffer )
Save( fname,lNoHeader )
Save2String()
HPaintCB
DATA
aCB (R)
METHODS
New() INLINE Self
Set( nId, block, cId )
Get( nId )
HPicture
DATA
cPicFunc (R)
cPicMask (R)
lPicComplex (R)
cType (R)
nMaxLength (R)
METHODS
New( cPicture, vari, nMaxLength )
IsEditable( nPos )
FirstEditable()
LastEditable()
KeyRight( nPos )
KeyLeft( nPos )
Delete( cText, nPos )
Input( cChar, nPos )
GetApplyKey( cText, nPos, cKey, lFirst, lIns )
Transform( vari )
UnTransform( cBuffer )
HDrawn
DATA
CLASS VAR oDefParent (R)
oParent (RW) Parent object
title (RW) A text - title, caption of this widget
nTop, nLeft (RW) Coordinates of this widget relatively to parent HBoard widget
nWidth, nHeight (RW) Width, height of this object
aMargin (RW) Margins for a text inside
nTextStyle (RW) DT_LEFT, DT_CENTER (default), DT_RIGHT
tcolor, bcolor (RW) Text and background colors
tBorderColor (RW) Border color
nCorner (RW) The radius of a corner, if rounded
oBrush (R) A Brush object to fill background
oPen (R) A Pen object to draw border
lHide (RW) Flag of a "Hide" state
lDisable (RW) Flag of a "Disable" state
nState (R) STATE_NORMAL, STATE_PRESSED, STATE_MOVER
oFont (RW) Font object
aStyles (RW) Array of HSTYLE objects for 3 possible states
aDrawn (R) Array of child drawn widgets
cTooltip (RW) The text of a tooltip
bPaint (RW) Paint codeblock {|oDrawn,hDC| ... }
bClick (RW) On click codeblock {|oDrawn,nPosX,nPosY| ... }
bChgState (RW) On change state codeblock {|oDrawn,nState| ... }
bSize (RW) On size codeblock {|oDrawn,nWidth,nHeight| ... }
Internal:
lStatePaint
oTooltip HDrawnTT object
nMouseOn
xValue The value, related to this widget
METHODS
New( oWndParent, nLeft, nTop, nWidth, nHeight, tcolor, bColor, aStyles,
title, oFont, bPaint, bClick, bChgState )
Delete() Delete object from a parent's :aDrawn array
GetParentBoard() Returns a parent HBoard widget
GetByPos( xPos, yPos [, oBoard] ) Returns a child drawn widget by position
GetByState( nState, aDrawn, block, lAll ) Returns one or all child drawn widgets with nState
Move( x1, y1, width, height, lRefresh ) Move/resize the widget
SetState( nState, nPosX, nPosY ) Set widget state
SetText( cText ) Change the title and refresh
Value( xValue ) SETGET Set/get a value, related to widget
Refresh( [x1, y1, x2, y2] ) Repaint widget or a part of it on the screen
Internal:
Paint( hDC )
onMouseMove( xPos, yPos )
onMouseLeave()
onButtonDown( msg, xPos, yPos )
onButtonUp( xPos, yPos ) VIRTUAL
onButtonDbl( xPos, yPos ) VIRTUAL
onKey( msg, wParam, lParam ) VIRTUAL
onKillFocus() VIRTUAL
End() VIRTUAL
HDrawnTT
DATA
CLASS VAR oFontDef (RW) A default font for all drawn tooltips
CLASS VAR tColorDef (RW) A default text color for all drawn tooltips
CLASS VAR bColorDef (RW) A default background color for all drawn tooltips
Internal:
hBitmapTmp
METHODS
New( oWndParent, title, tcolor, bColor, oFont )
Show( cText, xPos, yPos )
Hide()
Internal:
Paint( hDC )
onMouseLeave()
HDrawnCheck
DATA
cForTitle (RW) A char to be displayed as a check mark
METHODS
New( oWndParent, nLeft, nTop, nWidth, nHeight, tcolor, bColor, aStyles,
title, oFont, bPaint, bClick, bChgState )
SetState( nState, nPosX, nPosY )
HDrawnRadio
DATA
cForTitle (RW) A char to be displayed as a check mark
xGroup (RW) A group for this radio widget (any char or number)
METHODS
New( oWndParent, nLeft, nTop, nWidth, nHeight, tcolor, bColor, aStyles,
title, oFont, bPaint, bClick, bChgState, xGroup, lInitVal )
SetState( nState, nPosX, nPosY )
GetGroupValue() Get a value of appropriate group (number of selected radio widget)
SetGroupValue( nVal ) Set a value of appropriate group (number of selected radio widget)
HDrawnEdit
DATA
lUtf8 (RW) Flag - UTF8 codepage is used
lReadOnly (RW) Flag - readonly mode
lUpdated (R) Flag - was the text updated
lInsert (RW) Flag - insert or overwrite
lNoPaste (RW) Flag - paste is forbidden
nBoundL (RW) Left indent
nBoundR (RW) Right indent
nBoundT (RW) Top indent
oPenBorder (R) A Pen to draw border
nBorder (RW) Border thickness
nBorderColor (RW) Border color
tcolorSel (RW) text color of a selected fragment
bcolorSel (RW) background color of a selected fragment
cType (R) A type of an edited value (char, date, numeric)
oPicture (R) HPicture object
nAlign (RW)
bKeyDown, bRClick (RW)
bGetFocus, bLostFocus (RW)
Internal:
hEdit
nPosF
nPosC
nInit
METHODS
New( oWndParent, nLeft, nTop, nWidth, nHeight,
tcolor, bcolor, oFont, xInitVal, cPicture, bPaint, bChgState )
Value( xValue ) SETGET
DelText( nPos1, nPos2 )
InsText( nPosC, cText, lOver )
SetFocus()
Internal:
Paint( hDC )
SetCaretPos( nType, p1 )
PutChar( wParam )
onKey( msg, wParam, lParam )
onMouseMove( xPos, yPos )
onMouseLeave()
onButtonDown( msg, xPos, yPos )
onKillFocus()
Skip( n )
End()
HDrawnLenta
DATA
lVertical (R)
aItems (RW)
nItemSize (RW)
aItemStyle (RW)
oFont (RW)
oPen (R)
nFirst (RW)
nSelected (RW)
Internal:
lDrawNext
lPressed
lMoved
nOver
nShift
nDragKoef
xPos, yPos
bCli
METHODS
New( oWndParent, nLeft, nTop, nWidth, nHeight, oFont,
bPaint, bClick, color, bcolor, aItems, nItemSize, aItemStyle )
Value( nValue ) SETGET
Internal:
Paint( hDC )
Drag( xPos, yPos )
onMouseMove( xPos, yPos )
onMouseLeave()
onButtonDown( msg, xPos, yPos )
onButtonUp( xPos, yPos )
HDrawnTrack
DATA
lVertical (RW)
oStyleBar, oStyleSlider (RW)
lAxis (RW)
nFrom, nTo (RW)
nCurr, nSize (RW)
tColor2 (RW)
oPen1, oPen2 (R)
bChange (RW)
bEndDrag (RW)
Internal:
lCaptured
METHODS
New( oWndParent, nLeft, nTop, nWidth, nHeight,
bPaint, tcolor, bcolor, nSize, oStyleBar, oStyleSlider, lAxis )
Set( nSize, oStyleBar, oStyleSlider, lAxis, bPaint )
Value ( xValue ) SETGET
Move( x1, y1, width, height )
Internal:
Paint( hDC )
Drag( xPos, yPos )
onMouseMove( xPos, yPos )
onMouseLeave()
onButtonDown( msg, xPos, yPos )
onButtonUp( xPos, yPos )
HDrawnBrw
DATA
oData (RW)
aColumns (RW)
nHeightRow (RW)
nHeightHead (RW)
nHeightFoot (RW)
aRowPadding (RW)
aHeadPadding (RW)
aFootPadding (RW)
tColorSel, bColorSel (RW) Text and background colors of a selected row
httColor, htbColor (RW) Text and background colors of a selected cell
bCellBlock (RW) {|oBrw,nRow,nCol| Return { tColor, bColor, oFont } }
sepColor (RW) Separators color
oPenSep, oPenBorder (R)
nBorder (RW)
nBorderColor (RW)
oFontHead (RW)
oFontFoot (RW)
oStyleHead (RW) A HStyle object to draw the header
oStyleFoot (RW) A HStyle object to draw the footer
oStyleCell (RW) A HStyle object to draw the cell
nRowCount (R) Number of visible data rows
nRowCurr (R) Row currently selected
nColCount (R) Number of visible data columns
nColCurr (R) Column currently selected
nColFirst (R) The leftmost column on the screen
oTrackV, oTrackH (R)
nTrackWidth (RW)
oStyleBar, oStyleSlider (RW)
bEnter, bKeyDown (RW)
bLostFocus, bRClick (RW)
oEdit (R)
lSeleCell (RW)
Internal:
lCaptured
nColResize The column to be resized
aRows { { y1,y2 },... }
lRebuild
METHODS
New( oWndParent, nLeft, nTop, nWidth, nHeight, tcolor, bcolor, oFont
bPaint, bChgState, lVScroll, lHScroll )
Rebuild( hDC )
DoRebuild() INLINE (::lRebuild := .T., ::Refresh())
Cell( iCol )
Move( [x1, y1, width, height] )
Refresh( [x1, y1, x2, y2, lNeedRefresh] )
AddColumn( cHead, block, nWidth, nAlignRow, nAlignHead, lEditable )
Edit()
SetFocus()
Top()
Skip( n )
Selected( n )
ShowTrackV( lShow )
ShowTrackH( lShow )
Internal:
Paint( hDC )
RowOut( hDC, nRow, x1, y1, x2 )
HeaderOut( hDC, y1, y2, oStyle, aPadding, npAll, npBack, npItem )
onKey( msg, wParam, lParam )
onMouseMove( xPos, yPos )
onMouseLeave()
onButtonDown( msg, xPos, yPos )
onButtonUp( xPos, yPos )
onButtonDbl( xPos, yPos )
onKillFocus()
HDrawnCombo
DATA
aItems (RW)
lText (RW)
oText, oBtn, oList (R)
arrowColor (RW)
arrowPen (R)
nRowCount (RW)
bChange (RW)
lDlg (RW)
Internal:
hBitmapList
oDlg
METHODS
New( oWndParent, nLeft, nTop, nWidth, nHeight, tcolor, bcolor, aStyles,
oFont, aItems, xValue, lText, bPaint, bChange, bChgState, nRowCount )
Value( xValue ) SETGET
Internal:
Paint( hDC )
ListShow()
ListHide()
onButtonDown( msg, xPos, yPos )
onButtonUp( xPos, yPos )
HDrawnUpdown
DATA
nLower (RW)
nUpper (RW)
arr (RW)
oEdit, oBtnUp, oBtnDown (R)
nPeriod (RW)
arrowColor (RW)
arrowPen (R)
oTimer
METHODS
New( oWndParent, nLeft, nTop, nWidth, nHeight, tcolor, bcolor, aStyles,
oFont, xInit, nLower, nUpper, bPaint, bChgState, arr )
Value( xValue ) SETGET
Internal:
Paint( hDC )
onKey( msg, wParam, lParam )
onMouseMove( xPos, yPos )
onMouseLeave()
onButtonDown( msg, xPos, yPos )
onButtonUp( xPos, yPos )
HDrawnDate
DATA
oEdit, oBtn, oList
oFontCalen
arrowColor
arrowPen
bChange
METHODS
New( oWndParent, nLeft, nTop, nWidth, nHeight, tcolor, bcolor, aStyles,
oFont, dValue, bPaint, bChange, bChgState )
Value( xValue ) SETGET
Internal:
Paint( hDC )
ListShow()
ListHide()
onKey( msg, wParam, lParam )
onButtonDown( msg, xPos, yPos )
onButtonUp( xPos, yPos )
| назад | содержание | вперед |
| Функции | Утилиты |