///////////////////////////////////////////////////////////////////// // GRID - Standard version ///////////////////////////////////////////////////////////////////// #command @ <row>, <col> GRID <name> ; [ OBJ <obj> ] ; [ <dummy01: OF, PARENT> <parent> ] ; [ WIDTH <w> ] ; [ HEIGHT <h> ] ; [ HEADERS <headers> ] ; [ WIDTHS <widths> ] ; [ INPUTMASK <Picture> ] ; [ ITEMS <rows> ] ; [ VALUE <value> ] ; [ FONT <fontname> ] ; [ SIZE <fontsize> ] ; [ <bold: BOLD> ] ; [ <italic: ITALIC> ] ; [ <underline: UNDERLINE> ] ; [ <strikeout: STRIKEOUT> ] ; [ TOOLTIP <tooltip> ] ; [ BACKCOLOR <backcolor> ] ; [ FONTCOLOR <fontcolor> ] ; [ DYNAMICBACKCOLOR <dynamicbackcolor> ] ; [ DYNAMICFORECOLOR <dynamicforecolor> ] ; [ <dummy02: ONGOTFOCUS, ON GOTFOCUS> <gotfocus> ] ; [ <dummy03: ONCHANGE, ON CHANGE> <change> ] ; [ <dummy04: ONLOSTFOCUS, ON LOSTFOCUS> <lostfocus> ] ; [ <dummy05: ONDBLCLICK, ON DBLCLICK> <dblclick> ] ; [ <dummy06: ACTION, ONCLICK, ON CLICK> <click> ] ; [ <dummy07: ONHEADCLICK, ON HEADCLICK> <aHeadClick> ] ; [ <edit: EDIT> ] ; [ <ownerdata: VIRTUAL> ] ; [ ITEMCOUNT <itemcount> ] ; [ <dummy08: ONQUERYDATA, ON QUERYDATA> <dispinfo> ] ; [ <multiselect: MULTISELECT> ] ; [ <style: NOLINES> ] ; [ IMAGE <aImage> ] ; [ JUSTIFY <aJust> ] ; [ HELPID <helpid> ] ; [ <break: BREAK> ] ; [ <rtl: RTL> ] ; [ <inplace: INPLACE> ] ; [ COLUMNCONTROLS <editcontrols> ] ; [ READONLY <aReadOnly> ] ; [ <dummy20: VALID, COLUMNVALID> <aValidFields> ] ; [ VALIDMESSAGES <aValidMessages> ] ; [ <dummy09: ONEDITCELL, ON EDITCELL> <editcell> ] ; [ <noshowheaders: NOHEADERS> ] ; [ <dummy10: WHEN, COLUMNWHEN> <aWhenFields> ] ; [ SUBCLASS <subclass> ] ; [ <disabled: DISABLED> ] ; [ <notabstop: NOTABSTOP> ] ; [ <invisible: INVISIBLE> ] ; [ <dummy11: ONENTER, ON ENTER> <enter> ] ; [ HEADERIMAGES <aHeaderImages> ] ; [ IMAGESALIGN <aImgAlign> ] ; [ <fullmove: FULLMOVE> ] ; [ <bycell: NAVIGATEBYCELL> ] ; [ SELECTEDCOLORS <aSelectedColors> ] ; [ EDITKEYS <aEditKeys> ] ; [ <checkboxes: CHECKBOXES> ] ; [ <dummy12: ONCHECKCHANGE, ON CHECKCHANGE> <checkchange> ] ; [ <bffr: DOUBLEBUFFER, SINGLEBUFFER> ] ; [ <focus: NOFOCUSRECT, FOCUSRECT> ] ; [ <plm: PAINTLEFTMARGIN> ] ; [ <fixedcols: FIXEDCOLS> ] ; [ <dummy13: ONABORTEDIT, ON ABORTEDIT> <abortedit> ] ; [ <fixedwidths: FIXEDWIDTHS> ] ; [ BEFORECOLMOVE <bBefMov> ] ; [ AFTERCOLMOVE <bAftMov> ] ; [ BEFORECOLSIZE <bBefSiz> ] ; [ AFTERCOLSIZE <bAftSiz> ] ; [ BEFOREAUTOFIT <bBefAut> ] ; [ <excel: EDITLIKEEXCEL> ] ; [ <buts: USEBUTTONS> ] ; [ <delete: DELETE> ] ; [ DELETEWHEN <bWhenDel> ] ; [ DELETEMSG <DelMsg> ] ; [ <dummy14: ONDELETE, ON DELETE> <onDelete> ] ; [ <nodelmsg: NODELETEMSG> ] ; [ <append: APPEND> ] ; [ <dummy15: ONAPPEND, ON APPEND> <onappend> ] ; [ <nomodal: NOMODALEDIT> ] ; [ <edtctrls: FIXEDCONTROLS, DYNAMICCONTROLS> ] ; [ <dummy16: ONHEADRCLICK, ON HEADRCLICK> <bheadrclick> ] ; [ <noclick: NOCLICKONCHECKBOX> ] ; [ <norclick: NORCLICKONCHECKBOX> ] ; [ <extdbl: EXTDBLCLICK> ] ; [ <silent: SILENT> ] ; [ <alta: ENABLEALTA, DISABLEALTA> ] ; [ <noshow: NOSHOWALWAYS> ] ; [ <none: NONEUNSELS, IGNORENONE> ] ; [ <cbe: CHANGEBEFOREEDIT> ] ; [ <dummy17: ONRCLICK, ON RCLICK> <rclick> ] ; [ <dummy18: ONINSERT, ON INSERT> <oninsert> ] ; [ <dummy19: ONEDITCELLEND, ON EDITCELLEND> <editend> ] ; [ <efv: EDITFIRSTVISIBLE> ] ; [ <dummy20: ONBEFOREEDITCELL, ON BEFOREEDITCELL> <beforedit> ] ; =>; [ <obj> := ] _OOHG_SelectSubClass( IIF( <.bycell.>, TGridByCell(), ; IIF( <.multiselect.>, TGridMulti(), TGrid() ) ), ; [ <subclass>() ] ):Define( <(name)>, <(parent)>, <col>, <row>, ; <w>, <h>, <headers>, <widths>, <rows>, <value>, <fontname>, ; <fontsize>, <tooltip>, <{change}>, <{dblclick}>, <aHeadClick>, ; <{gotfocus}>, <{lostfocus}>, <.style.>, <aImage>, <aJust>, ; <.break.>, <helpid>, <.bold.>, <.italic.>, <.underline.>, ; <.strikeout.>, <.ownerdata.>, <{dispinfo}>, <itemcount>, <.edit.>, ; <backcolor>, <fontcolor>, <dynamicbackcolor>, <dynamicforecolor>, ; <Picture>, <.rtl.>, <.inplace.>, <editcontrols>, <aReadOnly>, ; <aValidFields>, <aValidMessages>, <{editcell}>, <aWhenFields>, ; <.disabled.>, <.notabstop.>, <.invisible.>, ! <.noshowheaders.>, ; <{enter}>, <aHeaderImages>, <aImgAlign>, <.fullmove.>, ; <aSelectedColors>, <aEditKeys>, <.checkboxes.>, <{checkchange}>, ; IIF( Upper( #<bffr> ) == "DOUBLEBUFFER", .T., ; IIF( Upper( #<bffr> ) == "SINGLEBUFFER", .F., .T. ) ), ; IIF( #<focus> == "NOFOCUSRECT", .F., ; IIF( #<focus> == "FOCUSRECT", .T., NIL ) ), ; <.plm.>, <.fixedcols.>, <{abortedit}>, <{click}>, <.fixedwidths.>, ; <{bBefMov}>, <{bAftMov}>, <{bBefSiz}>, <{bAftSiz}>, <{bBefAut}>, ; <.excel.>, <.buts.>, <.delete.>, <{onDelete}>, <{bWhenDel}>, ; <DelMsg>, <.nodelmsg.>, <.append.>, <{onappend}>, <.nomodal.>, ; IIF( Upper( #<edtctrls> ) == "FIXEDCONTROLS", .T., ; IIF( Upper( #<edtctrls> ) == "DYNAMICCONTROLS", .F., NIL ) ), ; <{bheadrclick}>, ! <.noclick.>, ! <.norclick.>, <.extdbl.>, ; <.silent.>, Upper( #<alta> ) == "ENABLEALTA", <.noshow.>, ; Upper( #<none> ) == "NONEUNSELS", <.cbe.>, <{rclick}>, ; <{oninsert}>, <{editend}>, ! <.efv.>, <{beforedit}> ) ///////////////////////////////////////////////////////////////////// // GRID - SplitBox version ///////////////////////////////////////////////////////////////////// #command GRID <name> ; [ OBJ <obj> ] ; [ <dummy01: OF, PARENT> <parent> ] ; [ WIDTH <w> ] ; [ HEIGHT <h> ] ; [ HEADERS <headers> ] ; [ WIDTHS <widths> ] ; [ INPUTMASK <Picture> ] ; [ ITEMS <rows> ] ; [ VALUE <value> ] ; [ FONT <fontname> ] ; [ SIZE <fontsize> ] ; [ <bold: BOLD> ] ; [ <italic: ITALIC> ] ; [ <underline: UNDERLINE> ] ; [ <strikeout: STRIKEOUT> ] ; [ TOOLTIP <tooltip> ] ; [ BACKCOLOR <backcolor> ] ; [ FONTCOLOR <fontcolor> ] ; [ DYNAMICBACKCOLOR <dynamicbackcolor> ] ; [ DYNAMICFORECOLOR <dynamicforecolor> ] ; [ <dummy02: ONGOTFOCUS, ON GOTFOCUS> <gotfocus> ] ; [ <dummy03: ONCHANGE, ON CHANGE> <change> ] ; [ <dummy04: ONLOSTFOCUS, ON LOSTFOCUS> <lostfocus> ] ; [ <dummy05: ONDBLCLICK, ON DBLCLICK> <dblclick> ] ; [ <dummy06: ACTION, ONCLICK, ON CLICK> <click> ] ; [ <dummy07: ONHEADCLICK, ON HEADCLICK> <aHeadClick> ] ; [ <edit: EDIT> ] ; [ <ownerdata: VIRTUAL> ] ; [ ITEMCOUNT <itemcount> ] ; [ <dummy08: ONQUERYDATA, ON QUERYDATA> <dispinfo> ] ; [ <multiselect: MULTISELECT> ] ; [ <style: NOLINES> ] ; [ IMAGE <aImage> ] ; [ JUSTIFY <aJust> ] ; [ HELPID <helpid> ] ; [ <break: BREAK> ] ; [ <rtl: RTL> ] ; [ <inplace: INPLACE> ] ; [ COLUMNCONTROLS <editcontrols> ] ; [ READONLY <aReadOnly> ] ; [ <dummy20: VALID, COLUMNVALID> <aValidFields> ] ; [ VALIDMESSAGES <aValidMessages> ] ; [ <dummy09: ONEDITCELL, ON EDITCELL> <editcell> ] ; [ <noshowheaders: NOHEADERS> ] ; [ <dummy10: WHEN, COLUMNWHEN> <aWhenFields> ] ; [ SUBCLASS <subclass> ] ; [ <disabled: DISABLED> ] ; [ <notabstop: NOTABSTOP> ] ; [ <invisible: INVISIBLE> ] ; [ <dummy11: ONENTER, ON ENTER> <enter> ] ; [ HEADERIMAGES <aHeaderImages> ] ; [ IMAGESALIGN <aImgAlign> ] ; [ <fullmove: FULLMOVE> ] ; [ <bycell: NAVIGATEBYCELL> ] ; [ SELECTEDCOLORS <aSelectedColors> ] ; [ EDITKEYS <aEditKeys> ] ; [ <checkboxes: CHECKBOXES> ] ; [ <dummy12: ONCHECKCHANGE, ON CHECKCHANGE> <checkchange> ] ; [ <bffr: DOUBLEBUFFER, SINGLEBUFFER> ] ; [ <focus: NOFOCUSRECT, FOCUSRECT> ] ; [ <plm: PAINTLEFTMARGIN> ] ; [ <fixedcols: FIXEDCOLS> ] ; [ <dummy13: ONABORTEDIT, ON ABORTEDIT> <abortedit> ] ; [ <fixedwidths: FIXEDWIDTHS> ] ; [ BEFORECOLMOVE <bBefMov> ] ; [ AFTERCOLMOVE <bAftMov> ] ; [ BEFORECOLSIZE <bBefSiz> ] ; [ AFTERCOLSIZE <bAftSiz> ] ; [ BEFOREAUTOFIT <bBefAut> ] ; [ <excel: EDITLIKEEXCEL> ] ; [ <buts: USEBUTTONS> ] ; [ <delete: DELETE> ] ; [ DELETEWHEN <bWhenDel> ] ; [ DELETEMSG <DelMsg> ] ; [ <dummy14: ONDELETE, ON DELETE> <onDelete> ] ; [ <nodelmsg: NODELETEMSG> ] ; [ <append: APPEND> ] ; [ <dummy15: ONAPPEND, ON APPEND> <onappend> ] ; [ <nomodal: NOMODALEDIT> ] ; [ <edtctrls: FIXEDCONTROLS, DYNAMICCONTROLS> ] ; [ <dummy16: ONHEADRCLICK, ON HEADRCLICK> <bheadrclick> ] ; [ <noclick: NOCLICKONCHECKBOX> ] ; [ <norclick: NORCLICKONCHECKBOX> ] ; [ <extdbl: EXTDBLCLICK> ] ; [ <silent: SILENT> ] ; [ <alta: ENABLEALTA, DISABLEALTA> ] ; [ <noshow: NOSHOWALWAYS> ] ; [ <none: NONEUNSELS, IGNORENONE> ] ; [ <cbe: CHANGEBEFOREEDIT> ] ; [ <dummy17: ONRCLICK, ON RCLICK> <rclick> ] ; [ <dummy18: ONINSERT, ON INSERT> <oninsert> ] ; [ <dummy19: ONEDITCELLEND, ON EDITCELLEND> <editend> ] ; [ <efv: EDITFIRSTVISIBLE> ] ; [ <dummy20: ONBEFOREEDITCELL, ON BEFOREEDITCELL> <beforedit> ] ; =>; [ <obj> := ] _OOHG_SelectSubClass( IIF( <.bycell.>, TGridByCell(), ; IIF( <.multiselect.>, TGridMulti(), TGrid() ) ), ; [ <subclass>() ] ):Define( <(name)>, <(parent)>, , , <w>, <h>, ; <headers>, <widths>, <rows>, <value>, <fontname>, <fontsize>, ; <tooltip>, <{change}>, <{dblclick}>, <aHeadClick>, <{gotfocus}>, ; <{lostfocus}>, <.style.>, <aImage>, <aJust>, <.break.>, <helpid>, ; <.bold.>, <.italic.>, <.underline.>, <.strikeout.>, <.ownerdata.>, ; <{dispinfo}>, <itemcount>, <.edit.>, <backcolor>, <fontcolor>, ; <dynamicbackcolor>, <dynamicforecolor>, <Picture>, <.rtl.>, ; <.inplace.>, <editcontrols>, <aReadOnly>, <aValidFields>, ; <aValidMessages>, <{editcell}>, <aWhenFields>, <.disabled.>, ; <.notabstop.>, <.invisible.>, ! <.noshowheaders.>, <{enter}>, ; <aHeaderImages>, <aImgAlign>, <.fullmove.>, <aSelectedColors>, ; <aEditKeys>, <.checkboxes.>, <{checkchange}>, ; IIF( Upper( #<bffr> ) == "DOUBLEBUFFER", .T., ; IIF( Upper( #<bffr> ) == "SINGLEBUFFER", .F., .T. ) ), ; IIF( #<focus> == "NOFOCUSRECT", .F., ; IIF( #<focus> == "FOCUSRECT", .T., NIL ) ), ; <.plm.>, <.fixedcols.>, <{abortedit}>, <{click}>, <.fixedwidths.>, ; <{bBefMov}>, <{bAftMov}>, <{bBefSiz}>, <{bAftSiz}>, <{bBefAut}>, ; <.excel.>, <.buts.>, <.delete.>, <{onDelete}>, <{bWhenDel}>, ; <DelMsg>, <.nodelmsg.>, <.append.>, <{onappend}>, <.nomodal.>, ; IIF( Upper( #<edtctrls> ) == "FIXEDCONTROLS", .T., ; IIF( Upper( #<edtctrls> ) == "DYNAMICCONTROLS", .F., NIL ) ), ; <{bheadrclick}>, ! <.noclick.>, ! <.norclick.>, <.extdbl.>, ; <.silent.>, Upper( #<alta> ) == "ENABLEALTA", <.noshow.>, ; Upper( #<none> ) == "NONEUNSELS", <.cbe.>, <{rclick}>, ; <{oninsert}>, <{editend}>, ! <.efv.>, <{beforedit}> ) Related commands and functions: *** Standard syntax: SET GRIDFIXEDCONTROLS OFF SET GRIDFIXEDCONTROLS ON *** Alternative syntax: SetGridFixedControls( .F. ) SetGridFixedControls( .T. ) Column justification constants: GRID_JTFY_LEFT GRID_JTFY_RIGHT GRID_JTFY_CENTER Placement of headers images: HEADER_IMG_AT_LEFT HEADER_IMG_AT_RIGHT COLUMNCONTROLS syntax: {'TEXTBOX', cType, cPicture, cFunction, nOnFocusPos, lButtons, aImages, lLikeExcel, cEditKey, lNoModal} {'TEXTBOXACTION', cType, cPicture, cFunction, nOnFocusPos, aImages, lLikeExcel, cEditKey, lNoModal, bAction, bAction2} {'MEMO', cTitle, lCleanCRLF, nWidth, nHeight, lSize, lNoHScroll} {'DATEPICKER', lUpDown, lShowNone, lButtons, aImages, lNoModal} {'COMBOBOX', aItems, aValues, cRetValType, lButtons, aImages, lNoModal} {'COMBOBOXTEXT', aItems, lIncremental, lWinSize, lButtons, aImages, lNoModal} {'SPINNER', nRangeMin, nRangeMax, lButtons, aImages, lNoModal} {'CHECKBOX', cTrue, cFalse, lButtons, aImages, lNoModal} {'IMAGELIST', lButtons, aImages, lNoModal} {'IMAGEDATA', oData, lButtons, aImages, lNoModal} {'LCOMBOBOX', cTrue, cFalse, lButtons, aImages, lNoModal}