This command creates the window - main, MDI or MDI CHILD. To force this window show up on the screen you need to activate it later. You can do this with ACTIVATE WINDOW command or with Activate() method of that window object.
INIT WINDOW <oWnd> [ MAIN ] [ MDI ] [ MDICHILD ] [ APPNAME <appname> ] [ TITLE <cTitle> ] [ AT <x>, <y> ] [ SIZE <width>, <height> ] [ ICON <ico> ] [ SYSCOLOR <sysclr> ] [ BACKCOLOR <clr> ] [ BACKGROUND BITMAP <oBmp>> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ MENUPOS <nPos> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bPaint> ] [ ON GETFOCUS <bGfocus> ] [ ON LOSTFOCUS <bLfocus> ] [ ON OTHER MESSAGES <bOther> ] [ ON EXIT <bExit>] [ HELP <cHelp> ] [ HELPID <nHelpId> ]
This command creates the dialog box. To force the dialog show up on the screen you need to activate it later. You can do this with ACTIVATE DIALOG command or with Activate() method of that window object.
INIT DIALOG <oWnd> [ TITLE <cTitle> ] [ AT <x>, <y> ] [ SIZE <width>, <height> ] [ ICON <ico> ] [ BACKGROUND BITMAP <oBmp> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ BACKCOLOR <clr> ] [ CLIPPER ] [ NOEXIT ] [ NOEXITESC ] [ NOCLOSABLE ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bPaint> ] [ ON GETFOCUS <bGfocus> ] [ ON LOSTFOCUS <bLfocus> ] [ ON OTHER MESSAGES <bOther> ] [ ON EXIT <bExit> ] [ HELPID <nHelpId>> ]
All clauses has the same meaning as in INIT WINDOW command,
there is only two specific clause:
CLIPPER - to force the Clipper like behavior - the Enter key is used for moving between GET's;
NOEXIT - the Enter key doesn't cause closing of a dialog box.
ACTIVATE WINDOW <oWnd> [ NOSHOW ] [ MAXIMIZED ] [ MINIMIZED ] [ CENTER ] [ ON ACTIVATE <bInit> ]
This command is equivalent to 'oWnd:Activate()' call. It shows the previously created window and starts messages processing for it.
ACTIVATE DIALOG <oDlg> [ NOMODAL ] [ MAXIMIZED ] [ MINIMIZED ] [ CENTER ] [ ON ACTIVATE <bInit> ]
This command is equivalent to 'oDlg:Activate()' call. It shows the previously defined dialog and starts messages processing for it. By default, it creates modal dialog. You can create modeless dialog, specifying NOMODAL clause in this command.
Additional instructions for menus:
Structure errors in menu command blocks are not recognized by the Harbour compiler.
At run time, in case of those error(s) the menu disappeared.
Check the structure manually.
LINUX/GTK: Submenus are mandatory.
If a main menu point is standalone, the action of this menu is not reachable.
You see only an empty sub menu "Aktivieren" (german, means "Activate"),
here the screenshot from Ubuntu LINUX:
Add a submenu point for multi platform programs, for example:
MENU OF oMainWindow
MENU TITLE "&Exit"
MENUITEM "&Quit" ACTION hwg_EndWindow()
ENDMENU
MENU TITLE "&Dialog"
...
MENU [ OF <oWnd> ] [ ID <nId> ] [ TITLE <cTitle> ]
Some hints to usage of hotkeys in menu's and submenu's
(Letter marked with "&" character in MENUITEM caption):
The behavior is a little different between WinAPI and GTK/LINUX:
LINUX:
Press the "Alt" key (not the "AltGr" key) and hold it while pressing the
letter for the submenu (==> the & mark).
The activated Alt mode is marked by an underline of the menu letter
(during Alt key is pressed).
After the submenu is opened, release the "Alt" key ann press the letter of the
desired submenu.
WinAPI:
On Windows, the Alt key can be pressed once before selecting
the menu or submenu with the hotkey.
ENDMENU
MENUITEM <item> [ ID <nId> ] ACTION <act> [ BITMAP <bmp> ] [ ACCELERATOR <flag>, <key> ] [ <lDisabled: DISABLED> ]
MENUITEMCHECK <item> [ ID <nId> ] ACTION <act> [ ACCELERATOR <flag>, <key> ] [ <lDisabled: DISABLED> ]
SEPARATOR
CONTEXT MENU <oMenu>
ACCELERATOR <flag>, <key> [ ID <nId> ] ACTION <act>
All the following commands creates the instances of classes, they are preprocessed into the New() method of appropriate class.
ADD STATUS [ TO <oWnd> ] [ ID <nId> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bDraw> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ PARTS <aparts,...> ]
@ <x>,<y> SAY [ <oSay> CAPTION ] <caption> [ OF <oWnd> ]; [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ TRANSPARENT ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bDraw> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ]
@ <x>,<y> EDITBOX [ <oEdit> CAPTION ] <caption> [ OF <oWnd> ]; [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON GETFOCUS <bGfocus> ] [ ON LOSTFOCUS <bLfocus> ] [ ON KEYDOWN <bKeyDown>] [ ON CHANGE <bChange> ] [ STYLE <nStyle> ] [ NOBORDER ] [ PASSWORD ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ]
@ <x>,<y> BUTTON [ <oButton> CAPTION ] <caption> [ OF <oWnd> ]; [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bDraw> ] [ ON CLICK <bClick> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ]
@ <x>,<y> CHECKBOX [ <oCheck> CAPTION ] <caption> [ OF <oWnd> ]; [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ TRANSPARENT ] [ INIT <lInit> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bDraw> ] [ ON CLICK <bClick> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ]
@ <x>,<y> COMBOBOX [ <oCombo> ITEMS ] <aItems> [ OF <oWnd> ]; [ ID <nId> ] [ SIZE <width>, <height> ] [ INIT <nInit> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bDraw> ] [ ON CHANGE <bChange> ] [ ON GETFOCUS <bWhen> ] [ ON LOSTFOCUS <bValid> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ] [ EDIT ] (Windows only) [ TEXT ] [ DISPLAYCOUNT ]
@ <x>,<y> RADIOBUTTON [ <oRadio> CAPTION ] <caption> [ OF <oWnd> ]; [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bDraw> ] [ ON CLICK <bClick> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ] [ TRANSPARENT ]
RADIOGROUP
END RADIOGROUP [ SELECTED <nSel> ]
@ <x>,<y> PANEL <oPanel> [ OF <oWnd> ]; [ ID <nId> ] [ SIZE <width>, <height> ] [ BACKCOLOR <bcolor> ] [ HSTYLE <oStyle> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bDraw> ] [ STYLE <nStyle> ]
ADD TOP PANEL [ <oPanel> ] TO <oWnd> [ ID <nId> ] HEIGHT <height> [ BACKCOLOR <bcolor> ] [ HSTYLE <oStyle> ] [ ON INIT <bInit> ] [ ON PAINT <bDraw> ] [ STYLE <nStyle> ]
ADD HEADER PANEL [ <oPanel> ] [TO <oWnd>] [ ID <nId> ] HEIGHT <height> [ TEXTCOLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ HSTYLE <oStyle> ] [ FONT <oFont> ] [ ON INIT <bInit> ] [ ON PAINT <bDraw> ] [ TEXT <cText> [COORS <xt>[,<yt>] ] ] [ <lBtnClose: BTN_CLOSE> ] [ <lBtnMax: BTN_MAXIMIZE> ] [ <lBtnMin: BTN_MINIMIZE> ]
ADD STATUS PANEL [ <oPanel> ] TO <oWnd> [ ID <nId> ] HEIGHT <height> [ BACKCOLOR <bcolor> ] [ ON INIT <bInit> ] [ ON PAINT <bDraw> ] [ FONT <oFont> ] [ HSTYLE <oStyle> ] [ PARTS <aparts,...> ]
@ <x>,<y> BROWSE <oBrowse> [ ARRAY ] [ DATABASE ] && Default [ OF <oWnd> ]; [ ID <nId> ] [ SIZE <width>, <height> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bDraw> ] [ ON CLICK <bClick> ] [ ON RIGHTCLICK <bRClick> ] [ ON GETFOCUS <bGetFocus> ] [ ON LOSTFOCUS <bLostFocus> ] [ STYLE <nStyle> ] [ <lNoVScr: NO VSCROLL> ] [ <lNoBord: NO BORDER> ] [ FONT <oFont> ] [ APPEND ] [ AUTOEDIT ] [ ON UPDATE <bUpdate> ] [ ON KEYDOWN <bKeyDown> ] [ ON POSCHANGE <bPosChg> ] [ MULTISELECT ]
@ <x>,<y> BROWSE <oBrowse> FILTER [ OF <oWnd> ]; [ ID <nId> ] [ SIZE <width>, <height> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bDraw> ] [ ON CLICK <bClick> ] [ ON RIGHTCLICK <bRClick> ] [ ON GETFOCUS <bGetFocus> ] [ ON LOSTFOCUS <bLostFocus> ] [ STYLE <nStyle> ] [ <lNoVScr: NO VSCROLL> ] [ <lNoBord: NO BORDER> ] [ FONT <oFont> ] [ APPEND ] [ AUTOEDIT ] [ ON UPDATE <bUpdate> ] [ ON KEYDOWN <bKeyDown> ] [ ON POSCHANGE <bPosChg> ] [ MULTISELECT ] [ DESCEND> ] [ WHILE <bWhile> ] [ FIRST <bFirst> ] [ LAST <bLast> ] [ FOR <bFor> ]
Additional instructions for filter usage:
The Harbour filter command "SET FILTER TO ..." can be normally used with the common
BROWSE command for databases. Use it with no trouble inside an active browse window.
After modifiying or deleting a filter setting, refresh the browse list with oBrw:Refresh() and
you see the browse list with the new filter setting.
Need more examples ?
Look at project "CLLOG" on Sourceforge (with search project function).
There you find many settings for "SET FILTER TO ..." and an editor for filter files as
a Harbour console or terminal application.
ADD COLUMN <block> < TO <oBrowse> [ HEADER <cTitle> ] [ TYPE <type> ] [ LENGTH <length> ] [ DEC <dec> ] [ <lEdit: EDITABLE> ] [ JUSTIFY HEAD <nJusHead> ] [ JUSTIFY LINE <nJusLine> ] [ PICTURE <cPict> ] [ VALID <bValid> ] [ WHEN <bWhen> ] [ ITEMS <aItem> ] [ COLORBLOCK <bClrBlck> ] [ BHEADCLICK <bHeadClick> ]
INSERT COLUMN <block> < TO <oBrowse> [ HEADER <cTitle> ] [ TYPE <type> ] [ LENGTH <length> ] [ DEC <dec> ] [ <lEdit: EDITABLE> ] [ JUSTIFY HEAD <nJusHead> ] [ JUSTIFY LINE <nJusLine> ] [ PICTURE <cPict> ] [ VALID <bValid> ] [ WHEN <bWhen> ] [ ITEMS <aItem> ] [ COLORBLOCK <bClrBlck> ] INTO <nPos>
@ <x>,<y> OWNERBUTTON <oOwnBtn> [ OF <oWnd> ]; [ ID <nId> ] [ SIZE <width>, <height> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bPaint> ] [ ON CLICK <bClick> ] [ HSTYLES <aStyles,...> ] [ FLAT ] [ DISABLED ] [ BACKCOLOR <bcolor> ] [ TEXT <cText> [ COLOR <color> ] [ FONT <font> ] [ COORDINATES <xt>, <yt>, <widthtt>, <heightt> ] ] [ BITMAP <bmp> [ FROM RESOURCE ] [ TRANSPARENT [COLOR <trcolor> ] ] [ COORDINATES <xb>, <yb>, <widthtb>, <heightb> ] ] [ TOOLTIP <ctoolt> ] [ CHECK ]
@ <x>,<y> SHADEBUTTON <oOwnBtn> [ OF <oWnd> ]; [ ID <nId> ] [ SIZE <width>, <height> ] [ EFFECT <shadeID> [ PALETTE <palet> ] [ GRANULARITY <granul> ] [ HIGHLIGHT <highl> ] [ COLORING <coloring> ] [ SHCOLOR <shcolor> ] ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bPaint> ] [ ON CLICK <bClick> ] [ STYLE <nStyle> ] [ FLAT ] [ DISABLED ] [ TEXT <cText> [ COLOR <color> ] [ FONT <font> ] [ COORDINATES <xt>, <yt>, <widthtt>, <heightt> ] ] [ BITMAP <bmp> [ FROM RESOURCE ] [ TRANSPARENT [COLOR <trcolor> ] ] [ COORDINATES <xb>, <yb>, <widthtb>, <heightb> ] ] [ TOOLTIP <ctoolt> ] [ CHECK ]
@ <x>,<y> NICEBUTTON [ <oBut> CAPTION ] <caption> [ OF <oWnd> ]; [ ID <nId> ] [ SIZE <width>, <height> ] [ ON INIT <bInit> ] [ ON CLICK <bClick> ] [ STYLE <nStyle> ] [ EXSTYLE <nStyleEx> ] [ TOOLTIP <ctoolt> ] [ RED <r> ] [ GREEN <g> ] [ BLUE <b> ]
@ <x>,<y> GROUPBOX [ <oGroup> CAPTION ] <caption> [ OF <oWnd> ]; [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bDraw> ] [ STYLE <nStyle> ] [ FONT <oFont> ]
@ <x>,<y> DATEPICKER [ <oPicker> ] [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ INIT <value> ] [ ON INIT <bInit> ] [ ON GETFOCUS <bGetFocus> ] [ ON LOSTFOCUS <bLostFocus> ] [ ON CHANGE <bChange> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ]
@ <x>,<y> UPDOWN [ <oUpDown> INIT ] <nInit> RANGE <nLower>, <nUpper> [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ WIDTH <nUpdWidth> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bDraw> ] [ ON GETFOCUS <bGfocus> ] [ ON LOSTFOCUS <bLfocus> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ]
The setting of colors not yet available (see REDEFINE TAB)
The background color of a tab is forever white.
@ <x>,<y> TAB [ <oTab> ITEMS ] <aTabs> [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bDraw> ] [ ON CHANGE <bChange> ] [ ON CLICK <bClick> ] [ ON GETFOCUS <bGfocus> ] [ ON LOSTFOCUS <bLfocus> ] [ BITMAP <aBmp> [ FROM RESOURCE] [ BITCOUNT <nBC> ] ]
<under construction>
This command has bugs and may not be used !
REDEFINE TAB <oTab> ; [ OF <oWnd> ] ; ID <nId> ; [ ON INIT <bInit> ] ; [ ON SIZE <bSize> ] ; [ ON PAINT <bDraw> ] ; [ ON CHANGE <bChange> ] ; [ COLOR <color> ] ; [ BACKCOLOR <bcolor> ] ;
BEGIN PAGE <cname> OF <oTab>
Two variants of the same command. End of a TAB page:
END PAGE OF <oTab> èëè ENDPAGE OF <oTab>
@ <x>,<y> TREE [ <oTree> ] [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ FONT <oFont> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON CLICK <bClick> ] [ STYLE <nStyle> ] [ EDITABLE ] [ BITMAP <aBmp> [ FROM RESOURCE ] [ BITCOUNT <nBC> ] ]
INSERT NODE [ <oNode> TITLE ] <cTitle> TO <oTree> [ AFTER <oPrev> ] [ BEFORE <oNext> ] [ BITMAP <aBmp> ] [ ON CLICK <bClick> ]
@ <x>,<y> BITMAP [ <oBmp> SHOW ] <bitmap> [<res: FROM RESOURCE> ] [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ STRETCH <nStretch>] [ TRANSPARENT> [COLOR <trcolor> ]] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON CLICK <bClick> ] [ ON DBLCLICK <bDblClick> ] [ TOOLTIP <ctoolt> ]
Supported image formats see documentation for CLASS HBITMAP.
@ <x>,<y> ICON [ <oBmp> SHOW ] <icon> [<res: FROM RESOURCE> ] [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON CLICK <bClick> ] [ ON DBLCLICK <bDblClick> ] [ TOOLTIP <ctoolt> ]
Supported image formats see documentation for CLASS HICON.
Because of bugs in recent version:
GTK:
At this time, the resizing of icons does not work.
The icon is displayed forever in original size.
Will be fixed as soon als possible.
WinAPI:
The SIZE parameter has no effect. Do not use it.
Size parameters must be set at creating HICON object (example calls):
oIcon := HIcon():AddFile(cImgok,75,75)
oIcon := HIcon():AddResource("ICON_1",75,75)
oIcon := HIcon():AddString("ok",cValok,75,75 )
Hint:
Because icons are used normally for display in link on the desktop,
Windows task bar or head bar of a main window or dialog window,
it is recommended not to display an icon in a window.
Please convert the *.ico to *.bmp and use the @ x,y BITMAP command instead.
Background:
The background of an icon is forever transparent. But the
background is forever displayed in white color.
@ <x>,<y> IMAGE [ <oBmp> SHOW ] <image> [ OF <oWnd> ] [ ID <nId> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ TOOLTIP <ctoolt> ]
The usage of this command requires the FreeImage library
(as static lib linked in your application or
as shared library like Windows DLL or *.so on LINUX).
If you only need *.bmp or *.jpg, you can use the command
@ <x>,<y> BITMAP without usage of FreeImage.
@ <x>,<y> LINE [ <oLine> ] [ LENGTH <length> ] [ OF <oWnd> ] [ ID <nId> ] [ VERTICAL] [ ON SIZE <bSize> ]
@ <x>,<y> RICHEDIT [ <oEdit> TEXT ] <vari> [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON GETFOCUS <bGfocus> ] [ ON LOSTFOCUS <bLfocus> ] [ ON CHANGE <bChange>] [[ON OTHER MESSAGES <bOther>] [ STYLE <nStyle> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ]
@ <x>,<y> SPLITTER [ <oSplit> ] [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ HSTYLE <oStyle> ] [ ON SIZE <bSize> ] [ ON PAINT <bPaint> ] [ DIVIDE <aLeft> FROM <aRight> ] [ LIMITS [<nFrom>][,<nTo>] ]
@ <x>,<y> GRAPH [ <oGraph> DATA ] <aData> [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ ON SIZE <bSize> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ]
@ <x>,<y> PROGRESSBAR <oPBar> [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ BARWIDTH <maxpos> ] [ QUANTITY <nRange> ]
@ <x>,<y> MONTHCALENDAR [ <oCalendar> ] [ OF <oWnd> ] [ ID <nId> ] [ INIT <dInit> ] [ SIZE <width>, <height> ] [ ON INIT <bInit> ] [ ON CHANGE <bChange> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ] [ NOTODAY ] [ NOTODAYCIRCLE ] [ WEEKNUMBERS ]
Year range:
- The initial value for MONTHCALENDAR must be delivered of type D.
So the range from 0 ... 99 was modified to the setting of "SET CENTURY TO ...".
- WinAPI: 1601 ... 9999
- LINUX/GTK: If the month calender is displayed, you can scroll to years out of some limits.
Values greater than 9999 or negative year values are accepted.
The leap year rules are processed concerning the rules of the Gregorian calendar,
but for all years.
So it make sense, to check the range from 1582 ... 9999 by
range check for entry fields (for example for VALID functions in GET or simular commands).
For details about the leap year rules see description of function hwg_IsLeapYear().
@ <x>,<y> LISTBOX [ <oList> ITEMS ] <aItems> [ OF <oWnd> ] [ ID <nId> ] [ INIT <dInit> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bPaint> ] [ ON CHANGE <bChange> ] [ ON GETFOCUS <bGfocus> ] [ ON LOSTFOCUS <bLfocus> ] [ ON KEYDOWN <bKeyDown> ] [ ON DBLCLICK <bDblClick> ] [[ON OTHER MESSAGES <bOther>] [ STYLE <nStyle> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ]
SPLASH [ <oPBar> TO ] <oBitmap> [ FROM RESOURCE ] [ TIME <otime> ] [WIDTH <w> ] [HEIGHT <h> ]
@ <x>,<y> TRACKBAR [ <oTrack> ] [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ RANGE <nLow>, <nHigh> ] [ INIT <dInit> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bPaint> ] [ ON CHANGE <bChange> ] [ ON DRAG <bDrag> ] [ STYLE <nStyle> ] [ TOOLTIP <ctoolt> ] [ VERTICAL ] [ AUTOTICKS ] [ NOTICKS ] [ BOTH ] [ TOP ] [ LEFT ]
@ <x>,<y> ANIMATION [ <oAnimation> ] [ OF <oWnd> ] [ ID <nId> ] [ STYLE <nStyle> ] [ SIZE <width>, <height> ] [ FILE <cFile> ] [ AUTOPLAY ] [ CENTER ] [ TRANSPARENT ]
(Windows only)
@ <x>,<y> GRID [ <oGrid> ] [ OF <oWnd> ] [ ID <nId> ] [ STYLE <nStyle> ] [ SIZE <width>, <height> ] [ FONT <oFont> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bPaint> ] [ ON CLICK <bClick> ] [ ON GETFOCUS <bGfocus> ] [ ON LOSTFOCUS <bLfocus> ] [ ON KEYDOWN <bKeyDown> ] [ ON POSCHANGE <bPosChg> ] [ ON DISPINFO <bdisp> ] [ ITEMCOUNT <nItemCount> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ NOSCROLL> ] [ NOBORDER> ] [ NOGRIDLINES> ] [ NO HEADER> ] [BITMAP <aBit>]
(Windows only)
ADD COLUMN TO GRID <oGrid> [ HEADER <cHeader> ] [ WIDTH <nWidth> ] [ JUSTIFY HEAD <nJusHead> ] [ BITMAP <n> ]
(Windows only)
ADD ROW TO GRID <oGrid> [ HEADER <cHeader> ] [ JUSTIFY HEAD <nJusHead> ] [ BITMAP <n> ] [ HEADER <cHeadern> ] [ JUSTIFY HEAD <nJusHeadn> ] [ BITMAP <nn> ]
@ <X>, <Y>, <X2>, <Y2> RECT[ PRESS ] [OF <oWnd>] [RECT_STYLE <nST>]
@ <x>,<y> SAY [ <oSay> CAPTION ] <caption> [ OF <oWnd> ]; LINK <cLink> [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ TRANSPARENT ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bDraw> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ] [ VISITCOLOR <vcolor> ] [ LINKCOLOR <lcolor> ] [ HOVERCOLOR <hcolor> ]
@ <x>,<y> TOOLBAR [ <oTool> ] [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ STYLE <nStyle> ] [ ITEMS <aItems> ]
TOOLBUTTON <oTool> ; ID <nId> ; [ BITMAP <nBitIp> ]; [ STYLE <nStyle> ] [ STATE <bstate>] [ TEXT <ctext> ] [ TOOLTIP <c> ] [ MENU <d>] ON CLICK <bclick>
@ <x>,<y> PAGER [ <oPager> ] [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ STYLE <nStyle> ] [ VERTICAL ]
@ <x>,<y> REBAR [ <oRebar> ] [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ STYLE <nStyle> ]
ADDBAND <hWnd> TO <opage> [BACKCOLOR <b> ] [FORECOLOR <f>] [STYLE <nstyle>] [TEXT <t>]
@ <x>,<y> SHAPE [ <oShape> ] [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ BORDERWIDTH <nBorder> ] [ CURVATURE <nCurvature>] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ BORDERSTYLE <nbStyle>] [ FILLSTYLE <nfStyle>] [ BACKSTYLE <nbackStyle>] [ ON INIT <bInit> ] [ ON SIZE <bSize> ]
@ <x>,<y> HCEDIT [ <oEdit> ] [ OF <oWnd> ]; [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bPaint> ] [ ON GETFOCUS <bGfocus> ] [ ON LOSTFOCUS <bLfocus> ] [ STYLE <nStyle> ] [ NOBORDER ] [ NO VSCROLL ] [ FONT <oFont> ]4.4. Get system commands
Get system doesn't use a special class, something like HGet. It uses the same control classes ( HEdit, HCheckButton, etc. ), as usual control creating commands, only add there some new behavour.
@ <x>,<y> GET [ <oEdit> VAR ] <vari> [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ PICTURE <cPicture> ] [ WHEN <bWhen> ] [ VALID <bValid> ] [ NOBORDER ] [ PASSWORD ] [ MAXLENGTH <lMaxLength> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ]
Additional instructions for GET:
VALID: use always a block term, otherwise the GET command crashes with EVAL error,
for example:
11,22 GET cVar VALID { | | valid_func(cVar) }
For fixing a special GET problem on GTK look for function hwg_GET_Helper() in the
function documentation.
There you find the description of the symptom and the instructions for fix.
Another special problem:
If your dialog uses in the last GET command a PICTURE clause,
the dialog is closed immediately, if the end of field is filled and reached.
To avoid this, use the NOEXIT clause in INIT DIALOG command.
Important:
To avoid side effects while entering characters only reachable by "AltGr" key
( for example on german keyboard layout: ~µ@{[]}\€ ),
be shure that the size of the GET control field (X value of SIZE parameter)
is big enough to display all characters of edit field.
The symptom is, that the character is ignored and on Windows
a ding sound appears.
Scrolling feature with PICTURE "@Snn" is not supported.
On GTK, it is possible, that the complete modified value
is not stored in the variable.
For test of display length, enter a number string like
"12345678901234567890 ...." with the desired length in C type fields.
Add a security reserve of 5 ... 10%.
For empty fields initialize the variables with empty values
like these examples before use of the GET command:
cField := SPACE(30)
dField := CTOD("") or better with todays date : dField := DATE()
nField := 0
lField := .F.
For editing MEMO type fields use the HCEDIT class.
Parameters COLOR and BACKCOLOR for GTK,
(Color setting for foreground (text color) and background):
In GET entry fields the colors can not be modified.
See GTK 2 reference for gtk_entry_* class.
There are no parameters "color" explained.
Sorry, we must wait, if this feature is realized in future versions of GTK.
Here screenshots for sample command
"@ x, y GET oGet VAR cGet COLOR hwg_ColorC2N("FF0000") SIZE xx,yy":
WinAPI:
Windows GTK cross development environment:
LINUX:
@ <x>,<y> GET CHECKBOX [ <oEdit> VAR ] <vari> CAPTION <caption> [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ TRANSPARENT ] [ VALID,ON CLICK <bValid> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ] [ WHEN <bWhen> ]
@ <x>,<y> GET COMBOBOX [ <oCombo> VAR ] <vari> ITEMS ] <aItems> [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ ON CHANGE <bChange> ] [ WHEN <bWhen> ] [ VALID <bValid> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ EDIT ] (Windows only) [ TEXT ] [ TOOLTIP <ctoolt> ] [ DISPLAYCOUNT <nDisplay>]
GET RADIOGROUP [ <ogr> VAR ] <vari>
@ <x>,<y> GET RADIOGROUP [ <ogr> VAR ] <vari> [ CAPTION <caption> ] [ OF <oWnd>] [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ FONT <oFont> ] [ STYLE <nStyle> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ]
@ <x>,<y> GET DATEPICKER [ <oPick> VAR ] <vari> [ OF <oWnd>] [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ WHEN <bWhen> ] [ VALID <bValid> ] [ ON CHANGE <bChange> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ]
@ <x>,<y> GET UPDOWN[ <oUpDown> VAR ] <vari> RANGE <nLower>, <nUpper> [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ WIDTH <nUpdWidth> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ PICTURE <cPicture> ] [ WHEN <bWhen> ] [ VALID <bValid> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ]
@ <x>,<y> GET IPADDRESS [ <oIp> VAR ] <vari> [ OF <oWnd>] [ ID <nId> ] [ SIZE <width>, <height> ] [ BACKCOLOR <bcolor> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ ON GETFOCUS <bGfocus> ] [ ON LOSTFOCUS <bLfocus> ]
@ <x>,<y> GET LISTBOX[ <oList> VAR ] <vari> ITEMS <aItems> [ OF <oWnd> ] [ ID <nId> ] [ SIZE <width>, <height> ] [ COLOR <tcolor> ] [ BACKCOLOR <bcolor> ] [ ON INIT <bInit> ] [ ON SIZE <bSize> ] [ ON PAINT <bPaint> ] [ ON CHANGE <bChg> ] [ WHEN <bWhen> ] [ VALID <bValid> ] [ STYLE <nStyle> ] [ FONT <oFont> ] [ TOOLTIP <ctoolt> ] [ ON KEYDOWN <bKeyDown> ] [ ON DBLCLICK <bDblClick> ] [[ON OTHER MESSAGES <bOther>]
SET KEY <nctrl>, <nkey> [ OF <oDlg> ] [ TO <func> ]
Attention !
Some trouble with printing of bitmaps, for details see class documentation of
CLASS HWINPRN !
INIT PRINTER <oPrinter> [ NAME <cPrinter> ] [ PIXEL ]
INIT DEFAULT PRINTER <oPrinter> [ PIXEL ]
SET TIMER [ <oTimer> ] [ OF <oWnd> ] [ ID <id> ] VALUE <value> ACTION <bAction>
SET RESOURCES TO [<cName>]
Opens a file cName of a binary container and sets is as a current fot resources retrieving. Appropriate function: hwg_SetResContainer( cName )
SET RESOURCES CONTAINER TO [<cName>]
PREPARE FONT <oFont> NAME <cName> [ WIDTH <nWidth> ] [ HEIGHT <nHeight> ] [ WEIGHT <nWeight> ] [ CHARSET <charset> ] [ ITALIC ] [ UNDERLINE ] [ STRIKEOUT ]
prev | table of contents | next |
introduction | functions |