www.pudn.com > SuperOPC-vc7.rar > AddItemDlg.h


#pragma once 
 
 
// CAddItemDlg 对话框 
 
#include "HotOpcServer.h" 
#include "afxcmn.h" 
class CAddItemDlg : public CDialog 
{ 
	DECLARE_DYNAMIC(CAddItemDlg) 
 
public: 
	CAddItemDlg(CHotOpcGroup *pGroup, IOPCBrowseServerAddressSpace *pIBrowse, CWnd *pParent = NULL);    // 构造函数 
	virtual ~CAddItemDlg(); 
 
	BOOL m_bAutoValidate; 
	BOOL m_bBrowseFlat; 
// 对话框数据 
	enum { IDD = IDD_ADDITEM_DLG }; 
 
public: 
		CObArray& GetItemList () {return (m_cItemList);} 
		int GetItemCount () {return (m_nListIndex);} 
protected: 
		bool m_bModified; 
		 
		CHotOpcGroup *m_pGroup; 
		IOPCBrowseServerAddressSpace *m_pIBrowse; 
		IOPCItemMgt *m_pIItemMgt; 
 
		CString	m_strFilterBranch; 
		CString	m_strFilterLeaf; 
		VARTYPE m_vtFilterType; 
		DWORD m_dwFilterAccessRights; 
		OPCNAMESPACETYPE m_cOpcNameSpace; 
 
		int m_nSelIndex; 
		int m_nListIndex; 
		CObArray m_cItemList; 
 
		bool OnApplyChange (); 
		void UpdateStatus (); 
 
		void SelectItem (int nIndex, bool bDuplicate = false, bool bDotBitAddress = false); 
		void AutoIncrementID (bool bDotBitAddress); 
 
		HRESULT Validate (bool *pbDotBitAddress = NULL); 
 
		// tag browsing  
		void InitializeBrowser (); 
		void BrowseRootLevel (); 
		void AddBranches (LPENUMSTRING pIEnumString, HTREEITEM hParent, DWORD dwData); 
		void AddLeaves (LPENUMSTRING pIEnumString); 
		void ExpandBranch (HTREEITEM hItem); 
		void SelectBranch (HTREEITEM hItem); 
		void AddDummyBranch (HTREEITEM hParent); 
		void RemoveDummyBranch (HTREEITEM hParent); 
		void DeleteChildBranches (HTREEITEM hParent); 
 
		void BrowseToRoot (); 
		 
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持 
 
	DECLARE_MESSAGE_MAP() 
public: 
	CTreeCtrl *m_pBranchList; 
	CListCtrl *m_pLeafList; 
	int	m_vtDataType; 
	virtual BOOL OnInitDialog(); 
	CString m_strItemID; 
	CString m_strAccessPath; 
	afx_msg void OnTvnItemexpandingBranchlist(NMHDR *pNMHDR, LRESULT *pResult); 
	afx_msg void OnTvnSelchangedBranchlist(NMHDR *pNMHDR, LRESULT *pResult); 
protected: 
	virtual void OnCancel(); 
public: 
	afx_msg void OnCbnSelchangeDatatype(); 
	afx_msg void OnEnChangeAccesspath(); 
	afx_msg void OnEnChangeItemid(); 
protected: 
	virtual void OnOK(); 
public: 
	afx_msg void OnShowWindow(BOOL bShow, UINT nStatus); 
	afx_msg void OnNMDblclkLeaflist(NMHDR *pNMHDR, LRESULT *pResult); 
};