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 imageThe 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 )
назад | содержание | вперед |
Функции | Утилиты |