📄 cdiskusersview.h
字号:
/*____________________________________________________________________________
Copyright (C) 2002 PGP Corporation
All rights reserved.
$Id: CDiskUsersView.h,v 1.3 2002/08/06 20:09:23 dallen Exp $
____________________________________________________________________________*/
#ifndef Included_CDiskUsersView_h // [
#define Included_CDiskUsersView_h
#include "CList.h"
#include "CString.h"
#include "CListView.h"
#include "pgpDiskPubTypes.h"
_PGP_BEGIN
// Types
class CPGPdiskContext;
class CPGPdiskUser;
class CPGPdiskUserSet;
// Class CDiskUsersView
class CDiskUsersView : public CListView
{
public:
enum
{
kUserNameColFlag = 0x0001,
kReadOnlyColFlag = 0x0002,
kKindColFlag = 0x0004,
};
private:
enum {kPixelsLeftMargin = 2};
struct DiskUserItem;
struct DKViewDrawElements;
public:
CDiskUsersView();
~CDiskUsersView() { }
PGPBoolean AreUnknownUsers() const;
void GetSelectedUsers(CPGPdiskUserSet *pUsers) const;
void SelectIndex(PGPInt32 i);
void SelectAllItems();
void SetActiveColumns(PGPUInt32 columns);
void SortOnColumn(PGPUInt32 column);
void LookupUnknownKeys();
void Fill(const CPGPdiskContext *pContext,
const CPGPdiskUserSet& diskUsers, PGPBoolean singleSelect = FALSE);
void Clear();
void Create(HWND parent, PGPUInt32 id, PGPInt32 xOffset = 0,
PGPInt32 yOffset = 0, PGPInt32 width = 0, PGPInt32 height = 0);
private:
const CPGPdiskContext *mPContext;
CPGPdiskUserSet *mPDiskUsers;
CList<DiskUserItem> mItemList;
DKViewDrawElements *mPDE;
PGPBoolean mSingleSelect;
PGPBoolean mSortAscending;
PGPUInt32 mLastSortColumn;
PGPUInt32 mActiveColumns;
PGPUInt32 mUserNameColIndex;
PGPUInt32 mReadOnlyColIndex;
PGPUInt32 mKindColIndex;
int DiskUserViewCompareProcAux(const DiskUserItem *pUser1,
const DiskUserItem *pUser2);
static int CALLBACK DiskUserViewCompareProc(LPARAM lParam1,
LPARAM lParam2, LPARAM lParamSort);
void DrawTrueFalseButton(CDC& itemDC, const CRect& ptrBarRect,
PGPBoolean trueFalse, PGPBoolean isSelected) const;
void DrawItemColumn(CDC& itemDC, const char *userID, const CRect&
prcClip) const;
void DrawUserItemAux(LPDRAWITEMSTRUCT pDIS,
PGPBoolean isFocused) const;
void DrawUserItem(LPDRAWITEMSTRUCT pDIS) const;
DiskUserItem * GetItemAtIndex(PGPInt32 i) const;
PGPdiskUserRef GetUserAtIndex(PGPInt32 i) const;
PGPInt32 GetIndexOfItem(const DiskUserItem *pItem) const;
PGPInt32 GetIndexOfEqualUser(const CPGPdiskUser& diskUser) const;
void CalcItemDisplayData(DiskUserItem *pItem,
PGPBoolean redraw = FALSE) const;
void AddUser(const CPGPdiskUser& diskUser);
void RemoveUser(const CPGPdiskUser& diskUser);
void UpdateUser(const CPGPdiskUser& updatedUser,
PGPBoolean redraw = FALSE);
void CreateDrawElements();
void DeleteDrawElements();
void UpdateColumns();
void GenerateMeasureItem() const;
void OnContextMenu(HWND menuWnd, CPoint coords);
BOOL OnDrawItem(PGPUInt16 ctrlId, LPDRAWITEMSTRUCT pDIS);
void OnKeyDown(PGPUInt32 vKey, PGPUInt32 keyData);
BOOL OnMeasureItem(PGPUInt16 ctrlId, LPMEASUREITEMSTRUCT pMIS);
void OnMenuSelect(PGPUInt16 ctrlId, PGPUInt16 flags,
HMENU hwndMenu);
void OnNcDestroy();
PGPUInt32 OnNotify(PGPUInt16 ctrlId, LPNMHDR pNMHDR);
void OnSysColorChange();
private:
void Create(HWND parent, PGPUInt32 style, PGPUInt32 exStyle,
PGPInt32 xOffset, PGPInt32 yOffset, PGPInt32 width,
PGPInt32 height); // not implemented
};
_PGP_END
#endif // ] Included_CDiskUsersView_h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -