59 lines
1.8 KiB
C
59 lines
1.8 KiB
C
//
|
|
// dobj.h: Declares data, defines and struct types for RecAct
|
|
// module.
|
|
//
|
|
//
|
|
|
|
#ifndef __DOBJ_H__
|
|
#define __DOBJ_H__
|
|
|
|
// DOBJ is the draw object structure for drawing listbox entries
|
|
//
|
|
// DOBJ kinds
|
|
//
|
|
#define DOK_ICON 1 // lpvObject is the HICON
|
|
#define DOK_STRING 2 // lpvObject is the LPCSTR
|
|
#define DOK_BITMAP 3 // lpvObject is the HBITMAP
|
|
#define DOK_SIDEITEM 4 // lpvObject points to LPSIDEITEM
|
|
#define DOK_IMAGE 5 //
|
|
#define DOK_IDS 6 // lpvObject is the resource ID
|
|
|
|
// DOBJ item styles
|
|
//
|
|
#define DOF_LEFT 0x0000
|
|
#define DOF_CENTER 0x0001
|
|
#define DOF_RIGHT 0x0002
|
|
#define DOF_DIFFER 0x0004 // This item's appearance is affected by uState
|
|
#define DOF_MENU 0x0008 // Use menu colors
|
|
#define DOF_DISABLED 0x0010
|
|
#define DOF_IGNORESEL 0x0020 // Ignore selection state
|
|
#define DOF_USEIDS 0x0040 // lpvObject is a resource string ID
|
|
#define DOF_NODRAW 0x1000 // Don't draw
|
|
|
|
typedef struct tagDOBJ
|
|
{
|
|
UINT uKind; // One of DOK_* ordinals
|
|
UINT uFlags; // One of DOF_* styles
|
|
LPVOID lpvObject; // ptr or handle
|
|
HIMAGELIST himl; //
|
|
int iImage; //
|
|
int x;
|
|
int y;
|
|
RECT rcBounding; // Bounding rect of entire object
|
|
union
|
|
{
|
|
RECT rcSrc; // DOK_BITMAP: source rect to blt from
|
|
RECT rcClip; // Clipping rect
|
|
RECT rcLabel; // Clipping rect for label
|
|
};
|
|
|
|
} DOBJ, * LPDOBJ;
|
|
|
|
|
|
void PUBLIC Dobj_Draw(HDC hdc, LPDOBJ pdobj, int cItems, UINT uState, int cxEllipses, int cyText, COLORREF clrBkgnd);
|
|
|
|
void PUBLIC ComputeImageRects(LPCTSTR psz, HDC hdc, LPPOINT ppt, LPRECT prcIcon, LPRECT prcLabel, int cxIcon, int cyIcon, int cxIconSpacing, int cyText);
|
|
|
|
#endif // __DOBJ_H__
|
|
|