compile insert PS_EditTable_Equates /* ** Copyright (C) 2015-2024 Revelation Software Inc. All Rights Reserved ** Author : Wile C Coyote - Super Genius Date : April 2015 Purpose : Constants for working with PS EDITTABLE object structures Comments ======== Amended Date Reason ======= ==== ====== Mr C 06 Jun 24 Added CELLSTYLES property equates Mr C 20 Feb 24 Added PSSX_EDT_SVMMULTILINEDELIM$, PSSX_EDT_TMMULTILINEDELIM$ Mr C 19 Feb 24 Renamed PS_EDT_AT_LEAVETRAILINGROWS$ to PS_EDT_AT_NOTRAILINGROWS$ Mr C 29 Aug 23 Update PS Extended styles for ALLOWRESETPREVPOS Mr C 24 Oct 22 Added CELLPOSCHANGED context flags Mr C 15 Dec 21 Corrected CELLTYPE comments Mr C 21 Oct 21 Added missing PS extended style equates Mr C 25 Aug 20 Added GlyphList OIWIN/OIWINEXE constants Mr C 05 Sep 19 Added DELETEROW delInfo constants Added INSERTROW insInfo constants Mr C 13 Apr 19 Added PSS_EDT_ALLOWLASTROWDELETE$ Mr C 10 Apr 19 Updated CellFocusRect properties Mr C 09 Apr 18 Added PSS_EDT_NOAUTOSORTMARKERS$ Mr C 27 Jan 17 Added ETCLS_MANUALDROPDOWN$ Mr C 17 Jan 17 Removed ReadOnly CellStyle Updated OIWIN/EXE structures for Column cellstyles Mr C 16 Jan 17 Renamed PSS_EDT_NOROWPADDING$ to PSS_EDT_NOAUTOROWFILLING$ Mr C 05 Jan 17 Added AUTOTRIMOPTIONS equates Mr C 21 Sep 16 Fixed another missing "$" suffix?? Mr C 08 Sep 16 Fixed missing "$" suffix Mr C 01 Jul 16 And even more comment updates Mr C 21 Jun 16 More comment updates Mr C 24 May 16 Adjusted some comments for clarity regarding CellStyles Mr C 29 Mar 16 Added FOCUSRECTSTYLE equates djh 25 Mar 16 Add FocusRect props to CFGINFO djh 23 Mar 16 Add $ to end of PSS_EDT_COLHDRSORTCLICK and PSS_EDT_COLHDRSORTDBLCLICK Mr C 22 Mar 16 More cleanup Mr C 18 Feb 16 Updated comments Mr C 21 Nov 15 Added EMPTYTEXT constants Mr C 17 Nov 15 Added COLHEADERSORTINGMODE constants Updated PS style equates Mr C 05 Oct 15 Spelling ... Mr C 28 Sep 15 Updated config info layout for v9 compatibility Mr C 27 Sep 15 Updated SORT method Mr C 25 Sep 15 Renamed SORTEDCOL prop -> SORT method Mr C 09 Sep 15 Cleanup due to clarification of COLUMN API Mr C 08 Sep 15 Readded config info layout :-S Added PSS_EDT_COLHEADERSORTING$, PSS_EDT_V10ROWEVENTMODE$ Added ROWEVENTMODE constants Mr C 07 Sep 15 Added GridStyle equates, updated config info layout Added PSS_EDT_NOROWPADDING$ Mr C 10 Aug 15 Updated SORTEDCOL equates Mr C 02 Jul 15 Added COL/ROWSELECTMODE equates */ /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// #ifndef _PS_EDITTABLE_EQUATES_ #define _PS_EDITTABLE_EQUATES_ /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// $insert oiWin_Equates $insert ps_Equates /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// equ EDT_DEFCOLWIDTH$ to 80 ; // px equ EDT_DEFROWHEADERWIDTH$ to 40 ; // px equ EDT_DEFROWHEIGHT$ to 0 ; // Based on FONT /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // CELLTYPE equates // // A data cell can support the following types // // Edit // CheckBox // Button // DropDown // DropDownEdit // // A header cell can support the following types // // Static // CheckBox equ PS_EDT_CT_DEFAULT$ to -1 equ PS_EDT_CT_NORMAL$ to 0 equ PS_EDT_CT_CHECKBOX$ to 1 equ PS_EDT_CT_BUTTON$ to 2 equ PS_EDT_CT_DROPDOWN$ to 3 equ PS_EDT_CT_DROPDOWNEDIT$ to 4 /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // CELLSTYLE method equates // // A column, row or cell can have a style applied to it that is used for // a specific state (this applies to header cells as well) // // The states that can have a style applied are: // // Normal // Hot // Disabled // Selected // HotSelected // SelectedNoFocus // Current equ PS_EDT_CS_NORMAL$ to 0 equ PS_EDT_CS_HOT$ to 1 equ PS_EDT_CS_DISABLED$ to 2 equ PS_EDT_CS_SELECTED$ to 3 equ PS_EDT_CS_HOTSELECTED$ to 4 equ PS_EDT_CS_SELNOFOCUS$ to 5 equ PS_EDT_CS_CURRENT$ to 6 // The styling that can be applied for a state is defined by the // following structure: // // <1> ForeColor (COLORREF) // <2> BackColor From (COLORREF) // <3> BackColor To (COLORREF) // <4> Bold TRUE$/FALSE$ // <5> Italic TRUE$/FALSE$ // <6> Underline TRUE$/FALSE$ // <7> Translucency (0-100) // <8> GlyphIndex (>=0) equ PS_EDT_CS_POS_FORECOLOR$ to 1 equ PS_EDT_CS_POS_BACKCOLORFROM$ to 2 equ PS_EDT_CS_POS_BACKCOLORTO$ to 3 equ PS_EDT_CS_POS_BOLD$ to 4 equ PS_EDT_CS_POS_ITALIC$ to 5 equ PS_EDT_CS_POS_UNDERLINE$ to 6 equ PS_EDT_CS_POS_TRANSLUCENCY$ to 7 equ PS_EDT_CS_POS_GLYPHINDEX$ to 8 /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // CELLSTYLES property equates // // Category indexes // // <1> Data-cell CellStyles // <2> Column Header CellStyles // <3> Row Header CellStyles equ PS_EDT_CSS_POS_DATACELL$ to 1 equ PS_EDT_CSS_POS_COLHEADER$ to 2 equ PS_EDT_CSS_POS_ROWHEADER$ to 3 // State indexes // // <0,1> Normal State CellStyle // <0,2> Hot State CellStyle // <0,3> Disabled State CellStyle // <0,4> Selected State CellStyle // <0,5> HotSelected State CellStyle // <0,6> SelectedNoFocus State CellStyle // <0,7> CurrentCell State CellStyle equ PS_EDT_CSS_POS_NORMAL$ to 1 equ PS_EDT_CSS_POS_HOT$ to 2 equ PS_EDT_CSS_POS_DISABLED$ to 3 equ PS_EDT_CSS_POS_SELECTED$ to 4 equ PS_EDT_CSS_POS_HOTSELECTED$ to 5 equ PS_EDT_CSS_POS_SELNOFOCUS$ to 6 equ PS_EDT_CSS_POS_CURRENT$ to 7 /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Cell EDITMODE equates // // Note that DISABLED, PROTECTED and READONLY can apply to a checkbox, // but they are mainly aimed at normal edit/dropdown cells equ PS_EDT_EM_DEFAULT$ to -1 ; // Resets the editmode to the col/row default equ PS_EDT_EM_DISABLED$ to 0 ; // Gray Text, Gray Background equ PS_EDT_EM_PROTECTED$ to 1 ; // Normal Text, Normal Background equ PS_EDT_EM_READONLY$ to 2 ; // Normal Text, Gray Background equ PS_EDT_EM_ENABLED$ to 3 ; // Normal Text, Normal Background /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // COL/ROWSELECTMODE equates equ PS_EDT_SM_NONE$ to 0; // Row/Column select mode disabled equ PS_EDT_SM_SINGLE$ to 1; // Single Row/Column select mode equ PS_EDT_SM_TOGGLE$ to 2; // Single "Toggle" Row/Column select mode equ PS_EDT_SM_MULTI$ to 3; // Multi-Row/Column select mode /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // GRIDSTYLE equates equ PS_EDT_GS_NONE$ to 0; // No grid equ PS_EDT_GS_HORZ$ to 1; // Horizontal lines only equ PS_EDT_GS_VERT$ to 2; // Vertical lines only equ PS_EDT_GS_BOTH$ to 3; // Horizontal and vertical lines /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // CLICKPOS equates equ PS_EDT_CP_EMPTY$ to 0 equ PS_EDT_CP_COLHEADER$ to 1 equ PS_EDT_CP_GRIDLINE$ to 2 equ PS_EDT_CP_CELL$ to 3 equ PS_EDT_CP_ROWHEADER$ to 4 /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // ROWEVENTMODE equates equ PS_EDT_REV_PREHANDLER$ to 0 ; // v9 style INSERTROW/DELETEROW processing equ PS_EDT_REV_POSTHANDLER$ to 1 ; // v10 style INSERTROW/DELETEROW processing /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // COLHEADERSORTINGMODE equates equ PS_EDT_CHSM_DISABLED$ to 0 equ PS_EDT_CHSM_SINGLECLICK$ to 1 equ PS_EDT_CHSM_DOUBLECLICK$ to 2 /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // FOCUSRECTSTYLE equates equ PS_EDT_FRS_DEFAULT$ to -1 equ PS_EDT_FRS_DOTTED$ to 0 equ PS_EDT_FSR_SOLID$ to 1 /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // FOCUSRECTWEIGHT equates equ PS_EDT_FRW_DEFAULT$ to -1 ; // 1px or SYSTEM equ PS_EDT_FRW_MIN$ to 1 equ PS_EDT_FSR_MAX$ to 3 /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // SELECTIONSTYLE equates - determines if the non-header items in the // edit table are painted in the classic Listbox style (solid fill), or in // TreeView style (lighter color) // // Note that with some renderers (Classic and XP) the ListBox and TreeView // items are painted in the same style so the SELECTIONSTYLE has no effect. equ PS_EDT_SS_AUTO$ to 0; // Use the renderer default equ PS_EDT_SS_LISTBOX$ to 1; // Render as normal ListBox items equ PS_EDT_SS_TREEVIEW$ to 2; // Render as per Treeview items // (if supported by the renderer) /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // AUTOTRIMOPTIONS equates // // <1> If TRUE$ then treat whitespace as data // <2> 2> If TRUE$ then don't leave a trailing blank row // <3> If TRUE$ then scan all rows, not just the trailing ones equ PS_EDT_AT_WHITESPACEISDATA$ to 1; equ PS_EDT_AT_NOTRAILINGROWS$ to 2; equ PS_EDT_AT_SCANALLROWS$ to 3; // Deprecated - do not use - incorrect name *** equ PS_EDT_AT_LEAVETRAILINGROW$ to PS_EDT_AT_NOTRAILINGROWS$ /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // MULTILINEDELIM equates // equ PS_EDT_MLD_DEFAULT$ to 0; // CRLF equ PS_EDT_MLD_SVM$ to 1; // @svm equ PS_EDT_MLD_TM$ to 2; // @tm /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // SORT method // // call exec_Method( ctrlEntID, "SORT", sortCriteria, sortOptions ) // // sortCriteria === // // This argument is comprised of three fields that form an an AMV // group. // // <0,1> @svm'd list of columns to sort by // <0,2> @svm'd list of sorting directions/justification // // 0 - Descending Left // 1 - Ascending Left // 2 - Descending Right // 3 - Ascending Right // // <0,3> @svm'd list of ICONV patterns // equ EGSC_POS_SORTCOLS$ to 1 equ EGSC_POS_SORTDIRS$ to 2 equ EGSC_POS_SORTCONV$ to 3 equ EGSC_SORT_DESCLEFT$ to 0 equ EGSC_SORT_ASCLEFT$ to 1 equ EGSC_SORT_DESCRIGHT$ to 2 equ EGSC_SORT_ASCRIGHT$ to 3 // sortOptions === // // This argument specifies the options for the SORT. // // <0,1> If TRUE$ then exceute the TRIM method before the sorting // operation takes place, respecting the TRIMOPTIONS // property settings // equ EGSC_SORT_OPT_TRIM$ to 1 /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Style equates (Properties held in window style bits in // PSPOS_SDKSTYLE$ <0,0,1>) // Old v9 (DataTbl) equates for reference and mapping equ DTS_NONE$ to 0x00000000; equ DTS_VIRTUALMEM$ to 0x00000001; equ DTS_EDIT$ to 0x00000004; equ DTS_RESIZE$ to 0x00000008; equ DTS_NUMBERS$ to 0x00000010; equ DTS_LETTERS$ to 0x00000020; equ DTS_OWNERDEF$ to 0x00000030; // This is the default in v9 equ DTS_HGRID$ to 0x00000040; equ DTS_VGRID$ to 0x00000080; equ DTS_ROWSELECT$ to 0x00000100; equ DTS_MULTIROW$ to 0x00000200; equ DTS_COLSELECT$ to 0x00000400; equ DTS_MULTICOL$ to 0x00000800; equ DTS_SCROLLNOHIDE$ to 0x00001000; equ DTS_ROWBUTTONS$ to 0x00002000; equ DTS_ROWNUMBERS$ to 0x00004000; equ DTS_DROPDOWN$ to 0x00008000; equ DTS_AUTODROPDN$ to 0x00008002; equ DTS_GRID$ to bitOr( DTS_HGRID$, DTS_VGRID$ ) //////////////////////////////////////////////////////////////////////////// // V10 (EditGrid) equates equ ETS_AUTOAPPENDROW$ to 0x00000001; equ ETS_AUTOTRIMROWS$ to 0x00000002; equ ETS_EDIT$ to 0x00000004; equ ETS_AUTOTRIMWSOK$ to 0x00000008; // Treat whitespace as data for autotrim equ ETS_COLHEADERS$ to 0x00000010; equ ETS_AUTOTRIMDELALL$ to 0x00000020; // Don't leave a blank row after the last row equ ETS_HGRID$ to 0x00000040; equ ETS_VGRID$ to 0x00000080; equ ETS_ROWSELECT$ to 0x00000100; equ ETS_MULTIROWSELECT$ to 0x00000200; equ ETS_COLSELECT$ to 0x00000400; equ ETS_MULTICOLSELECT$ to 0x00000800; equ ETS_SCROLLNOHIDE$ to 0x00001000; equ ETS_ROWBUTTONS$ to 0x00002000; equ ETS_ROWNUMBERS$ to 0x00004000; equ ETS_UNUSED_BIT16$ to 0x00008000; equ ETS_COLTOGGLESELECT$ to bitOr( ETS_COLSELECT$, ETS_MULTICOLSELECT$ ) equ ETS_ROWTOGGLESELECT$ to bitOr( ETS_ROWSELECT$, ETS_MULTIROWSELECT$ ) equ ETS_GRID$ to bitOr( ETS_HGRID$, ETS_VGRID$ ) /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // EditGrid Cell styles equ ETCLS_LEFT$ to 0x00000000; equ ETCLS_DISABLED$ to 0x00000001; // Used in header for ETCHS_HIDDEN equ ETCLS_PROTECTED$ to 0x00000002; // Used in header for ETCHS_RESIZE equ ETCLS_SKIPPED$ to 0x00000004; // Used in header for EGCHS_SORTASCEND equ ETCLS_AUTOEDIT$ to 0x00000008; // Used in header for EGCHS_SORTDESCEND equ ETCLS_CENTER$ to 0x00000010; equ ETCLS_RIGHT$ to 0x00000020; equ ETCLS_VCENTER$ to 0x00000040; equ ETCLS_VBOTTOM$ to 0x00000080; equ ETCLS_LOWERCASE$ to 0x00000100; equ ETCLS_UPPERCASE$ to 0x00000200; equ ETCLS_PASSWORD$ to 0x00000400; equ ETCLS_DRAWHTML$ to 0x00000800; equ ETCLS_SHOWELLIPSES$ to 0x00001000; equ ETCLS_MULTILINE$ to 0x00002000; equ ETCLS_WORDWRAP$ to 0x00004000; equ ETCLS_AUTOSCROLL$ to 0x00008000; equ ETCLS_VSCROLL$ to 0x00010000; equ ETCLS_HSCROLL$ to 0x00020000; equ ETCLS_BUTTON$ to 0x00040000; equ ETCLS_DROPDOWN$ to 0x00080000; equ ETCLS_DROPDOWNEDIT$ to 0x00100000; equ ETCLS_OPTIONSBUTTON$ to 0x00200000; equ ETCLS_CHECKBOX$ to 0x00400000; equ ETCLS_CHKRIGHT$ to 0x00800000; equ ETCLS_CHKCENTER$ to 0x01000000; equ ETCLS_GLYPHCENTER$ to 0x02000000; equ ETCLS_GLYPHRIGHT$ to 0x04000000; equ ETCLS_GLYPHVCENTER$ to 0x08000000; equ ETCLS_GLYPHVBOTTOM$ to 0x10000000; equ ETCLS_ENABLEDRAG$ to 0x20000000; equ ETCLS_ENABLEDROP$ to 0x40000000; equ ETCLS_MANUALDROPDOWN$ to 0x80000000; equ ETCLS_READONLY$ to ( ETCLS_DISABLED$ + ETCLS_PROTECTED$ ); equ ETCLS_EDITMODE_MASK$ to ( ETCLS_READONLY$ ); equ ETCLS_TEXTALIGN_MASK$ to ( ETCLS_CENTER$ + ETCLS_RIGHT$ + ETCLS_VCENTER$ + ETCLS_VBOTTOM$ ); equ ETCLS_TEXTCASE_MASK$ to ( ETCLS_LOWERCASE$ + ETCLS_UPPERCASE$ ); equ ETCLS_CHECKBOX_MASK$ to ( ETCLS_CHECKBOX$ + ETCLS_CHKRIGHT$ + ETCLS_CHKCENTER$ ); equ ETCLS_GLYPHALIGN_MASK$ to ( ETCLS_GLYPHCENTER$ + ETCLS_GLYPHRIGHT$ + ETCLS_GLYPHVCENTER$ + ETCLS_GLYPHVBOTTOM$ ); equ ETCLS_SCROLLBARS_MASK$ to ( ETCLS_VSCROLL$ + ETCLS_HSCROLL$ ); equ ETCLS_DROPDOWN_MASK$ to ( ETCLS_DROPDOWN$ + ETCLS_DROPDOWNEDIT$ ); //////////////////////////////////////////////////////////////////////////// // EditGrid Header Cell styles - these are mapped into normal cell styles // for the most part. This is to avoid having to write virtual functions // for the Header cells to handle TextAlign, DrawHTML and so on. equ ETCHS_LEFT$ to ETCLS_LEFT$; equ ETCHS_HIDDEN$ to 0x00000001; equ ETCHS_RESIZE$ to 0x00000002; equ ETCHS_UNUSED_BIT3$ to 0x00000004; equ ETCHS_UNUSED_BIT4$ to 0x00000008; equ ETCHS_CENTER$ to ETCLS_CENTER$; equ ETCHS_RIGHT$ to ETCLS_RIGHT$; equ ETCHS_VCENTER$ to ETCLS_VCENTER$; equ ETCHS_VBOTTOM$ to ETCLS_VBOTTOM$; equ ETCHS_UNUSED_BIT09$ to 0x00000100; equ ETCHS_UNUSED_BIT10$ to 0x00000200; equ ETCHS_UNUSED_BIT11$ to 0x00000400; equ ETCHS_DRAWHTML$ to ETCLS_DRAWHTML$; equ ETCHS_SHOWELLIPSES$ to ETCLS_SHOWELLIPSES$; equ ETCHS_MULTILINE$ to ETCLS_MULTILINE$; equ ETCHS_WORDWRAP$ to ETCLS_WORDWRAP$; equ ETCHS_UNUSED_BIT16$ to 0x00008000; equ ETCHS_UNUSED_BIT17$ to 0x00010000; equ ETCHS_UNUSED_BIT18$ to 0x00020000; equ ETCHS_UNUSED_BIT19$ to 0x00040000; equ ETCHS_UNUSED_BIT20$ to 0x00080000; equ ETCHS_UNUSED_BIT21$ to 0x00100000; equ ETCHS_UNUSED_BIT22$ to 0x00200000; equ ETCHS_CHECKBOX$ to ETCLS_CHECKBOX$; equ ETCHS_CHKRIGHT$ to ETCLS_CHKRIGHT$; equ ETCHS_CHKCENTER$ to ETCLS_CHKCENTER$; equ ETCHS_GLYPHCENTER$ to ETCLS_GLYPHCENTER$; equ ETCHS_GLYPHRIGHT$ to ETCLS_GLYPHRIGHT$; equ ETCHS_GLYPHVCENTER$ to ETCLS_GLYPHVCENTER$; equ ETCHS_GLYPHVBOTTOM$ to ETCLS_GLYPHVBOTTOM$; equ ETCHS_UNUSED_BIT29$ to 0x20000000; equ ETCHS_UNUSED_BIT30$ to 0x40000000; // equ ETCHS_IMAGESTRETCH$ to ETCLS_IMAGESTRETCH$; equ ETCHS_TEXTALIGN_MASK$ to ( ETCHS_CENTER$ + ETCHS_RIGHT$ + ETCHS_VCENTER$ + ETCHS_VBOTTOM$ ); equ ETCHS_CHECKBOX_MASK$ to ( ETCHS_CHECKBOX$ + ETCHS_CHKRIGHT$ + ETCHS_CHKCENTER$ ); equ ETCHS_GLYPHALIGN_MASK$ to ( ETCHS_GLYPHCENTER$ + ETCHS_GLYPHRIGHT$ + ETCHS_GLYPHVCENTER$ + ETCHS_GLYPHVBOTTOM$ ); //////////////////////////////////////////////////////////////////////////// // These are for mapping from the old DataTbl.dll for v9 EditTables // being loaded in legacy mode equ DTCS_RESIZE$ to 0x00000001; equ DTCS_FIXED$ to 0x00000002; // NOT USED equ DTCS_EDIT$ to 0x00000004; equ DTCS_PROTECT$ to 0x00000008; equ DTCS_UPPERCASE$ to 0x00000010; equ DTCS_HIDDEN$ to 0x00000020; equ DTCS_LEFT$ to 0x00000000; equ DTCS_CENTER$ to 0x00000040; equ DTCS_RIGHT$ to 0x00000080; equ DTCS_HEADCENTER$ to 0x00000100; equ DTCS_HEADRIGHT$ to 0x00000200; equ DTCS_VSCROLL$ to 0x00000400; equ DTCS_HSCROLL$ to 0x00000800; equ DTCS_SKIPPED$ to 0x00001000; equ DTCS_LOCKED$ to 0x00002000; // NOT USED equ DTCS_SORTASC$ to 0x00004000; // NOT USED equ DTCS_SORTDES$ to 0x00008000; // NOT USED equ DTCS_CHECKBOX$ to 0x00010000; equ DTCS_DROPDOWN$ to 0x00020000; equ DTCS_HEADMULTI$ to 0x00040000; equ DTCS_CHKRIGHT$ to 0x00080000; // Right-aligned CheckBoxes equ DTCS_VALIGNCENTER$ to 0x00100000; equ DTCS_VALIGNBOTTOM$ to 0x00200000; equ DTCS_DROPDOWNEDIT$ to 0x00400000; equ DTCS_OPTIONSBUTTON$ to 0x00800000; equ DTCS_ENABLEDROPDOWNDRAG$ to 0x01000000; // Can drag from Drop down LIST <- not supported in v10 equ DTCS_MULTILINE$ to 0x02000000; equ DTCS_AUTOVSCROLL$ to 0x04000000; equ DTCS_AUTOHSCROLL$ to 0x08000000; equ DTCS_ENABLEDRAG$ to 0x10000000; equ DTCS_ENABLEDROP$ to 0x20000000; equ DTCS_CHKCENTER$ to 0x40000000; equ DTCS_RESERVED$ to 0x80000000; // Do not use for row and cell styles equ DTCS_BTNRIGHT$ to DTCS_CHKRIGHT$; equ DTCS_BTNCENTER$ to DTCS_CHKCENTER$; equ DTCS_TEXTALIGN_MASK$ to ( DTCS_CENTER$ + DTCS_RIGHT$ + DTCS_VALIGNCENTER$ + DTCS_VALIGNBOTTOM$ ); equ DTCS_HEADTEXTALIGN_MASK$ to ( DTCS_HEADCENTER$ + DTCS_HEADRIGHT$ ); equ DTCS_SCROLLBARS_MASK$ to ( DTCS_VSCROLL$ + DTCS_HSCROLL$ ); equ DTCS_CHECKBOXSTYLE_MASK$ to ( DTCS_CHECKBOX$ + DTCS_CHKRIGHT$ + DTCS_CHKCENTER$ ); // Row styles equ DTRS_LABELLEFT$ to 0x00000100; // Hijacked DTCS_HEADCENTER equ DTRS_LABELCENTER$ to 0x00000000; // The default .... equ DTRS_LABELRIGHT$ to 0x00000200; // Hijacked DTCS_HEADRIGHT equ DTRS_HEADTEXTALIGN_MASK$ to bitOr( DTRS_LABELLEFT$, DTRS_LABELRIGHT$ ); /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // PS Style equates (Properties held in window style bits in // PSPOS_PSSTYLE$ <0,0,1>) equ PSS_EDT_HOTTRACKCELL$ to 0x00000001; equ PSS_EDT_HIGHLIGHTHEADERS$ to 0x00000002; equ PSS_EDT_COLHDRSORTCLICK$ to 0x00000020; equ PSS_EDT_COLHDRSORTDBLCLK$ to 0x00000040; equ PSS_EDT_NOAUTOROWFILLING$ to 0x00000080; // SUPPRESSAUTOROWFILLING property equ PSS_EDT_AUTOTRIMSCANALL$ to 0x00000100; equ PSS_EDT_PRESERVEFORMATTING$ to 0x00000200; equ PSS_EDT_V10ROWEVENTMODE$ to 0x00000400; // ROWEVENTMODE property equ PSS_EDT_NOROWDRAGSELECT$ to 0x00000800; // ALLOWROWDRAGSELECT property (inverse) equ PSS_EDT_ALLOWDELETE$ to 0x00020000; // ALLOWROWDELETE property equ PSS_EDT_ALLOWINSERT$ to 0x00040000; // ALLOWROWINSERT property equ PSS_EDT_ALLOWLASTROWDELETE$ to 0x00080000; // ALLOWLASTROWDELETE property equ PSS_EDT_SORTTRIM$ to 0x00100000; // SORTTRIM property equ PSS_EDT_ENABLECOLDRAG$ to 0x00200000; // ALLOWCOLDRAG property equ PSS_EDT_ENABLEROWDRAG$ to 0x00400000; // ALLOWROWDRAG property equ PSS_EDT_NOAUTOSORTMARKERS$ to 0x08000000; // SUPPRESSAUTOSORTMARKERS property // Extended PS Style equates - (Properties held in window style bits in // PSPOS_PSSTYLE$ <0,0,2>) equ PSSX_EDT_HSCROLLBAR$ to 0x00000001 equ PSSX_EDT_VSCROLLBAR$ to 0x00000002 equ PSSX_EDT_DEFROWHEIGHTSET$ to 0x00000004 equ PSSX_EDT_COLHDRHEIGHTSET$ to 0x00000008 equ PSSX_EDT_ROWSTRIPE$ to 0x00000010 equ PSSX_EDT_ALLOWROWCLIPCOPY$ to 0x00000020 equ PSSX_EDT_ALLOWROWCLIPPASTE$ to 0x00000040 equ PSSX_EDT_ACCEPTRETURN$ to 0x00000200 equ PSSX_EDT_ALLOWRESETPREVPOS$ to 0x00000400 equ PSSX_EDT_SHOWSELNOFOCUS$ to 0x00000800 equ PSSX_EDT_SUPPRESSCELLTOOLTIPS$ to 0x00001000 equ PSSX_EDT_SVMMULTILINEDELIM$ to 0x00100000 equ PSSX_EDT_TMMULTILINEDELIM$ to 0x00200000 /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // SYSREPOSWINS structure overrides equ POS_EDT_LIST$ to POS_LIST$ ; // @svm/@tm-delimited equ POS_EDT_CFGINFO$ to POS_ROWLIMIT$ ; // @svm-delimited equ POS_EDT_COLHDRFONT$ to POS_LOGFONT_1$ ; // @svm-delimited equ POS_EDT_CELLSTYLES$ to POS_TEXT_10$ ; // @svm/@tm-delimited equ POS_EDT_GRIDLINECOLOR$ to POS_COLOR_1$ ; // Single color only - Not a gradient equ POS_EDT_EMPTYTEXT$ to POS_TEXT_14$ equ POS_EDT_GLYPHLIST$ to POS_IMGLIST_1$ equ POS_EDT_GLYPHLIST_PROPS$ to POS_IMGLIST_1_PROPS$ // Column positions - these form an "AMV group". Note that the original four // v9 fields were @tm delimited for some reason - All fields in the group are // now standardized to @svm. equ POS_EDT_COLLABELS$ to POS_LABEL$ ; // @svm-delimited equ POS_EDT_COLSTYLES$ to POS_COLSTYLES$ ; // @svm-delimited equ POS_EDT_COLDATALENS$ to POS_CHARCOUNT$ ; // @svm-delimited equ POS_EDT_COLDISPWIDTHS$ to POS_COLWIDE$ ; // @svm-delimited equ POS_EDT_HDRSTYLES$ to POS_TYPESPECIFIC$ ; // @svm-delimited equ POS_EDT_HDRFONTS$ to POS_TEXT_8$ ; // @svm/@tm-delimited equ POS_EDT_HDRTOOLTIPS$ to POS_TEXT_2$ ; // @svm-delimited equ POS_EDT_DROPDOWNLIST$ to POS_TEXT_3$ ; // @svm/@tm-delimited equ POS_EDT_COLFONTS$ to POS_TEXT_9$ ; // @svm/@tm-delimited equ POS_EDT_COLTOOLTIPS$ to POS_TEXT_4$ ; // @svm/@tm-delimited equ POS_EDT_CUEBANNERS$ to POS_TEXT_1$ ; // @svm-delimited equ POS_EDT_EDITMASKS$ to POS_TEXT_5$ ; // @svm/@tm-delimited equ POS_EDT_VALIDCHARS$ to POS_TEXT_6$ ; // @svm-delimited equ POS_EDT_COLBUTTONS$ to POS_TEXT_7$ ; // @svm/@tm-delimited (Text/Width) equ POS_EDT_COLCELLSTYLES$ to POS_TEXT_11$ ; // @svm/@tm/";" -delimited /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // SYSREPOSWINEXES structure overrides equ PSPOS_EDT_LIST$ to PSPOS_LIST$ ; // @svm/@tm-delimited equ PSPOS_EDT_CFGINFO$ to PSPOS_ROWLIMIT$ ; // @svm-delimited equ PSPOS_EDT_COLHDRFONT$ to PSPOS_LOGFONT_1$ ; // @svm-delimited equ PSPOS_EDT_CELLSTYLES$ to PSPOS_TEXT_10$ ; // @svm/@tm-delimited equ PSPOS_EDT_GRIDLINECOLOR$ to PSPOS_COLOR_1$ ; // Single color only - Not a gradient equ PSPOS_EDT_EMPTYTEXT$ to PSPOS_TEXT_14$ equ PSPOS_EDT_GLYPHLIST$ to PSPOS_IMGLIST_1$ equ PSPOS_EDT_GLYPHLIST_PROPS$ to PSPOS_IMGLIST_1_PROPS$ // Column positions - these form an "AMV group" (See POS_ equates above) equ PSPOS_EDT_COLLABELS$ to PSPOS_LABEL$ ; // @svm-delimited equ PSPOS_EDT_COLSTYLES$ to PSPOS_COLSTYLES$ ; // @svm-delimited equ PSPOS_EDT_COLDATALENS$ to PSPOS_CHARCOUNT$ ; // @svm-delimited equ PSPOS_EDT_COLDISPWIDTHS$ to PSPOS_COLWIDE$ ; // @svm-delimited equ PSPOS_EDT_HDRSTYLES$ to PSPOS_TYPESPECIFIC$ ; // @svm-delimited equ PSPOS_EDT_HDRFONTS$ to PSPOS_TEXT_8$ ; // @svm/@tm-delimited equ PSPOS_EDT_HDRTOOLTIPS$ to PSPOS_TEXT_2$ ; // @svm-delimited equ PSPOS_EDT_DROPDOWNLIST$ to PSPOS_TEXT_3$ ; // @svm/@tm-delimited equ PSPOS_EDT_COLFONTS$ to PSPOS_TEXT_9$ ; // @svm/@tm-delimited equ PSPOS_EDT_COLTOOLTIPS$ to PSPOS_TEXT_4$ ; // @svm/@tm-delimited equ PSPOS_EDT_CUEBANNERS$ to PSPOS_TEXT_1$ ; // @svm-delimited equ PSPOS_EDT_EDITMASKS$ to PSPOS_TEXT_5$ ; // @svm/@tm-delimited equ PSPOS_EDT_VALIDCHARS$ to PSPOS_TEXT_6$ ; // @svm-delimited equ PSPOS_EDT_COLBUTTONS$ to PSPOS_TEXT_7$ ; // @svm/@tm-delimited (Text/Width) equ PSPOS_EDT_COLCELLSTYLES$ to PSPOS_TEXT_11$ ; // @svm/@tm/";" -delimited /////////////////////////////////////////////////////////////////////////// // PSPOS_EDT_CFGINFO equates // // <0,0,1> Max Row Limit // <0,0,2> Auto resize Col // <0,0,3> RowStripe On Flag (Bool) // <0,0,4> RowStripe Odd Color // <0,0,5> RowStripe Even Color // <0,0,6> Column Header Height // <0,0,7> Row Height // <0,0,8> Row Header Width (used to be <0,0,1> in PSPOS_COLWIDE$ ) // <0,0,9> Edit Key // <0,0,10> Options Key // <0,0,11> Min Row Limit // <0,0,12> FocusRect Color // <0,0,13> FocusRect Style // <0,0,14> FocusRect Weight equ PS_EDT_CIPOS_MAXROWLIMIT$ to 1 ; // 0 for no max row limit (the default) equ PS_EDT_CIPOS_AUTOSIZECOL$ to 2 ; // 0 for no autosizing (the default) equ PS_EDT_CIPOS_ROWSTRIPE$ to 3 ; // T/F - default is F equ PS_EDT_CIPOS_ROWSTRIPEODDCOLOR$ to 4 ; // COLORREF equ PS_EDT_CIPOS_ROWSTRIPEEVENCOLOR$ to 5 ; // COLORREF equ PS_EDT_CIPOS_COLHDRHEIGHT$ to 6 ; // 0 to use default (font-based) equ PS_EDT_CIPOS_COLROWHEIGHT$ to 7 ; // 0 to use default (font-based) equ PS_EDT_CIPOS_ROWHEADERWIDTH$ to 8 ; // null to use default (40px) equ PS_EDT_CIPOS_EDITKEY$ to 9 ; // Defaults to F2 equ PS_EDT_CIPOS_OPTIONSKEY$ to 10 ; // Defaults to F4 equ PS_EDT_CIPOS_MINROWLIMIT$ to 11 ; // 0 for no min row limit (the default) equ PS_EDT_CIPOS_FOCUSRECTCOLOR$ to 12 ; // COLOROREF equ PS_EDT_CIPOS_FOCUSRECTSTYLE$ to 13 ; // 0, 1 (Dotted,Solid) equ PS_EDT_CIPOS_FOCUSRECTWEIGHT$ to 14 ; // 1-3 /////////////////////////////////////////////////////////////////////////// // PSPOS_EDT_CELLSTYLES$ equates // // This field contains the default CELLSTYLE for each state. There are // three groups of CELLSTYLES. One for each of: // // 1) Data Cells // 2) Column Header Cells // 3) Row Header Cells // // <0,0,1> Normal cell CELLSTYLE <- always NULL (we use the normal FONT,FORECOLOR etc properties for this // <0,0,2> Hot cell CELLSTYLE // <0,0,3> Disabled cell CELLSTYLE // <0,0,4> Selected cell CELLSTYLE // <0,0,5> HotSelected cell CELLSTYLE // <0,0,6> SelectedNoFocus cell CELLSTYLE // <0,0,7> Current cell CELLSTYLE // // <0,0,11> Normal col header cell CELLSTYLE // <0,0,12> Hot col header cell CELLSTYLE // <0,0,13> Disabled col header cell CELLSTYLE // <0,0,14> Selected col header cell CELLSTYLE // <0,0,15> HotSelected col header cell CELLSTYLE // <0,0,16> SelectedNoFocus col header cell CELLSTYLE // <0,0,17> Currrent cell CELLSTYLE // // <0,0,21> Normal row header cell CELLSTYLE // <0,0,22> Hot row header cell CELLSTYLE // <0,0,23> Disabled row header cell CELLSTYLE // <0,0,24> Selected row header cell CELLSTYLE // <0,0,25> HotSelected row header cell CELLSTYLE // <0,0,26> SelectedNoFocus row header cell CELLSTYLE // <0,0,27> Current cell CELLSTYLE // // Each CELLSTYLE in these subvalues is an @tm delimited structure as // noted above, i.e. // // <0,0,0,1> ForeColor (COLORREF) // <0,0,0,2> BackColor From (COLORREF) // <0,0,0,3> BackColor To (COLORREF) // <0,0,0,4> Bold TRUE$/FALSE$ // <0,0,0,5> Italic TRUE$/FALSE$ // <0,0,0,6> Underline TRUE$/FALSE$ // <0,0,0,7> Translucency (0-100) // <0,0,0,8> GlyphIndex (>=0) equ PS_EDT_DCCSPOS_NORMAL$ to 1 ; equ PS_EDT_DCCSPOS_START$ to PS_EDT_DCCSPOS_NORMAL$ equ PS_EDT_DCCSPOS_HOT$ to 2 equ PS_EDT_DCCSPOS_DISABLED$ to 3 equ PS_EDT_DCCSPOS_SELECTED$ to 4 equ PS_EDT_DCCSPOS_HOTSELECTED$ to 5 equ PS_EDT_DCCSPOS_SELECTNOFOCUS$ to 6 equ PS_EDT_DCCSPOS_CURRENT$ to 7 ; equ PS_EDT_DCCSPOS_END$ to PS_EDT_DCCSPOS_CURRENT$ // ------------------------------------------------- equ PS_EDT_CHCSPOS_NORMAL$ to 11 ; equ PS_EDT_CHCSPOS_START$ to PS_EDT_CHCSPOS_NORMAL$ equ PS_EDT_CHCSPOS_HOT$ to 12 equ PS_EDT_CHCSPOS_DISABLED$ to 13 equ PS_EDT_CHCSPOS_SELECTED$ to 14 equ PS_EDT_CHCSPOS_HOTSELECTED$ to 15 equ PS_EDT_CHCSPOS_SELECTNOFOCUS$ to 16 equ PS_EDT_CHCSPOS_CURRENT$ to 17 ; equ PS_EDT_CHCSPOS_END$ to PS_EDT_CHCSPOS_CURRENT$ // ------------------------------------------------- equ PS_EDT_RHCSPOS_NORMAL$ to 21 ; equ PS_EDT_RHCSPOS_START$ to PS_EDT_RHCSPOS_NORMAL$ equ PS_EDT_RHCSPOS_HOT$ to 22 equ PS_EDT_RHCSPOS_DISABLED$ to 23 equ PS_EDT_RHCSPOS_SELECTED$ to 24 equ PS_EDT_RHCSPOS_HOTSELECTED$ to 25 equ PS_EDT_RHCSPOS_SELECTNOFOCUS$ to 26 equ PS_EDT_RHCSPOS_CURRENT$ to 27 ; equ PS_EDT_RHCSPOS_END$ to PS_EDT_RHCSPOS_CURRENT$ /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // INSERT column equates - structure definition for inserting columns // // <1> Header Text (v9 COLLABEL) // <2> Style (v9 COLSTYLE) ETCLS_ styles (or DTCS_ for v9) // <3> Data Length (v9 COLCHARS) // <4> Display Width (v9 COLWIDTH) // <5> Header Style ETCHS_ styles // <6> Header Font // <7> Header ToolTip // <8> Cell DropDown List // <9> Cell Font // <10> Cell ToolTip // <11> Cell CueBanner // <12> Cell EditMask (@vm delimited) // <13> Cell ValidChars // <14> Cell ButtonText/Width (@vm delimited) equ PS_EDT_INSPOS_HEADERTEXT$ to 1 equ PS_EDT_INSPOS_CELLSTYLE$ to 2 equ PS_EDT_INSPOS_DATALEN$ to 3 equ PS_EDT_INSPOS_DISPWIDTH$ to 4 equ PS_EDT_INSPOS_HEADERSTYLE$ to 5 equ PS_EDT_INSPOS_HEADERFONT$ to 6 ; // @svm delimited equ PS_EDT_INSPOS_HEADERHELPTEXT$ to 7 equ PS_EDT_INSPOS_DROPDOWNLIST$ to 8 ; // @vm delimited equ PS_EDT_INSPOS_FONT$ to 9 equ PS_EDT_INSPOS_HELPTEXT$ to 10 equ PS_EDT_INSPOS_CUEBANNER$ to 11 equ PS_EDT_INSPOS_EDITMASK$ to 12 ; // @vm delimited equ PS_EDT_INSPOS_VALIDCHARS$ to 13 equ PS_EDT_INSPOS_BUTTONTEXT$ to 14 // However, both style fields can be substituted for an @vm'd array of // property values if it makes life easier // // Column Style (field<2>) can be an @vm'd array structured like so: // // <0,1> CellType CELLTYPE property // <0,2> EditMode EDITMODE property // <0,3> TextAlign TEXTALIGN property // <0,4> TextCase TEXTCASE property // <0,5> CheckBoxAlign TEXTALIGN // <0,6> OptionsButton 1/0 // <0,7> PasswordStyle 1/0 // <0,8> DrawHTML 1/0 // <0,9> ShowEllipses 1/0 // <0,10> Multiline 1/0 // <0,11> ScrollBars SCROLLBARS property // <0,12> AutoScroll 1/0 // <0,13> WordWrap 1/0 // <0,14> GlyphAlign IMAGEALIGN property // <0,15> AutoEdit 1/0 // <0,16> Skipped 1/0 // <0,17> EnableDrag 1/0 // <0,18> EnableDrop 1/0 equ PS_EDT_CCSPOS_CELLTYPE$ to 1 equ PS_EDT_CCSPOS_EDITMODE$ to 2 equ PS_EDT_CCSPOS_TEXTALIGN$ to 3 equ PS_EDT_CCSPOS_TEXTCASE$ to 4 equ PS_EDT_CCSPOS_CHECKBOXALIGN$ to 5 equ PS_EDT_CCSPOS_OPTIONSBUTTON$ to 6 equ PS_EDT_CCSPOS_PASSWORDSTYLE$ to 7 equ PS_EDT_CCSPOS_DRAWHTML$ to 8 equ PS_EDT_CCSPOS_SHOWELLIPSES$ to 9 equ PS_EDT_CCSPOS_MULTILINE$ to 10 equ PS_EDT_CCSPOS_SCROLLBARS$ to 11 equ PS_EDT_CCSPOS_AUTOSCROLL$ to 12 equ PS_EDT_CCSPOS_WORDWRAP$ to 13 equ PS_EDT_CCSPOS_GLYPHALIGN$ to 14 equ PS_EDT_CCSPOS_AUTOEDIT$ to 15 equ PS_EDT_CCSPOS_SKIPPED$ to 16 equ PS_EDT_CCSPOS_ENABLEDRAG$ to 17 equ PS_EDT_CCSPOS_ENABLEDROP$ to 18 // Header Style (field<4>) can be an @vm'd array structured like so: // // <0,1> CellType Header CELLTYPE property // <0,2> Hidden 1/0 // <0,3> Resizable 1/0 // <0,4> TextAlign TEXTALIGN property // <0,5> CheckBoxAlign TEXTALIGN // <0,6> DrawHTML 1/0 // <0,7> ShowEllipses 1/0 // <0,8> Multiline 1/0 // <0,9> WordWrap 1/0 // <0,10> GlyphALign IMAGEALIGN property equ PS_EDT_CHSPOS_CELLTYPE$ to 1 equ PS_EDT_CHSPOS_HIDDEN$ to 2 equ PS_EDT_CHSPOS_RESIZABLE$ to 3 equ PS_EDT_CHSPOS_TEXTALIGN$ to 4 equ PS_EDT_CHSPOS_CHECKBOXALIGN$ to 5 equ PS_EDT_CHSPOS_DRAWHTML$ to 6 equ PS_EDT_CHSPOS_SHOWELLIPSES$ to 7 equ PS_EDT_CHSPOS_MULTILINE$ to 8 equ PS_EDT_CHSPOS_WORDWRAP$ to 9 equ PS_EDT_CHSPOS_GLYPHALIGN$ to 10 /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // DELETEROW event // InsInfo parameter constants // // <0,1> TRUE$ if the DELETEROW event was triggered from a WM_CUT // operation equ PS_EDT_DELINFOPOS_FROMCUT$ to 1 /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // INSERTROW event // InsInfo parameter constants // // <0,1> TRUE$ if the INSERTROW event was triggered from a WM_PASTE // operation equ PS_EDT_INSINFOPOS_FROMPASTE$ to 1 /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // CELLPOSCHANGED context flags equ PS_EDT_CTF_NONE$ to 0x00000000; equ PS_EDT_CTF_KEYSTROKE$ to 0x00000001; equ PS_EDT_CTF_MOUSECLICK$ to 0x00000002; /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// #endif /////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////