home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Softwarová Záchrana 3
/
Softwarova-zachrana-3.bin
/
pserv.cpl
/
pserv-2.4.exe
/
source
/
CListViewTools.h
< prev
next >
Wrap
C/C++ Source or Header
|
2005-01-05
|
3KB
|
84 lines
#ifndef CListViewTools_H
#define CListViewTools_H
#include "CConfiguration.h"
#define MAX_COLUMN 60
class CListViewEntry : public CObject
{
public:
virtual COLORREF GetTextColor() = 0;
virtual CString GetInfoTip() = 0;
protected:
friend class CListViewEntries;
virtual CString GetDisplayString(DWORD dwIndex) = 0;
};
typedef int (*GENERICCOMPAREFN)(const void* elem1, const void* elem2);
void PrintToFile( CFile* pFile, LPCTSTR lpszMessage, ... );
CString XmlEscape(LPCTSTR s);
class CListViewColumn : public CObject
{
public:
CListViewColumn( LPCTSTR lpszCaption, DWORD dwDisplayOrder, DWORD dwWidth = DWORD(LVSCW_AUTOSIZE) );
CString m_strCaption;
DWORD m_dwWidth;
DWORD m_dwDisplayOrder; // -1 if invisible, or zerobased index
};
class CListViewEntries : public CObject
{
public:
CListViewEntries( GENERICCOMPAREFN* pSortMethods, LPCTSTR lpszName );
virtual ~CListViewEntries();
virtual void Sort();
virtual BOOL Refresh() = 0;
virtual void ConnectTo( LPCTSTR lpszMachine ) = 0;
CListViewColumn* GetColumnByName( LPCTSTR lpszName );
DWORD GetNumberOfColumns();
CListViewColumn* GetColumn( DWORD dwIndex );
CString GetDisplayString(CListViewEntry* item, DWORD dwColumn);
BOOL Matches(CListViewEntry* item, LPFNFindSubstring lpfnFindSubstring, LPCTSTR lpszFind);
BOOL ExportAsXml( LPCTSTR lpszFilename );
virtual void ExportXmlToFile( CFile* pFile ) = 0;
virtual void DoConfigExchange( CRegistry& key );
virtual UINT GetContextMenuID() = 0;
GENERICCOMPAREFN* m_SortMethods;
CObArray m_Entries;
CString m_strServiceMachine;
CString m_strTitle;
// configuration settings
CString m_strName;
DWORD m_bSortAscending;
DWORD m_dwSortMethod;
protected:
friend class CChooseColumnsDialog;
DWORD m_dwDisplayColumn[MAX_COLUMN];
DWORD m_dwNumberOfDisplayColumns;
CObArray m_Columns;
void CreateColumns( LPCTSTR column, ... );
void RefreshDisplayColumns();
};
void DeleteObjects(CObArray& array);
CString FormattedString(LPCTSTR expression, ... );
void DisplayErrorMessage(LPCTSTR lpszCaption, ...);
CString GetUsernameFromSid( PSID sid );
CString GetUserNameFromProcess(HANDLE hProcess);
#endif // CListViewTools_H