FWH Commands Reference

FiveWin extends the Harbour/xBase command language with a rich set of preprocessor commands defined in FiveWin.ch. These commands translate to class method calls at compile time, providing a familiar xBase-style syntax for creating Windows GUI applications.

Window Commands

DEFINE WINDOW

DEFINE WINDOW oWnd ;
   [ FROM nTop, nLeft TO nBottom, nRight ] ;
   [ TITLE cTitle ] ;
   [ STYLE nStyle ] ;
   [ MENU oMenu ] ;
   [ BRUSH oBrush ] ;
   [ ICON oIcon ] ;
   [ ICONIZE | MAXIMIZE | RESTORE ] ;
   [ COLOR cClrFore [, cClrBack ] ] ;
   [ PIXEL ] ;
   [ BORDER NONE | SINGLE ] ;
   [ NOSYSMENU | NOCAPTION ] ;
   [ NOZOOM | NOMAXIMIZE ]

ACTIVATE WINDOW

ACTIVATE WINDOW oWnd ;
   [ ICONIZED | MAXIMIZED | NORMAL ] ;
   [ ON INIT bInit ] ;
   [ ON UP bUp ] ;
   [ ON DOWN bDown ] ;
   [ ON LEFT bLeft ] ;
   [ ON RIGHT bRight ] ;
   [ ON PAINT bPaint ] ;
   [ ON RESIZE bResize ] ;
   [ ON CLICK bClick ] ;
   [ ON DBLCLICK bDblClick ] ;
   [ VALID bValid ]

Dialog Commands

DEFINE DIALOG

DEFINE DIALOG oDlg ;
   [ FROM nTop, nLeft TO nBottom, nRight ] ;
   [ SIZE nWidth, nHeight ] ;
   [ TITLE cTitle ] ;
   [ RESOURCE cResName ] ;
   [ NAME cResName ] ;
   [ OF | WINDOW oWnd ] ;
   [ STYLE nStyle ] ;
   [ COLOR cClrFore [, cClrBack ] ] ;
   [ BRUSH oBrush ] ;
   [ FONT oFont ] ;
   [ ICON oIcon ] ;
   [ PIXEL ] ;
   [ TRANSPARENT ] ;
   [ TRUEPIXEL ]

ACTIVATE DIALOG

ACTIVATE DIALOG oDlg ;
   [ CENTER | CENTERED ] ;
   [ NOWAIT | NOMODAL ] ;
   [ ON INIT bInit ] ;
   [ ON PAINT bPaint ] ;
   [ VALID bValid ]

Control Commands

@ SAY

@ nRow, nCol SAY [ oSay ] [ PROMPT | VAR ] cText ;
   [ OF | WINDOW | DIALOG oWnd ] ;
   [ FONT oFont ] ;
   [ COLOR cClrFore [, cClrBack ] ] ;
   [ SIZE nWidth, nHeight ] ;
   [ PIXEL ] ;
   [ CENTER | RIGHT ] ;
   [ BORDER ] ;
   [ TRANSPARENT ] ;
   [ UPDATE ]

@ GET

@ nRow, nCol GET [ oGet VAR ] uVar ;
   [ OF | WINDOW | DIALOG oWnd ] ;
   [ PICTURE cPicture ] ;
   [ VALID bValid ] ;
   [ WHEN bWhen ] ;
   [ COLOR cClrFore [, cClrBack ] ] ;
   [ SIZE nWidth, nHeight ] ;
   [ FONT oFont ] ;
   [ PIXEL ] ;
   [ READONLY ] ;
   [ PASSWORD ] ;
   [ UPDATE ] ;
   [ MESSAGE cMsg ] ;
   [ ON CHANGE bChange ]

@ BUTTON

@ nRow, nCol BUTTON [ oBtn ] ;
   [ PROMPT cCaption ] ;
   [ OF | WINDOW | DIALOG oWnd ] ;
   [ SIZE nWidth, nHeight ] ;
   [ ACTION bAction ] ;
   [ FONT oFont ] ;
   [ PIXEL ] ;
   [ FLAT ] ;
   [ DEFAULT ] ;
   [ CANCEL ] ;
   [ WHEN bWhen ] ;
   [ MESSAGE cMsg ]

@ BTNBMP (Bitmap Button)

@ nRow, nCol BTNBMP [ oBtn ] ;
   [ OF | WINDOW | DIALOG oWnd ] ;
   [ SIZE nWidth, nHeight ] ;
   [ ACTION bAction ] ;
   [ RESOURCE cResName | FILE | FILENAME cBmpFile ] ;
   [ NOBORDER ] ;
   [ FLAT ] ;
   [ PIXEL ] ;
   [ PROMPT cCaption ] ;
   [ TOOLTIP cTooltip ] ;
   [ WHEN bWhen ]

@ CHECKBOX

@ nRow, nCol CHECKBOX [ oChk VAR ] lVar ;
   [ PROMPT cCaption ] ;
   [ OF | WINDOW | DIALOG oWnd ] ;
   [ SIZE nWidth, nHeight ] ;
   [ ON CHANGE bChange ] ;
   [ COLOR cClrFore [, cClrBack ] ] ;
   [ FONT oFont ] ;
   [ PIXEL ] ;
   [ WHEN bWhen ] ;
   [ UPDATE ]

@ RADIO

@ nRow, nCol RADIO [ oRad VAR ] nOption ;
   [ PROMPT cCaption ] ;
   [ OF | WINDOW | DIALOG oWnd ] ;
   [ SIZE nWidth, nHeight ] ;
   [ ON CHANGE bChange ] ;
   [ COLOR cClrFore [, cClrBack ] ] ;
   [ FONT oFont ] ;
   [ PIXEL ]

@ COMBOBOX

@ nRow, nCol COMBOBOX [ oCbx VAR ] cVar ;
   [ ITEMS aItems ] ;
   [ OF | WINDOW | DIALOG oWnd ] ;
   [ SIZE nWidth, nHeight ] ;
   [ ON CHANGE bChange ] ;
   [ COLOR cClrFore [, cClrBack ] ] ;
   [ FONT oFont ] ;
   [ PIXEL ] ;
   [ UPDATE ] ;
   [ WHEN bWhen ] ;
   [ VALID bValid ] ;
   [ SORT ]

@ LISTBOX

@ nRow, nCol LISTBOX [ oLbx VAR ] cVar ;
   [ ITEMS aItems ] ;
   [ OF | WINDOW | DIALOG oWnd ] ;
   [ SIZE nWidth, nHeight ] ;
   [ ON CHANGE bChange ] ;
   [ ON DBLCLICK bDblClick ] ;
   [ COLOR cClrFore [, cClrBack ] ] ;
   [ FONT oFont ] ;
   [ PIXEL ] ;
   [ SORT ] ;
   [ MULTISEL ]

Browse Commands

@ XBROWSE

@ nRow, nCol XBROWSE oBrw ;
   [ OF | WINDOW | DIALOG oWnd ] ;
   [ SIZE nWidth, nHeight ] ;
   [ COLUMNS aCols ] ;
   [ HEADERS aHeaders ] ;
   [ COLSIZES aWidths ] ;
   [ ALIAS cAlias ] ;
   [ DATASOURCE oDb ] ;
   [ AUTOCOLS ] ;
   [ AUTOSORT ] ;
   [ LINES ] ;
   [ CELL ] ;
   [ PIXEL ] ;
   [ FASTEDIT ] ;
   [ NOBORDER ] ;
   [ FONT oFont ] ;
   [ COLOR cClrFore, cClrBack ]

XBROWSER

XBROWSER [ cAlias | oDb | aArray | oRecSet ] ;
   [ TITLE cTitle ] ;
   [ COLUMNS aCols ] ;
   [ SETUP bSetUp ] ;
   [ FASTEDIT ] ;
   [ AUTOSORT ]

Quick one-liner to browse any data source in a popup window.

DEFINE MENU / MENUITEM

MENU oMenu
   MENUITEM [ oMi ] [ PROMPT ] cPrompt ;
      [ ACTION bAction ] ;
      [ BLOCK bAction ] ;
      [ MESSAGE cMsg ] ;
      [ ACCELERATOR nAccel ] ;
      [ WHEN bWhen ] ;
      [ CHECK ] ;
      [ CHECKED ]

   MENUITEM "File"
   MENU
      MENUITEM "&Open"   ACTION OpenFile()   ACCELERATOR ACC_CTRL_O
      MENUITEM "&Save"   ACTION SaveFile()
      SEPARATOR
      MENUITEM "E&xit"   ACTION oWnd:End()
   ENDMENU

   MENUITEM "Edit"
   MENU
      MENUITEM "&Copy"   ACTION CopyData()
      MENUITEM "&Paste"  ACTION PasteData()
   ENDMENU
ENDMENU

DEFINE POPUP

DEFINE MENU oPopup POPUP
   MENUITEM "Option 1" ACTION Action1()
   MENUITEM "Option 2" ACTION Action2()
   SEPARATOR
   MENUITEM "Option 3" ACTION Action3()
ENDMENU

ACTIVATE POPUP oPopup AT nRow, nCol OF oWnd

Toolbar Commands

DEFINE BUTTONBAR

DEFINE BUTTONBAR oBar ;
   [ OF | WINDOW oWnd ] ;
   [ SIZE nBtnWidth, nBtnHeight ] ;
   [ 3D | 3DLOOK ] ;
   [ TOP | LEFT | RIGHT | BOTTOM | FLOAT ]

DEFINE BUTTON OF oBar

DEFINE BUTTON [ oBtn ] OF oBar ;
   [ RESOURCE cResName | FILE cBmpFile ] ;
   [ TOOLTIP cTooltip ] ;
   [ MESSAGE cMsg ] ;
   [ ACTION bAction ] ;
   [ WHEN bWhen ] ;
   [ GROUP ] ;
   [ ADJUST ]

Font & Brush Commands

DEFINE FONT

DEFINE FONT oFont ;
   NAME cFaceName ;
   [ SIZE nWidth, nHeight ] ;
   [ OF oDevice ] ;
   [ BOLD ] ;
   [ ITALIC ] ;
   [ UNDERLINE ] ;
   [ STRIKEOUT ] ;
   [ NESCAPEMENT nEscapement ] ;
   [ WEIGHT nWeight ] ;
   [ CHARSET nCharSet ]

DEFINE BRUSH

DEFINE BRUSH oBrush ;
   [ STYLE cStyle ] ;
   [ COLOR nRGBColor ] ;
   [ FILE cBmpFile ] ;
   [ RESOURCE cBmpRes ]

// cStyle values: "HORIZONTAL", "VERTICAL", "FDIAGONAL",
//   "BDIAGONAL", "CROSS", "DIAGCROSS", "BORLAND",
//   "BRICKS", "TILED", "TABS"

Printing Commands

PRINT ... ENDPRINT

PRINT oPrn ;
   [ NAME cDocument ] ;
   [ DOC cDocument ] ;
   [ PREVIEW ] ;
   [ FILE cFile ] ;
   [ TO cPrinter ]

PAGE

   // ... say, line, box, bitmap commands ...

ENDPAGE

ENDPRINT

Report Commands

REPORT ... END REPORT

REPORT oRpt ;
   [ TITLE cTitle1 [, cTitle2, ... ] ] ;
   [ HEADER cHead1 [, cHead2, ... ] ] ;
   [ FOOTER cFoot1 [, cFoot2, ... ] ] ;
   [ FONT oFont1 [, oFont2, ... ] ] ;
   [ PEN oPen1 [, oPen2, ... ] ] ;
   [ SUMMARY ] ;
   [ PREVIEW ] ;
   [ TO PRINTER ] ;
   [ TO FILE cFile ] ;
   [ NAME cReportName ]

COLUMN [ TITLE cTitle ] ;
   [ DATA bData ] ;
   [ SIZE nWidth ] ;
   [ PICTURE cPicture ] ;
   [ FONT nFontIndex ] ;
   [ LEFT | CENTER | RIGHT ] ;
   [ TOTAL ] ;
   [ SHADOW ] ;
   [ GRID ] ;
   [ MEMO [ LINES nLines ] ]

GROUP [ ON bGroupExpr ] ;
   [ HEADER cHeader ] ;
   [ FOOTER cFooter ] ;
   [ FONT nFontIndex ] ;
   [ EJECT ]

END REPORT

Database Commands

DATABASE

DATABASE oDb ;
   [ FILE | FILENAME cFile ] ;
   [ ALIAS cAlias ] ;
   [ DRIVER cRDD ] ;
   [ SHARED | EXCLUSIVE ] ;
   [ READONLY ] ;
   [ PASSWORD cPassword ]

Miscellaneous Commands

DEFINE PEN

DEFINE PEN oPen ;
   [ STYLE nStyle ] ;
   [ WIDTH nWidth ] ;
   [ COLOR nRGBColor ] ;
   [ OF oDevice ]

// Pen styles: PS_SOLID (0), PS_DASH (1), PS_DOT (2),
//   PS_DASHDOT (3), PS_DASHDOTDOT (4), PS_NULL (5)

DEFINE CURSOR

DEFINE CURSOR oCursor ;
   [ RESOURCE cResName ] ;
   [ ARROW | HAND | IBEAM | CROSS | SIZE | WAIT ]

DEFINE ICON

DEFINE ICON oIcon ;
   [ RESOURCE cResName ] ;
   [ FILE cIcoFile ]

DEFINE BITMAP

@ nRow, nCol BITMAP [ oBmp ] ;
   [ OF | WINDOW | DIALOG oWnd ] ;
   [ SIZE nWidth, nHeight ] ;
   [ RESOURCE cResName | FILE | FILENAME cBmpFile ] ;
   [ NOBORDER ] ;
   [ SCROLL ] ;
   [ STRETCH ] ;
   [ TRANSPARENT ] ;
   [ PIXEL ] ;
   [ ON CLICK bClick ]

DEFINE IMAGE

@ nRow, nCol IMAGE [ oImg ] ;
   [ OF | WINDOW | DIALOG oWnd ] ;
   [ SIZE nWidth, nHeight ] ;
   [ RESOURCE cResName | FILE | FILENAME cFile ] ;
   [ NOBORDER ] ;
   [ STRETCH ] ;
   [ TRANSPARENT ] ;
   [ PIXEL ] ;
   [ ON CLICK bClick ]

DEFINE TIMER

DEFINE TIMER oTimer ;
   [ INTERVAL nMs ] ;
   [ ACTION bAction ] ;
   [ OF | WINDOW oWnd ]

ACTIVATE TIMER oTimer
DEACTIVATE TIMER oTimer

DEFINE MSGBAR

DEFINE MESSAGE [ oMsgBar ] OF oWnd ;
   [ PROMPT cPrompt ] ;
   [ CENTERED ] ;
   [ CLOCK ] ;
   [ DATE ] ;
   [ KEYBOARD ] ;
   [ COLOR cClrFore [, cClrBack ] ] ;
   [ FONT oFont ] ;
   [ NOINSET ]