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

📄 dlgwkinputsel.cpp

📁 用户管理系统
💻 CPP
字号:
// DlgWkInputSel.cpp : implementation file
//

#include "stdafx.h"
#include "Kvip.h"
#include "DlgWkInputSel.h"
#include "StringSQL.H"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDlgWkInputSel dialog


CDlgWkInputSel::CDlgWkInputSel(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgWkInputSel::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgWkInputSel)
	//}}AFX_DATA_INIT
	m_strSQL = _T("Select * From kv_staff_mr");
	m_strSel1 = _T("=sm_code;TEXT=编号;WIDTH=60;INDEXCOL=10;STYLE=UPPER");
	m_strSel2 = _T("=sm_name;TEXT=用户名称;WIDTH=80;INDEXCOL=20");
	m_strSel3 = _T("=sm_dept;TEXT=部门;WIDTH=80;INDEXCOL=30");
	m_strCol1 = _T("");
	m_strCol2 = _T("");
	m_strCol3 = _T("");
	m_strTitle = _T("选择");
	m_pConnection = NULL;
	m_bRetrieve = FALSE;
	m_bCheck  = true;
}


void CDlgWkInputSel::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgWkInputSel)
	DDX_Control(pDX, IDC_SEL3, m_Sel3);
	DDX_Control(pDX, IDC_SEL2, m_Sel2);
	DDX_Control(pDX, IDC_SEL1, m_Sel1);
	DDX_Control(pDX, IDC_MASTER, m_Master);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgWkInputSel, CDialog)
	//{{AFX_MSG_MAP(CDlgWkInputSel)
	ON_BN_CLICKED(IDC_OK, OnOk)
	ON_BN_CLICKED(IDC_RETRIEVE, OnRetrieve)
	ON_BN_CLICKED(IDC_CANCEL, OnCancel)
	ON_NOTIFY(NM_DBLCLK, IDC_MASTER, OnDblclkMaster)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgWkInputSel message handlers

void CDlgWkInputSel::OnOk() 
{
	// TODO: Add your control notification handler code here
	int nItem = m_Master.GetSelected();
	m_strSel1 = m_Master.GetItemText(nItem, 0);
	m_strSel2 = m_Master.GetItemText(nItem, 1);
	m_strSel3 = m_Master.GetItemText(nItem, 2);
	CDialog::OnOK();
}

void CDlgWkInputSel::OnCancel() 
{
	// TODO: Add your control notification handler code here
	CDialog::OnCancel();
}

void CDlgWkInputSel::OnRetrieve() 
{
	// TODO: Add your control notification handler code here
	if(Retrieve())
	  m_Master.SetFocus();
}

//void CDlgWkInputSel::SetTitle(LPCSTR pTil1, LPCSTR pTil2, LPCSTR pTil3)
//{
//  m_Til1.SetWindowText(pTil1);
//  m_Til2.SetWindowText(pTil2);
//  m_Til3.SetWindowText(pTil3);
//}
/*void CDlgWkInputSel::SetWhere(LPCSTR pWhere1, LPCSTR pWhere2, LPCSTR pWhere3)
{
  m_strName1 = pWhere1;
  m_strName2 = pWhere2;
  m_strName3 = pWhere3;
}
*/
void CDlgWkInputSel::SetSelect1(LPCSTR pSel)
{
  m_strSel1 = pSel;
}
void CDlgWkInputSel::SetSelect2(LPCSTR pSel)
{
  m_strSel2 = pSel;
}
void CDlgWkInputSel::SetSelect3(LPCSTR pSel)
{
  m_strSel3 = pSel;
}



void CDlgWkInputSel::SetConnection(CAdoConnection *pConnection, 
								   BOOL bRetrieve,
								   BOOL bCheck)
{
	m_pConnection = pConnection;
	m_bRetrieve = bRetrieve;
	m_bCheck = bCheck;
}

BOOL CDlgWkInputSel::Retrieve()
{
	CString s1, s2,s3, sql;
	CStringSQL sqlText;
	CEdit *pEdit;
	if(m_strSQL.IsEmpty()) return FALSE;
	pEdit = (CEdit*)m_ListDoc.GetClass(IDC_SEL1);
	ASSERT(pEdit);
	pEdit->GetWindowText(s1);
	pEdit = (CEdit*)m_ListDoc.GetClass(IDC_SEL2);
	ASSERT(pEdit);
	pEdit->GetWindowText(s2);
	pEdit = (CEdit*)m_ListDoc.GetClass(IDC_SEL3);
	ASSERT(pEdit);
	pEdit->GetWindowText(s3);
	sqlText.SetSelect(m_strSQL);
	sqlText.SetWhere(m_strCol1, s1);
	sqlText.SetWhere(m_strCol2, s2);
	sqlText.SetWhere(m_strCol3, s3);
	sql = sqlText.GetSQL();
	return m_ListDoc.Retrieve(sql);

}

BOOL CDlgWkInputSel::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
//设置搜索
	if (!m_strSel1.IsEmpty())  m_Sel1.SetWindowText(m_strSel1);
	if (!m_strSel2.IsEmpty())  m_Sel2.SetWindowText(m_strSel2);
	if (!m_strSel3.IsEmpty())  m_Sel3.SetWindowText(m_strSel3);
	if (!m_ListDoc.Init(this, (CListCtrlBase *)&m_Master))
	{
      MessageBox("注意:WK-00001生成窗体失败!", "系统提示", MB_OK|MB_ICONEXCLAMATION);
	  return false;
	}
	m_ListDoc.SetConnection(m_pConnection);

//分离出数据项名称
	CDlgDataCell Cell;
	int j = 0;
	for(int i = 0; i < m_ListDoc.m_data.size(); i++)
	{
      Cell = m_ListDoc.m_data.at(i);
	  if (Cell.dwStyle & CDD_RETRIEVE)
	  {
		if(i == 0)
		{
		   m_strCol1 = Cell.strName;
		   j++; 
		}
		if (i ==  1)
		{
		   m_strCol2 = Cell.strName;
			   j++; 
		}
		if (i == 2)
		{
		   m_strCol3 = Cell.strName;
		   break;
		}
	  }
	}

//初始化
	SetWindowText(m_strTitle);
//	m_Master.SetCheckboxes(m_bCheck);
	m_ListDoc.Reset();
	if (m_bRetrieve)  Retrieve();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgWkInputSel::OnDblclkMaster(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	PostMessage(WM_COMMAND, IDC_OK, 0);
	*pResult = 0;
}

⌨️ 快捷键说明

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