⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 predlg.h

📁 一个实用的GIS系统的系统维护模块
💻 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 + -