Windows-Server-2003/admin/ssrui/chklist.h

82 lines
2.5 KiB
C

//-----------------------------------------------------------------------------
//
// chklist.h - Definitions and prototypes for the checklist pseudo-control
//
// Copyright 1996-2001, Microsoft Corporation
//
//
//-----------------------------------------------------------------------------
#ifndef _CHKLIST_H_
#define _CHKLIST_H_
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
//
// CheckList window class name
//
#define WC_CHECKLIST "CHECKLIST_SSR"
//BOOL RegisterCheckListWndClass(void);
//
// CheckList check states
//
#define CLST_UNCHECKED 0 // == BST_UNCHECKED
#define CLST_CHECKED 1 // == BST_CHECKED
#define CLST_DISABLED 2 // == BST_INDETERMINATE
#define CLST_CHECKDISABLED (CLST_CHECKED | CLST_DISABLED)
//
// CheckList window styles
//
#define CLS_1CHECK 0x0001
#define CLS_2CHECK 0x0002
//#define CLS_3CHECK 0x0003
//#define CLS_4CHECK 0x0004
#define CLS_CHECKMASK 0x000f
#define CLS_LEFTALIGN 0x0010 // Align the checkboxes at the left of the text (default = right)
//
// CheckList messages
//
// row is 0-based
// column is 1-based
//
#define CLM_SETCOLUMNWIDTH (WM_USER + 1) // lParam = width (dlg units) of a check column (default=32)
#define CLM_ADDITEM (WM_USER + 2) // wParam = pszName, lParam = item data, return = row
#define CLM_GETITEMCOUNT (WM_USER + 3) // no parameters
#define CLM_SETSTATE (WM_USER + 4) // wParam = row/column, lParam = state
#define CLM_GETSTATE (WM_USER + 5) // wParam = row/column, return = state
#define CLM_SETITEMDATA (WM_USER + 6) // wParam = row, lParam = item data
#define CLM_GETITEMDATA (WM_USER + 7) // wParam = row, return = item data
#define CLM_RESETCONTENT (WM_USER + 8) // no parameters
#define CLM_GETVISIBLECOUNT (WM_USER + 9) // no parameters, return = # of visible rows
#define CLM_GETTOPINDEX (WM_USER + 10) // no parameters, return = index of top row
#define CLM_SETTOPINDEX (WM_USER + 11) // wParam = index of new top row
#define CLM_ENSUREVISIBLE (WM_USER + 12) // wParam = index of item to make fully visible
//
// CheckList notification messages
//
#define CLN_CLICK (0U-1000U) // lparam = PNM_CHECKLIST
typedef struct _NM_CHECKLIST
{
NMHDR hdr;
int iItem; // row (0-based)
int iSubItem; // column (1-based)
DWORD dwState;
DWORD_PTR dwItemData;
} NM_CHECKLIST, *PNM_CHECKLIST;
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* _CHKLIST_H_ */