home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
mod201j.zip
/
modula2.exe
/
os2api
/
winstdcn.def
< prev
next >
Wrap
Text File
|
1995-02-19
|
37KB
|
698 lines
DEFINITION MODULE WINSTDCNR;
(************************************************************************
OS/2 2.0 interface for Presentation Manager
CUA container control class.
19.02.95 16.36 Bugs fixed : CDATE CTIME
Copyright (c) 1992 by Juergen Neuhoff
*************************************************************************)
(*$XL+ Modula-2 language extensions: '_' allowed for symbol names *)
(*$CDECL+ C-style procedures *)
(*$A default alignment for record fields *)
FROM OS2DEF IMPORT TYPEPREFIX, HBITMAP, POINTL, PSZ, HWND, RECTL, HPS;
FROM WINDEF IMPORT PVOID;
FROM GPIDEF IMPORT SIZEL;
FROM WINPOINTERS IMPORT HPOINTER;
FROM WINSTDDRAG IMPORT PDRAGINFO;
(*************************************************************************)
(* Error constants *)
(*************************************************************************)
CONST
PMERR_NOFILTERED_ITEMS = 1F02H;
PMERR_COMPARISON_FAILED = 1F03H;
PMERR_RECORD_CURRENTLY_INSERTED = 1F04H;
PMERR_FI_CURRENTLY_INSERTED = 1F05H;
(*************************************************************************)
(* Container control styles. *)
(*************************************************************************)
CONST
CCS_EXTENDSEL = 00000001H;
CCS_MULTIPLESEL = 00000002H;
CCS_SINGLESEL = 00000004H;
CCS_AUTOPOSITION = 00000008H;
CCS_VERIFYPOINTERS = 00000010H;
CCS_READONLY = 00000020H;
CCS_MINIRECORDCORE = 00000040H;
(*************************************************************************)
(* view identifiers (flWindowAttr) *)
(*************************************************************************)
CONST
CV_TEXT = 00000001H; (* text view *)
CV_NAME = 00000002H; (* name view *)
CV_ICON = 00000004H; (* icon view *)
CV_DETAIL = 00000008H; (* detail view *)
CV_FLOW = 00000010H; (* flow items *)
CV_MINI = 00000020H; (* use mini icon *)
CV_TREE = 00000040H; (* tree view *)
(*************************************************************************)
(* Container Attributes (flWindowAttr) *)
(*************************************************************************)
CONST
CA_CONTAINERTITLE = 00000200H;
CA_TITLESEPARATOR = 00000400H;
CA_TITLELEFT = 00000800H;
CA_TITLERIGHT = 00001000H;
CA_TITLECENTER = 00002000H;
CA_OWNERDRAW = 00004000H;
CA_DETAILSVIEWTITLES = 00008000H;
CA_ORDEREDTARGETEMPH = 00010000H;
CA_DRAWBITMAP = 00020000H;
CA_DRAWICON = 00040000H;
CA_TITLEREADONLY = 00080000H;
CA_OWNERPAINTBACKGROUND = 00100000H;
CA_MIXEDTARGETEMPH = 00200000H;
CA_TREELINE = 00400000H;
(*************************************************************************)
(* child window IDs *)
(*************************************************************************)
CONST
CID_LEFTCOLTITLEWND = 7FF0H; (* column title (left) *)
CID_RIGHTCOLTITLEWND = 7FF1H; (* right column title *)
CID_BLANKBOX = 7FF2H; (* blank box at bottom right *)
CID_HSCROLL = 7FF3H; (* horizontal scroll bar *)
CID_RIGHTHSCROLL = 7FF4H; (* right horz scroll bar *)
CID_CNRTITLEWND = 7FF5H; (* Container title window *)
CID_LEFTDVWND = 7FF7H; (* Left Details View window *)
CID_RIGHTDVWND = 7FF8H; (* Right Details View window *)
CID_VSCROLL = 7FF9H; (* vertical scroll bar *)
CID_MLE = 7FFAH; (* MLE window for direct edit*)
(*************************************************************************)
(* Bitmap descriptor array element. *)
(*************************************************************************)
TYPE
TREEITEMDESC = RECORD (* treend *)
CASE : TYPEPREFIX OF
| TRUE :
hbmExpanded : HBITMAP;
hbmCollapsed : HBITMAP;
hptrExpanded : HPOINTER;
hptrCollapsed : HPOINTER;
| FALSE :
ExpandedBitMapHandle : HBITMAP;
CollapsedBitMapHandle : HBITMAP;
ExpandedPointerHandle : HPOINTER;
CollapsedPointerHandle : HPOINTER;
END; END;
PTREEITEMDESC = POINTER TO TREEITEMDESC;
(*************************************************************************)
(* Field Info data structure, attribute and data types, CV_DETAIL *)
(*************************************************************************)
TYPE
PFIELDINFO = POINTER TO FIELDINFO;
FIELDINFO = RECORD (* fldinfo *)
CASE : TYPEPREFIX OF
| TRUE :
cb : LONGCARD; (* size of FIELDINFO struct *)
flData : LONGCARD; (* attributes of field's data *)
flTitle : LONGCARD; (* attributes of field's title *)
pTitleData : PVOID; (* title data (default is string) *)
(* If CFT_BITMAP, must be HBITMAP *)
offStruct : LONGCARD; (* offset from RECORDCORE to data *)
pUserData : PVOID; (* pointer to user data *)
pNextFieldInfo : PFIELDINFO;(* pointer to next linked *)
(* FIELDINFO structure *)
cxWidth : LONGCARD; (* width of field in pels *)
| FALSE :
Size : LONGCARD; (* size of FIELDINFO struct *)
DataFlags : LONGCARD; (* attributes of field's data *)
TitleFlags : LONGCARD; (* attributes of field's title *)
TitleData : PVOID; (* title data (default is string) *)
(* If CFT_BITMAP, must be HBITMAP *)
StructOffset : LONGCARD; (* offset from RECORDCORE to data *)
UserData : PVOID; (* pointer to user data *)
NextFieldInfo : PFIELDINFO;(* pointer to next linked *)
(* FIELDINFO structure *)
Width : LONGCARD; (* width of field in pels *)
END; END;
(*************************************************************************)
(* RECORDCORE data structure , attribute values *)
(*************************************************************************)
TYPE
PRECORDCORE = POINTER TO RECORDCORE;
RECORDCORE = RECORD (* recc *)
CASE : TYPEPREFIX OF
| TRUE :
cb : LONGCARD;
flRecordAttr : LONGCARD; (* record attributes *)
ptlIcon : POINTL; (* Position of CV_ICON item *)
preccNextRecord : PRECORDCORE; (* ptr to next record *)
pszIcon : PSZ; (* Text for CV_ICON view *)
hptrIcon : HPOINTER; (* Icon to display for ~CV_MINI *)
hptrMiniIcon : HPOINTER; (* Icon to display for CV_MINI *)
hbmBitmap : HBITMAP; (* Bitmap to display for ~CV_MINI*)
hbmMiniBitmap : HBITMAP; (* Bitmap to display for CV_MINI *)
pTreeItemDesc : PTREEITEMDESC;(* Icons for the tree view *)
pszText : PSZ; (* Text for CV_TEXT view *)
pszName : PSZ; (* Text for CV_NAME view *)
pszTree : PSZ; (* Text for CV_TREE view *)
| FALSE :
Size : LONGCARD;
RecordAttr : LONGCARD; (* record attributes *)
IconPos : POINTL; (* Position of CV_ICON item *)
NextRecord : PRECORDCORE; (* ptr to next record *)
IconText : PSZ; (* Text for CV_ICON view *)
IconPointerHandle : HPOINTER; (* Icon to display for ~CV_MINI *)
MiniIconPointerHandle : HPOINTER; (* Icon to display for CV_MINI *)
BitMapHandle : HBITMAP; (* Bitmap to display for ~CV_MINI*)
MiniBitmapHandle : HBITMAP; (* Bitmap to display for CV_MINI *)
TreeItemDesc : PTREEITEMDESC;(* Icons for the tree view *)
Text : PSZ; (* Text for CV_TEXT view *)
Name : PSZ; (* Text for CV_NAME view *)
Tree : PSZ; (* Text for CV_TREE view *)
END; END;
(*************************************************************************)
(* MINIRECORDCORE data structure, attribute values *)
(*************************************************************************)
TYPE
PMINIRECORDCORE = POINTER TO MINIRECORDCORE;
MINIRECORDCORE = RECORD (* minirec *)
CASE : TYPEPREFIX OF
| TRUE :
cb : LONGCARD;
flRecordAttr : LONGCARD; (* record attributes *)
ptlIcon : POINTL; (* Position of CV_ICON item *)
preccNextRecord : PMINIRECORDCORE; (*ptr to next record *)
pszIcon : PSZ; (* Text for CV_ICON view *)
hptrIcon : HPOINTER; (* Icon to display for ~CV_MINI*)
| FALSE :
Size : LONGCARD;
RecordAttr : LONGCARD; (* record attributes *)
IconPos : POINTL; (* Position of CV_ICON item *)
NextRecord : PMINIRECORDCORE; (*ptr to next record *)
IconText : PSZ; (* Text for CV_ICON view *)
IconPointerHandle : HPOINTER; (* Icon to display for ~CV_MINI*)
END; END;
(*************************************************************************)
(* CNRINFO data structure, describes the container control. *)
(*************************************************************************)
TYPE
PCNRINFO = POINTER TO CNRINFO;
CNRINFO = RECORD (* ccinfo *)
CASE : TYPEPREFIX OF
| TRUE :
cb : LONGCARD; (* size of CNRINFO struct *)
pSortRecord : PVOID; (* ptr to sort function, *)
(* RECORDCORE *)
pFieldInfoLast : PFIELDINFO;(* pointer to last column in *)
(* left pane of a split window.*)
pFieldInfoObject : PFIELDINFO;(* Pointer to a column to *)
(* represent an object. This is *)
(* the column which will receive *)
(* IN-USE emphasis. *)
pszCnrTitle : PSZ; (* text for container title. One *)
(* string separated by line *)
(* separators for multi-lines *)
flWindowAttr : LONGCARD; (* container attrs - CV_*, CA_* *)
ptlOrigin : POINTL; (* lower-left origin in virtual *)
(* coordinates. CV_ICON view *)
cDelta : LONGCARD; (* Application defined threshold *)
(* or number of records from *)
(* either end of the list. *)
cRecords : LONGCARD; (* number of records in container*)
slBitmapOrIcon : SIZEL; (* size of bitmap in pels *)
slTreeBitmapOrIcon : SIZEL; (* size of tree bitmaps in pels *)
hbmExpanded : HBITMAP; (* bitmap for tree node *)
hbmCollapsed : HBITMAP; (* bitmap for tree node *)
hptrExpanded : HPOINTER; (* icon for tree node *)
hptrCollapsed : HPOINTER; (* icon for tree node *)
cyLineSpacing : LONGINT; (* space between two rows *)
cxTreeIndent : LONGINT; (* indent for children *)
cxTreeLine : LONGINT; (* thickness of the Tree Line *)
cFields : LONGCARD; (* number of fields in container*)
END;
xVertSplitbar : LONGINT; (* position relative to the *)
(* container (CV_DETAIL); if *)
(* 0xFFFF then unsplit *)
END;
TYPE
CDATE = RECORD (* cdate *)
CASE : TYPEPREFIX OF
| TRUE :
day : SHORTCARD; (* current day *)
month : SHORTCARD; (* current month *)
year : CARDINAL; (* current year *)
| FALSE :
Day : SHORTCARD; (* current day *)
Month : SHORTCARD; (* current month *)
Year : CARDINAL; (* current year *)
END; END;
PCDATE = POINTER TO CDATE;
TYPE
CTIME = RECORD (* ctime *)
CASE : TYPEPREFIX OF
| TRUE :
hours : SHORTCARD; (* current hour *)
minutes : SHORTCARD; (* current minute *)
seconds : SHORTCARD; (* current second *)
ucReserved : SHORTCARD; (* reserved *)
| FALSE :
Hours : SHORTCARD; (* current hour *)
Minutes : SHORTCARD; (* current minute *)
Seconds : SHORTCARD; (* current second *)
Reserved : SHORTCARD; (* reserved *)
END; END;
PCTIME = POINTER TO CTIME;
(*************************************************************************)
(* attribute and type values for flData and flTitle members of *)
(* FIELDINFO, CFA_ (attributes), CFT_ (types) *)
(*************************************************************************)
CONST
CFA_LEFT = 00000001H; (* left align text *)
CFA_RIGHT = 00000002H; (* right align text *)
CFA_CENTER = 00000004H; (* center text *)
CFA_TOP = 00000008H; (* top-align text *)
CFA_VCENTER = 00000010H; (* vertically center text *)
CFA_BOTTOM = 00000020H; (* bottom-align text *)
CFA_INVISIBLE = 00000040H; (* Specify invisible column. *)
CFA_BITMAPORICON = 00000100H; (* field title is bitmap *)
CFA_SEPARATOR = 00000200H; (* vert sep, right of fld *)
CFA_HORZSEPARATOR = 00000400H; (* horz sep, bottom of fld *)
CFA_STRING = 00000800H; (* string of characters *)
CFA_OWNER = 00001000H; (* ownerdraw field *)
CFA_DATE = 00002000H; (* date structure *)
CFA_TIME = 00004000H; (* time structure *)
CFA_FIREADONLY = 00008000H; (* Column is read-only. *)
CFA_FITITLEREADONLY = 00010000H; (* Column Title is read-only *)
CFA_ULONG = 00020000H; (* Column is number format *)
(*************************************************************************)
(* attribute values for flRecordAttr member of RECORDCORE *)
(*************************************************************************)
CONST
CRA_SELECTED = 00000001H; (* record is selected *)
CRA_TARGET = 00000002H; (* record has target emphasis *)
CRA_CURSORED = 00000004H; (* cursor is on the record *)
CRA_INUSE = 00000008H; (* record has in-use emphasis *)
CRA_FILTERED = 00000010H; (* record has been filtered *)
CRA_DROPONABLE = 00000020H; (* record can be dropped on *)
CRA_RECORDREADONLY = 00000040H; (* record is read-only *)
CRA_EXPANDED = 00000080H; (* record is expanded *)
CRA_COLLAPSED = 00000100H; (* record is collapsed *)
(*************************************************************************)
(* Container messages *)
(*************************************************************************)
CONST
CM_ALLOCDETAILFIELDINFO = 0330H;
CM_ALLOCRECORD = 0331H;
CM_ARRANGE = 0332H;
CM_ERASERECORD = 0333H;
CM_FILTER = 0334H;
CM_FREEDETAILFIELDINFO = 0335H;
CM_FREERECORD = 0336H;
CM_HORZSCROLLSPLITWINDOW = 0337H;
CM_INSERTDETAILFIELDINFO = 0338H;
CM_INSERTRECORD = 0339H;
CM_INVALIDATEDETAILFIELDINFO = 033AH;
CM_INVALIDATERECORD = 033BH;
CM_PAINTBACKGROUND = 033CH;
CM_QUERYCNRINFO = 033DH;
CM_QUERYDETAILFIELDINFO = 033EH;
CM_QUERYDRAGIMAGE = 033FH;
CM_QUERYRECORD = 0340H;
CM_QUERYRECORDEMPHASIS = 0341H;
CM_QUERYRECORDFROMRECT = 0342H;
CM_QUERYRECORDRECT = 0343H;
CM_QUERYVIEWPORTRECT = 0344H;
CM_REMOVEDETAILFIELDINFO = 0345H;
CM_REMOVERECORD = 0346H;
CM_SCROLLWINDOW = 0347H;
CM_SEARCHSTRING = 0348H;
CM_SETCNRINFO = 0349H;
CM_SETRECORDEMPHASIS = 034AH;
CM_SORTRECORD = 034BH;
CM_OPENEDIT = 034CH;
CM_CLOSEEDIT = 034DH;
CM_COLLAPSETREE = 034EH;
CM_EXPANDTREE = 034FH;
CM_QUERYRECORDINFO = 0350H;
(*************************************************************************)
(* Container notifications *)
(*************************************************************************)
CONST
CN_DRAGAFTER = 101;
CN_DRAGLEAVE = 102;
CN_DRAGOVER = 103;
CN_DROP = 104;
CN_DROPHELP = 105;
CN_ENTER = 106;
CN_INITDRAG = 107;
CN_EMPHASIS = 108;
CN_KILLFOCUS = 109;
CN_SCROLL = 110;
CN_QUERYDELTA = 111;
CN_SETFOCUS = 112;
CN_REALLOCPSZ = 113;
CN_BEGINEDIT = 114;
CN_ENDEDIT = 115;
CN_COLLAPSETREE = 116;
CN_EXPANDTREE = 117;
CN_HELP = 118;
CN_CONTEXTMENU = 119;
(*************************************************************************)
(* Data Structures for Message Parameters *)
(*************************************************************************)
(*************************************************************************)
(* Container Direct Manipulation structures *)
(*************************************************************************)
TYPE
CNRDRAGINIT = RECORD (* cdrginit *)
CASE : TYPEPREFIX OF
| TRUE :
hwndCnr : HWND; (* Container window handle *)
pRecord : PRECORDCORE;(* record under mouse ptr *)
| FALSE :
CnrWinHandle : HWND; (* Container window handle *)
Record : PRECORDCORE;(* record under mouse ptr *)
END;
x : LONGINT; (* x coordinate of mouse ptr *)
y : LONGINT; (* y coordinate of mouse ptr *)
CASE : TYPEPREFIX OF
| TRUE :
cx : LONGINT; (* x offset from record *)
cy : LONGINT; (* y offset from record *)
| FALSE :
xSize : LONGINT; (* x offset from record *)
ySize : LONGINT; (* y offset from record *)
END; END;
PCNRDRAGINIT = POINTER TO CNRDRAGINIT;
(*************************************************************************)
(* Data structure for CM_INSERTDETAILFIELDINFO *)
(* This structure is used by the application to specify the position *)
(* of the FieldInfo structures they are inserting. *)
(*************************************************************************)
TYPE
FIELDINFOINSERT = RECORD (* fiins *)
CASE : TYPEPREFIX OF
| TRUE :
cb : LONGCARD; (* Size of structure. *)
pFieldInfoOrder : PFIELDINFO; (* Specifies the order of the *)
(* FieldInfo structures. *)
fInvalidateFieldInf : LONGCARD; (* Invalidate on Insert. *)
cFieldInfoInsert : LONGCARD; (* The number of FieldInfo *)
(* structures to insert. *)
| FALSE :
Size : LONGCARD; (* Size of structure. *)
FieldInfoOrder : PFIELDINFO; (* Specifies the order of the *)
(* FieldInfo structures. *)
InvalidateFieldInf : LONGCARD; (* Invalidate on Insert. *)
FieldInfoInsertCount : LONGCARD; (* The number of FieldInfo *)
(* structures to insert. *)
END; END;
PFIELDINFOINSERT = POINTER TO FIELDINFOINSERT;
(*************************************************************************)
(* Data structure for CM_INSERTRECORD *)
(*************************************************************************)
TYPE
RECORDINSERT = RECORD (* recins *)
CASE : TYPEPREFIX OF
| TRUE :
cb : LONGCARD;
pRecordOrder : PRECORDCORE;
pRecordParent : PRECORDCORE;
fInvalidateRecord : LONGCARD;
zOrder : LONGCARD;
cRecordsInsert : LONGCARD;
| FALSE :
Size : LONGCARD;
RecordOrder : PRECORDCORE;
RecordParent : PRECORDCORE;
InvalidateRecordFlag : LONGCARD;
Order : LONGCARD;
RecordsInsertCount : LONGCARD;
END; END;
PRECORDINSERT = POINTER TO RECORDINSERT;
(*************************************************************************)
(* Data structure for CM_QUERYRECORDFROMRECT *)
(*************************************************************************)
TYPE
QUERYRECFROMRECT = RECORD (* qrecfrct *)
CASE : TYPEPREFIX OF
| TRUE :
cb : LONGCARD;
rect : RECTL;
fsSearch : LONGCARD;
| FALSE :
Size : LONGCARD;
Rect : RECTL;
SearchFlags : LONGCARD;
END; END;
PQUERYRECFROMRECT = POINTER TO QUERYRECFROMRECT;
(*************************************************************************)
(* Data structure for CM_QUERYRECORDRECT *)
(*************************************************************************)
TYPE
QUERYRECORDRECT = RECORD (* qrecrct *)
CASE : TYPEPREFIX OF
| TRUE :
cb : LONGCARD;
pRecord : PRECORDCORE;
fRightSplitWindow : LONGCARD;
fsExtent : LONGCARD;
| FALSE :
Size : LONGCARD;
Record : PRECORDCORE;
RightSplitWindowFlags : LONGCARD;
ExtentFlags : LONGCARD;
END; END;
PQUERYRECORDRECT = POINTER TO QUERYRECORDRECT;
(*************************************************************************)
(* Data structure for CM_SEARCHSTRING *)
(*************************************************************************)
TYPE
SEARCHSTRING = RECORD (* srchstr *)
CASE : TYPEPREFIX OF
| TRUE :
cb : LONGCARD;
pszSearch : PSZ;
fsPrefix : LONGCARD;
fsCaseSensitive : LONGCARD;
usView : LONGCARD;
| FALSE :
Size : LONGCARD;
Search : PSZ;
PrefixFlags : LONGCARD;
CaseSensitiveFlags : LONGCARD;
View : LONGCARD;
END; END;
PSEARCHSTRING = POINTER TO SEARCHSTRING;
(*************************************************************************)
(* Data Structure for CN_DRAGLEAVE,CN_DRAGOVER,CN_DROP,CN_DROPHELP *)
(*************************************************************************)
TYPE
CNRDRAGINFO = RECORD (* cdrginfo *)
CASE : TYPEPREFIX OF
| TRUE :
pDragInfo : PDRAGINFO;
pRecord : PRECORDCORE;
| FALSE :
DragInfo : PDRAGINFO;
Record : PRECORDCORE;
END; END;
PCNRDRAGINFO = POINTER TO CNRDRAGINFO;
(*************************************************************************)
(* Data structure for CN_EMPHASIS *)
(*************************************************************************)
TYPE
NOTIFYRECORDEMPHASIS = RECORD (* nrecemph *)
CASE : TYPEPREFIX OF
| TRUE :
hwndCnr : HWND;
pRecord : PRECORDCORE;
fEmphasisMask : LONGCARD;
| FALSE :
CnrWinHandle : HWND;
Record : PRECORDCORE;
EmphasisMaskFlags : LONGCARD;
END; END;
PNOTIFYRECORDEMPHASIS = POINTER TO NOTIFYRECORDEMPHASIS;
(*************************************************************************)
(* Data structure for CN_ENTER *)
(*************************************************************************)
TYPE
NOTIFYRECORDENTER = RECORD (* notrecen *)
CASE : TYPEPREFIX OF
| TRUE :
hwndCnr : HWND;
fKey : LONGCARD;
pRecord : PRECORDCORE;
| FALSE :
CnrWinHandle : HWND;
KeyFlags : LONGCARD;
Record : PRECORDCORE;
END; END;
PNOTIFYRECORDENTER = POINTER TO NOTIFYRECORDENTER;
(*************************************************************************)
(* Data structure for CN_QUERYDELTA *)
(*************************************************************************)
TYPE
NOTIFYDELTA = RECORD (* notdlt *)
CASE : TYPEPREFIX OF
| TRUE :
hwndCnr : HWND;
fDelta : LONGCARD;
| FALSE :
CnrWinHandle : HWND;
DeltaFlags : LONGCARD;
END; END;
PNOTIFYDELTA = POINTER TO NOTIFYDELTA;
(*************************************************************************)
(* Data structure for CN_SCROLL *)
(*************************************************************************)
TYPE
NOTIFYSCROLL = RECORD (* notscr *)
CASE : TYPEPREFIX OF
| TRUE :
hwndCnr : HWND;
lScrollInc : LONGINT;
fScroll : LONGCARD;
| FALSE :
CurWinHandle : HWND;
ScrollInc : LONGINT;
ScrollFlags : LONGCARD;
END; END;
PNOTIFYSCROLL = POINTER TO NOTIFYSCROLL;
(*************************************************************************)
(* Data structure for CN_REALLOCPSZ *)
(*************************************************************************)
TYPE
CNREDITDATA = RECORD (* cnredat *)
CASE : TYPEPREFIX OF
| TRUE :
cb : LONGCARD;
hwndCnr : HWND;
pRecord : PRECORDCORE;
pFieldInfo : PFIELDINFO;
ppszText : POINTER TO PSZ; (* address of PSZ *)
cbText : LONGCARD; (* size of the new text *)
id : LONGCARD;
| FALSE :
Size : LONGCARD;
CnrWinHandle : HWND;
Record : PRECORDCORE;
FieldInfo : PFIELDINFO;
Text : POINTER TO PSZ; (* address of PSZ *)
TextSize : LONGCARD; (* size of the new text *)
Id : LONGCARD;
END; END;
PCNREDITDATA = POINTER TO CNREDITDATA;
(*************************************************************************)
(* Data structure for CM_PAINTBACKGROUND *)
(*************************************************************************)
TYPE
OWNERBACKGROUND = RECORD (* ownbckg *)
CASE : TYPEPREFIX OF
| TRUE :
hwnd : HWND;
hps : HPS;
rclBackground : RECTL;
idWindow : LONGINT;
| FALSE :
WinHandle : HWND;
PresSpaceHandle : HPS;
BackgroundRect : RECTL;
WindowId : LONGINT;
END; END;
POWNERBACKGROUND = POINTER TO OWNERBACKGROUND;
(*************************************************************************)
(* Data structure used as part of WM_DRAWITEM *)
(*************************************************************************)
TYPE
CNRDRAWITEMINFO = RECORD (* cnrdrwii *)
CASE : TYPEPREFIX OF
| TRUE :
pRecord : PRECORDCORE;
pFieldInfo : PFIELDINFO;
| FALSE :
Record : PRECORDCORE;
FieldInfo : PFIELDINFO;
END; END;
PCNRDRAWITEMINFO = POINTER TO CNRDRAWITEMINFO;
(*************************************************************************)
(* Message parameter flags *)
(*************************************************************************)
CONST
CMA_TOP = 0001H; (* Place at top of zorder *)
CMA_BOTTOM = 0002H; (* Place at bottom of zorder*)
CMA_LEFT = 0004H;
CMA_RIGHT = 0008H;
CMA_FIRST = 0010H; (* Add record as first *)
CMA_LAST = 0020H;
CMA_END = 0040H; (* Add record to end of list*)
CMA_PREV = 0080H;
CMA_NEXT = 0100H;
CMA_HORIZONTAL = 0200H;
CMA_VERTICAL = 0400H;
CMA_ICON = 0800H;
CMA_TEXT = 1000H;
CMA_PARTIAL = 2000H;
CMA_COMPLETE = 4000H;
CMA_PARENT = 0001H;
CMA_FIRSTCHILD = 0002H;
CMA_LASTCHILD = 0004H;
CMA_CNRTITLE = 0001H; (* Container title *)
CMA_DELTA = 0002H; (* Application defined *)
CMA_FLWINDOWATTR = 0004H; (* Container attributes *)
CMA_LINESPACING = 0008H;
CMA_PFIELDINFOLAST = 0010H; (* Ptr to last column in *)
CMA_PSORTRECORD = 0020H; (* Pointer to sort function *)
CMA_PTLORIGIN = 0040H; (* Lower left origin *)
CMA_SLBITMAPORICON = 0080H; (* Size of bitmap *)
CMA_XVERTSPLITBAR = 0100H; (* Splitbar position *)
CMA_PFIELDINFOOBJECT = 0200H; (* Pointer to IN-USE *)
(* emphasis column. *)
CMA_TREEICON = 0400H; (* Icon for tree node *)
CMA_TREEBITMAP = 0800H; (* bitmap for tree node *)
CMA_CXTREEINDENT = 1000H; (* indent for children *)
CMA_CXTREELINE = 2000H; (* thickness of tree line *)
CMA_SLTREEBITMAPORICON = 4000H; (* size of icon of tree node *)
CMA_ITEMORDER = 0001H; (* QueryRecord search flags *)
CMA_WINDOW = 0002H;
CMA_WORKSPACE = 0004H;
CMA_ZORDER = 0008H;
CMA_DELTATOP = 0001H; (* Industrial - top delta *)
CMA_DELTABOT = 0002H; (* Industrial - bottom delta*)
CMA_DELTAHOME = 0004H; (* Industrial - top of list *)
CMA_DELTAEND = 0008H; (* Industrial - end of list *)
CMA_NOREPOSITION = 0001H; (* InvalidateRecord flags *)
CMA_REPOSITION = 0002H;
CMA_TEXTCHANGED = 0004H;
CMA_ERASE = 0008H;
CMA_FREE = 0001H;
CMA_INVALIDATE = 0002H;
END WINSTDCNR.