// AnalogDlg.cpp : implementation file // #include "stdafx.h" #include "IDE.h" #include "DlgVarStatusManager.h" #include "DlgVarStatus.h" #include ".\dlgvarstatusmanager.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CDlgVarStatusManager dialog CDlgVarStatusManager::CDlgVarStatusManager(CWnd* pParent /*=NULL*/) : CDialog(CDlgVarStatusManager::IDD, pParent) { //{{AFX_DATA_INIT(CDlgVarStatusManager) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT m_ctrlGridVarStatus.RegisterWindowClass(g_hLangDLL); } void CDlgVarStatusManager::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDlgVarStatusManager) DDX_Control(pDX, IDC_GRID_VAR_STATUS, m_ctrlGridVarStatus); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CDlgVarStatusManager, CDialog) //{{AFX_MSG_MAP(CDlgVarStatusManager) //}}AFX_MSG_MAP ON_BN_CLICKED(IDC_BTN_ADD, OnBnClickedAdd) ON_BN_CLICKED(IDC_BTN_EDIT, OnBnClickedEdit) ON_BN_CLICKED(IDC_BTN_DEL, OnBnClickedDel) ON_BN_CLICKED(IDC_BTN_COPY, OnBnClickedCopy) ON_BN_CLICKED(IDC_BTN_CANCEL, OnBnClickedBtnCancel) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDlgVarStatusManager message handlers void CDlgVarStatusManager::OnOK() { // TODO: Add extra validation here CDialog::OnOK(); } void CDlgVarStatusManager::OnCancel() { // TODO: Add extra cleanup here CDialog::OnCancel(); } BOOL CDlgVarStatusManager::OnInitDialog() { CDialog::OnInitDialog(); m_btnEdit.SubclassDlgItem(IDC_BTN_EDIT, this); m_btnEdit.SetBitmaps(IDB_EDIT, RGB(255, 0, 255)); m_btnEdit.SetFlat(FALSE); m_btnEdit.SetAlign(CButtonST::ST_ALIGN_HORIZ); m_btnCopy.SubclassDlgItem(IDC_BTN_COPY, this); m_btnCopy.SetBitmaps(IDB_COPY , RGB(192, 192, 192)); m_btnCopy.SetFlat(FALSE); m_btnCopy.SetAlign(CButtonST::ST_ALIGN_HORIZ); m_btnDel.SubclassDlgItem(IDC_BTN_DEL, this); m_btnDel.SetBitmaps(IDB_DEL, RGB(255,0 , 255)); m_btnDel.SetFlat(FALSE); m_btnDel.SetAlign(CButtonST::ST_ALIGN_HORIZ); m_btnAdd.SubclassDlgItem(IDC_BTN_ADD, this); m_btnAdd.SetBitmaps(IDB_ADD, RGB(192, 192, 192)); m_btnAdd.SetFlat(FALSE); m_btnAdd.SetAlign(CButtonST::ST_ALIGN_HORIZ); m_btnCancel.SubclassDlgItem(IDC_BTN_CANCEL, this); m_btnCancel.SetBitmaps(IDB_EXIT, RGB(192, 192, 192)); m_btnCancel.SetFlat(FALSE); m_btnCancel.SetAlign(CButtonST::ST_ALIGN_HORIZ); SetFields(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CDlgVarStatusManager::SetFields() { int i; m_ctrlGridVarStatus.m_field.SetSize(6); i=0; m_ctrlGridVarStatus.m_field[i].Field=_T("id"); m_ctrlGridVarStatus.m_field[i].Caption=_T("ID"); m_ctrlGridVarStatus.m_field[i].With = 50; m_ctrlGridVarStatus.m_field[i].Find=true; i=1; m_ctrlGridVarStatus.m_field[i].Field=_T("devuid"); m_ctrlGridVarStatus.m_field[i].Caption=g_strDevUid2; m_ctrlGridVarStatus.m_field[i].With=200; m_ctrlGridVarStatus.m_field[i].Find=true; i=2; m_ctrlGridVarStatus.m_field[i].Field=_T("varid"); m_ctrlGridVarStatus.m_field[i].Caption=g_strVarID; m_ctrlGridVarStatus.m_field[i].With=200; m_ctrlGridVarStatus.m_field[i].Find=true; i=3; m_ctrlGridVarStatus.m_field[i].Field=_T("statusid"); m_ctrlGridVarStatus.m_field[i].Caption=g_strAlarmStatus; m_ctrlGridVarStatus.m_field[i].With=200; m_ctrlGridVarStatus.m_field[i].Find=true; i=4; m_ctrlGridVarStatus.m_field[i].Field=_T("statusdesc"); m_ctrlGridVarStatus.m_field[i].Caption=g_strAlarmStatusDesc; m_ctrlGridVarStatus.m_field[i].With=200; m_ctrlGridVarStatus.m_field[i].Find=true; i=5; m_ctrlGridVarStatus.m_field[i].Field=_T("normalstatus"); m_ctrlGridVarStatus.m_field[i].Caption=g_strNormalStatusID; m_ctrlGridVarStatus.m_field[i].With=200; m_ctrlGridVarStatus.m_field[i].Find=true; Requery(); // m_ctrlAnalogGrid.Execute(m_pConnection,"ProductId"/*Primary key field */ // ,"*"//fields in SELECT statment // ,"Products" //from // ,"" // where // ,0); // order by N of the Grid column } void CDlgVarStatusManager::Requery() { CString strWhere; strWhere.Format(" devuid = \'%s\' and varid = %d", m_strUID, m_nVarID); m_ctrlGridVarStatus.Execute(_T("id")/*Primary key field */ ,_T("*")//fields in SELECT statment ,_T("t_var_status") //from ,strWhere // where ,0); // order by N of the Grid column // } BEGIN_EVENTSINK_MAP(CDlgVarStatusManager, CDialog) //{{AFX_EVENTSINK_MAP(CDlgVarStatusManager) //}}AFX_EVENTSINK_MAP END_EVENTSINK_MAP() void CDlgVarStatusManager::OnBnClickedAdd() { // TODO: 在此添加控件通知处理程序代码 CDlgVarStatus dlg; dlg.m_pSet = m_ctrlGridVarStatus.m_pSet; dlg.m_strUID = m_strUID; dlg.m_nVarID = m_nVarID; dlg.m_operation = CDlgVarStatus::NEW; if (dlg.DoModal() == IDOK) { //m_ctrlAnalogGrid.Invalidate(); m_ctrlGridVarStatus.AddNew(); Requery(); } } void CDlgVarStatusManager::OnBnClickedEdit() { // TODO: 在此添加控件通知处理程序代码 int nRow=m_ctrlGridVarStatus.IsSelectRow(); if(nRow==-1) return; CDlgVarStatus dlg; dlg.m_strUID = m_strUID; dlg.m_nVarID = m_nVarID; dlg.m_pSet = m_ctrlGridVarStatus.m_pSet; dlg.m_operation=CDlgVarStatus::EDIT; if (dlg.DoModal() == IDOK) { m_ctrlGridVarStatus.Invalidate(); Requery(); } } void CDlgVarStatusManager::OnBnClickedDel() { // TODO: 在此添加控件通知处理程序代码 if (MessageBox (g_strMsgConfirmDel, g_strMsgPrompt, MB_YESNO|MB_DEFBUTTON2 | MB_ICONQUESTION) == IDYES) { m_ctrlGridVarStatus.Delete(); Requery(); } } void CDlgVarStatusManager::OnBnClickedCopy() { // TODO: 在此添加控件通知处理程序代码 if(m_ctrlGridVarStatus.IsSelectRow()==-1) return; CDlgVarStatus dlg; dlg.m_strUID = m_strUID; dlg.m_nVarID = m_nVarID; dlg.m_pSet = m_ctrlGridVarStatus.m_pSet; dlg.m_operation=CDlgVarStatus::COPY; //dlg.m_catId=m_ctrlAnalogGrid.m_pSet->GetCollect(L"CategoryID") ; //dlg.m_supId=m_ctrlAnalogGrid.m_pSet->GetCollect(L"SupplierID") ; //dlg.m_cmbCat.Attach(&m_CatArray,dlg.m_catId); //dlg.m_cmbSup.Attach(&m_SupArray,dlg.m_supId); if (dlg.DoModal() == IDOK) { m_ctrlGridVarStatus.AddNew(); Requery(); } } BOOL CDlgVarStatusManager::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) { LPNMHDR pNmhdr = (LPNMHDR)lParam; // TODO: 在此添加专用代码和/或调用基类 if (wParam == (WPARAM)m_ctrlGridVarStatus.GetDlgCtrlID()) { *pResult = 1; GV_DISPINFO *pDispInfo = (GV_DISPINFO*)lParam; m_ctrlGridVarStatus.SetValue(pDispInfo); } return CDialog::OnNotify(wParam, lParam, pResult); } void CDlgVarStatusManager::OnBnClickedBtnCancel() { // TODO: 在此添加控件通知处理程序代码 OnCancel(); } LRESULT CDlgVarStatusManager::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { // TODO: 在此添加专用代码和/或调用基类 switch( message ) { case WM_DCLICK: { int nRow=m_ctrlGridVarStatus.IsSelectRow(); if(nRow==-1) return 0; CDlgVarStatus dlg; dlg.m_strUID = m_strUID; dlg.m_nVarID = m_nVarID; dlg.m_pSet = m_ctrlGridVarStatus.m_pSet; dlg.m_operation=CDlgVarStatus::EDIT; if (dlg.DoModal() == IDOK) { m_ctrlGridVarStatus.Invalidate(); Requery(); } } break; } return CDialog::WindowProc(message, wParam, lParam); }