Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

98 lines
2.4 KiB

/*++
Copyright (c) 1994-95 Microsoft Corporation
Module Name:
utils.h
Abstract:
Utilities.
Author:
Don Ryan (donryan) 04-Jan-1995
Environment:
User Mode - Win32
Revision History:
Jeff Parham (jeffparh) 12-Nov-1995
Copied from LLSMGR, stripped Tv (Tree view) functions,
removed OLE support
--*/
#ifndef _UTILS_H_
#define _UTILS_H_
#define LPSTR_TEXTCALLBACK_MAX 260
//
// List view utilities
//
#define LVID_SEPARATOR 0
#define LVID_UNSORTED_LIST -1
typedef struct _LV_COLUMN_ENTRY {
int iSubItem; // column index
int nStringId; // header string id
int nRelativeWidth; // header width
} LV_COLUMN_ENTRY, *PLV_COLUMN_ENTRY;
#pragma warning(disable:4200)
typedef struct _LV_COLUMN_INFO {
BOOL bSortOrder; // sort order (ascending false)
int nSortedItem; // column sorted (default none)
int nColumns;
LV_COLUMN_ENTRY lvColumnEntry[];
} LV_COLUMN_INFO, *PLV_COLUMN_INFO;
#pragma warning(default:4200)
void LvInitColumns(CListCtrl* pListCtrl, PLV_COLUMN_INFO plvColumnInfo);
void LvResizeColumns(CListCtrl* pListCtrl, PLV_COLUMN_INFO plvColumnInfo);
void LvChangeFormat(CListCtrl* pListCtrl, UINT nFormatId);
LPVOID LvGetSelObj(CListCtrl* pListCtrl);
LPVOID LvGetNextObj(CListCtrl* pListCtrl, LPINT piItem, int nType = LVNI_ALL|LVNI_SELECTED);
void LvSelObjIfNecessary(CListCtrl* pListCtrl, BOOL bSetFocus = FALSE);
BOOL LvInsertObArray(CListCtrl* pListCtrl, PLV_COLUMN_INFO plvColumnInfo, CObArray* pObArray);
BOOL LvRefreshObArray(CListCtrl* pListCtrl, PLV_COLUMN_INFO plvColumnInfo, CObArray* pObArray);
void LvReleaseObArray(CListCtrl* pListCtrl);
void LvReleaseSelObjs(CListCtrl* pListCtrl);
#ifdef _DEBUG
void LvDumpObArray(CListCtrl* pListCtrl);
#endif
#define IsItemSelectedInList(plv) (::LvGetSelObj((CListCtrl*)(plv)) != NULL)
//
// Other stuff...
//
void SetDefaultFont(CWnd* pWnd);
DWORD
CatUnicodeAndAnsiStrings(
IN WCHAR const *pwszUnicode,
IN CHAR const *pszAnsi,
OUT CHAR **ppszStr);
#ifdef _DEBUG
#define VALIDATE_OBJECT(pOb, ObClass) \
{ ASSERT_VALID((pOb)); ASSERT((pOb)->IsKindOf(RUNTIME_CLASS(ObClass))); }
#else
#define VALIDATE_OBJECT(pOb, ObClass)
#endif
#endif // _UTILS_H_