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

📄 dlgdoc.h

📁 用户管理系统
💻 H
字号:
/*########################################################################
	【文件名】: 	DlgDoc.h
	【名  称】:		DataWin 封装类.
	【版  本】:		1.0
	【作  者】:		梁均源
	【E-mail】:		KelvinSpace@citiz.net

  注意:必需保留以上信息!!!
  ########################################################################*/
#if !defined(AFX_DLGDATA_H__3B43F921_D1B0_11D9_AF60_0050BAB04A6A__INCLUDED_)
#define AFX_DLGDATA_H__3B43F921_D1B0_11D9_AF60_0050BAB04A6A__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
////////////////////////////////////////////////////////
//安装COM在新工程App文件
//App::InitInstance()加入
//       CoInitialize(NULL);
//App::ExitInstance()加入
//       CoUninitialize();
////////////////////////////////////////////////////////
//状态
#define CDD_NONE 0           //无
#define CDD_RETRIEVE 0x1     //自动导入
#define CDD_UPDATE   0x2     //允许更新
#define CDD_CHECK    0x4     //允许修改检测
#define CDD_UPPER    0x8     //大写
#define CDD_LOWER    0x10    //小写
//LISTDOC专用
#define CDD_RIGHT    0x20    //向右对齐
#define CDD_LEFT     0x40    //向左对齐
#define CDD_CENTER   0x80    //中间对齐
#define CDD_AUTOKEY  0x100   //自动ID
//类型 
#define CDN_CHECKBOX 0
#define CDN_CHECKBOX3 1
#define CDN_EDIT 2
#define CDN_COMBOBOX 3
#define CDN_LISTBOX  4
#define CDN_LONGDATECTRL 5
#define CDN_SHORTDATECTRL 6
#define CDN_TIMECTRL 7
#define CDN_DATETIMEEDIT 8
#define CDN_DATEEDIT  9
#define CDN_TIMEEDIT  10
#define CDN_CURRENCYEDIT 11
#define CDN_NUMERICEDIT   12
#define CDN_MASKEDEDIT 13
#define CDN_STATICIMAGE 14

#define CDD_MOIDFYED 0x1     //已经被修改
/////////////////////////////////////////////////////////////////////////////
// CDataWin dialog
//*表示还没有实际使用
class CDlgDataCell
{
public:
    CDlgDataCell::CDlgDataCell()
	{
	  Reset();
	}
    void Reset(void)
	{
	  strName = _T("");
	  strClass = _T("");
	  strText = _T("");
//	  strMask = _T("");
	  strDefText = _T("");
	  strValues = _T("");
	  dwStyle = CDD_NONE;
	  dwState = 0;
//	  iSupper = 0;
//	  iIndex  = 0;
	  nID = 0;
	  hWnd = 0;
	  pControl = NULL;
	  fZoomV = 1;
	  fZoomH = 1;
	  nWidth = 0;
	  iIndexCol = 3000;             //自动生成
	}
	CString strName;            //数据项目名称
	CString strClass;           //类名
	int     nClass  ;           //类编号
//	CString strMask;            //字符掩码(如果是RadioBox表示分组名称)
	CString strDefText;         //默认字符
	CString strValues;          //取值范围
	DWORD   dwState;
//	int     iIndex ;            //ListBox和ComboBox默认选项
	UINT    nID;                //控件ID
	UINT    nOldID;             //控件原ID
	HWND    hWnd;               //句柄
	DWORD   dwStyle  ;          //控件样式
	void    *pControl;          //控件CEdit/CEditMask
//Combox 专用
	float   fZoomH;             //水平放大
	float   fZoomV;             //垂直放大
//CReportCtrl 专用
	CString strText;             //指定列表头文本
	int    nWidth;               //宽度
	int    iIndexCol;            //Ctrl中的列顺序
};
//vector <CDataCell> m_data;      //数据库数据缓存
//加对vector说明
//#include <iostream>
#include <vector>
using namespace std;
#define BEGIN_ID   2500
/////////////////////////////////////////////////////////////////////////////
// CDlgDoc
#include "..\ado\ado.H"
#include "..\MaskEdit\amsEdit.H"
#include "..\DateEdit\DateEdit.H"
#include "StaticImage.H"
//#include "predata.H"
#include "PreDialog.H"
///////////////////////////////////////////
//功能:
//在IDE环境设计窗口,通过枚举STATIC类型
//并解释当中命令,自动连结数据库
//动态创建控件,对数据记录创建和修改
///////////////////////////////////////////
class CDlgDoc
{
// Construction
public:
	UINT _Class4Name(CString &strName);
	BOOL NewBefore(CString strTableName);
	BOOL m_bModify;
//////////////////////////////////////////
//当前数据库默认不是ORACLE系统
//只会影响Append命令
	BOOL m_bOracle;  
	void SetOracel(BOOL bFolg) {m_bOracle = bFolg;};
	BOOL GetOracel() {return m_bOracle;};

//////////////////////////////////////////
//数据库操作
//
	virtual int Delete(BOOL bCon = true, BOOL bMsg = true);
	virtual BOOL Append(CString strTableName, BOOL bMsg = true);
	virtual BOOL Save(BOOL bTrans = true, BOOL bMsg = true);
	virtual void Release(void);
	virtual void Reset();       //
    virtual void Cancel();
	static void RetrieveA(void); //不含功能
	virtual int Retrieve(CString strSQL = _T(""),  
		           BOOL bMsg = true,
	              long lOption = adCmdText, 
				  CursorTypeEnum CursorType = adOpenStatic, 
				  LockTypeEnum LockType = adLockOptimistic);
//设置和返回数据库连接
    BOOL SetConnection(CAdoConnection *pCon);
    CAdoConnection *GetConnection(){return m_pConnection;}
    CAdoRecordSet  *GetRecordSet(){return &m_RecordSet;}
//设置和返回SQL命令
    void SetSQL(CString str){m_strSQL = str;}
    CString GetSQL() {return m_strSQL;}
//数据对比
	void Backup(void);  //备份
    void Restore(void); //恢复
	virtual BOOL IsModify(void); //是否修改

///////////////////////////////////////////
//解释命令、生成控件

//连接窗口、创建控件
	BOOL Init(CDialog *pDlg);    
	BOOL Init4Control(CPreDialog *pPreDlg);
    void ReleaseControl(void);
//默认生成的控件的类型
	void SetDefStyle(DWORD dwStyle) {m_dwDefStyle = dwStyle;};
	DWORD GetDefStyle(void) {return m_dwDefStyle;};
//返回控件指针
	void * GetClass(LPCSTR pName, LPCSTR pClassName = NULL);
	void * GetClass(UINT  nID, LPCSTR pClassName = NULL);
//解释结构
	BOOL Construe(CDlgDataCell *pCell, char *p);
	BOOL SetWindowTextEx(CDlgDataCell *pCell, CString &strText);
	CString GetWindowTextEx(CDlgDataCell *pCell);
	int _GetCell(CString &strScr, CString &strCell);
    int _FindCell(CString strScr, CString strCell);
//动态创建控件
	BOOL CreateControl(CDlgDataCell *pCell,UINT nID,
		        RECT rect, DWORD dwStyle,DWORD dwStyleEx,
				PDATAWINDOWVIEW pData);

	vector <CDlgDataCell> m_data;  //统一的控件结构
	CDlgDoc();   // standard constructor
	~CDlgDoc();   // standard constructor
protected:
	vector <CString> m_Sur;        //存储备份的数据
	CString  m_strKey;             //主键,只支持单一主键(只对CListDoc起作用)
	CString  m_strText;            //主键对应说明 (只对CListDoc起作用)
	DWORD    m_dwDefStyle;         //默认控件类型
    CAdoConnection *m_pConnection; //数据库连结
	CAdoRecordSet  m_RecordSet;    //数据集
	CString m_strSQL;              //SQL命令
	UINT    m_nBeginID;            //起启控件ID
    CDialog *m_pDlg;               //窗口指针
};

#endif // !defined(AFX_DLGDATA_H__3B43F921_D1B0_11D9_AF60_0050BAB04A6A__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -