145 lines
3.2 KiB
C++
145 lines
3.2 KiB
C++
/**********************************************************************/
|
|
/** Microsoft Windows/NT **/
|
|
/** Copyright(c) Microsoft Corporation, 1997 - 1999 **/
|
|
/**********************************************************************/
|
|
|
|
/*
|
|
FndRcDlg.cpp
|
|
Replication Node Property page
|
|
|
|
FILE HISTORY:
|
|
|
|
2/15/98 RamC Added Cancel button to the Find dialog
|
|
*/
|
|
|
|
#include "stdafx.h"
|
|
#include "winssnap.h"
|
|
#include "FndRcdlg.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
#include "actreg.h"
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CFindRecord property page
|
|
|
|
//IMPLEMENT_DYNCREATE(CFindRecord, CBaseDialog)
|
|
|
|
CFindRecord::CFindRecord(CActiveRegistrationsHandler *pActreg, CWnd* pParent) :CBaseDialog(CFindRecord::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CFindRecord)
|
|
m_strFindName = _T("");
|
|
m_fMixedCase = FALSE;
|
|
//}}AFX_DATA_INIT
|
|
m_pActreg = pActreg;
|
|
}
|
|
|
|
CFindRecord::~CFindRecord()
|
|
{
|
|
}
|
|
|
|
void CFindRecord::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CBaseDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CFindRecord)
|
|
DDX_Control(pDX, IDOK, m_buttonOK);
|
|
DDX_Control(pDX, IDCANCEL, m_buttonCancel);
|
|
DDX_Control(pDX, IDC_COMBO_NAME, m_comboLokkForName);
|
|
DDX_CBString(pDX, IDC_COMBO_NAME, m_strFindName);
|
|
DDX_Check(pDX, IDC_CHECK_MIXED_CASE, m_fMixedCase);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CFindRecord, CBaseDialog)
|
|
//{{AFX_MSG_MAP(CFindRecord)
|
|
ON_CBN_EDITCHANGE(IDC_COMBO_NAME, OnEditchangeComboName)
|
|
ON_CBN_SELENDOK(IDC_COMBO_NAME, OnSelendokComboName)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CFindRecord message handlers
|
|
|
|
BOOL
|
|
CFindRecord::OnInitDialog()
|
|
{
|
|
CBaseDialog::OnInitDialog();
|
|
|
|
// disable the findnow button
|
|
m_buttonOK.EnableWindow(FALSE);
|
|
|
|
// fill the combobox from the array in the actreg handler
|
|
int nCount = (int)m_pActreg->m_strFindNamesArray.GetSize();
|
|
|
|
for(int i = 0; i < nCount; i++)
|
|
{
|
|
m_comboLokkForName.AddString(m_pActreg->m_strFindNamesArray[i]);
|
|
}
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void
|
|
CFindRecord::OnOK()
|
|
{
|
|
UpdateData();
|
|
|
|
m_strFindName.TrimLeft();
|
|
m_strFindName.TrimRight();
|
|
|
|
// add the string to the cache in the act reg node
|
|
if(!IsDuplicate(m_strFindName))
|
|
m_pActreg->m_strFindNamesArray.Add(m_strFindName);
|
|
|
|
if (!m_fMixedCase)
|
|
m_strFindName.MakeUpper();
|
|
|
|
m_pActreg->m_strFindName = m_strFindName;
|
|
|
|
CBaseDialog::OnOK();
|
|
}
|
|
|
|
void
|
|
CFindRecord::OnCancel()
|
|
{
|
|
CBaseDialog::OnCancel();
|
|
}
|
|
|
|
BOOL
|
|
CFindRecord::IsDuplicate(const CString & strName)
|
|
{
|
|
int nCount = (int)m_pActreg->m_strFindNamesArray.GetSize();
|
|
|
|
for(int i = 0; i < nCount; i++)
|
|
{
|
|
// if found
|
|
if(m_pActreg->m_strFindNamesArray[i].Compare(m_strFindName) == 0)
|
|
{
|
|
return TRUE;
|
|
}
|
|
}
|
|
return FALSE;
|
|
}
|
|
|
|
|
|
void CFindRecord::OnEditchangeComboName()
|
|
{
|
|
UpdateData();
|
|
|
|
EnableButtons(m_strFindName.IsEmpty() ? FALSE : TRUE);
|
|
}
|
|
|
|
void CFindRecord::OnSelendokComboName()
|
|
{
|
|
EnableButtons(TRUE);
|
|
}
|
|
|
|
void CFindRecord::EnableButtons(BOOL bEnable)
|
|
{
|
|
m_buttonOK.EnableWindow(bEnable);
|
|
}
|