📄 predlg.h
字号:
#if !defined(AFX_PREDLG_H__6B9D7FE5_428F_454E_82AC_E99349023882__INCLUDED_)
#define AFX_PREDLG_H__6B9D7FE5_428F_454E_82AC_E99349023882__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// PreDlg.h : header file
//
#include "XListCtrl.h"
#include "WinXPButtonST.h"
/////////////////////////////////////////////////////////////////////////////
// CPreDlg dialog
struct RoleGroupPrivilege {
CString dscode; //数据集代码
TCHAR privilege; //1|r 2|rw
CString privDesc; //权限描述
CString dsShortName; //数据集简称
BOOL bModified;
public:
RoleGroupPrivilege() { dscode = " "; privilege = '0'; privDesc=_T("无操作权限"); dsShortName="未知数据"; bModified=FALSE; }
};
class RGPrivArray : public CArray<RoleGroupPrivilege*,RoleGroupPrivilege*>
{
public:
long qid; //权限组ID
public:
RGPrivArray() { qid = 0; }
~RGPrivArray() { removeAll(); }
RoleGroupPrivilege *getItemViaDscode(LPCTSTR dsc) {
int n = GetSize();
RoleGroupPrivilege **pp = GetData();
for (int i=0; i<n; i++,pp++)
{
if ((*pp)->dscode == dsc)
return *pp;
}
return NULL;
}
void removeAll() {
int n = GetSize();
RoleGroupPrivilege **pp = GetData();
for (int i=0; i<n; i++,pp++)
{
delete *pp;
}
RemoveAll();
}
};
class CPreDlg : public CDialog
{
// Construction
public:
_variant_t vDscode,vQid,vPre,vDsName;
CString qx,des;
int rid;
CString rname;
int ai;
int pi;
RGPrivArray rgPrivArray; //一个用户组对所有数据集的控制权限数组集合
CPreDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CPreDlg)
enum { IDD = IDD_XIANDIALOG };
CWinXPButtonST m_exit;
CWinXPButtonST m_cancel;
CXListCtrl m_List;
//}}AFX_DATA
BOOL Create();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CPreDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual void PostNcDestroy();
//}}AFX_VIRTUAL
// Implementation
protected:
void FillListCtrl(CXListCtrl &list);
void InitListCtrl(CXListCtrl& list);
void fillListWithPriviledgeArray(CXListCtrl &list,RGPrivArray &rgPrivArray);
// Generated message map functions
//{{AFX_MSG(CPreDlg)
virtual BOOL OnInitDialog();
afx_msg void OnClickList1(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnColumnclickList1(NMHDR* pNMHDR, LRESULT* pResult);
virtual void OnOK();
virtual void OnCancel();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_PREDLG_H__6B9D7FE5_428F_454E_82AC_E99349023882__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -