windows-nt/Source/XPSP1/NT/ds/adsi/oledsvw/newobj.cpp
2020-09-26 16:20:57 +08:00

290 lines
6.8 KiB
C++
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// NewObject.cpp : implementation file
//
#include "stdafx.h"
#include "viewex.h"
#include "newobj.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CNewObject dialog
/***********************************************************
Function:
Arguments:
Return:
Purpose:
Author(s):
Revision:
Date:
***********************************************************/
CNewObject::CNewObject(CWnd* pParent /*=NULL*/)
: CDialog(CNewObject::IDD, pParent)
{
//{{AFX_DATA_INIT(CNewObject)
//}}AFX_DATA_INIT
}
/***********************************************************
Function:
Arguments:
Return:
Purpose:
Author(s):
Revision:
Date:
***********************************************************/
void CNewObject::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CNewObject)
DDX_Control(pDX, IDC_USEEXTENDEDSYNTAX, m_UseExtendedSyntax);
DDX_Control(pDX, IDC_OPENAS, m_OpenAs);
DDX_Control(pDX, IDC_OLEDSPATH, m_OleDsPath);
DDX_Control(pDX, IDC_SECUREAUTHENTICATION, m_Secure);
DDX_Control(pDX, IDC_ENCRYPTION, m_Encryption);
DDX_Control(pDX, IDC_USEOPEN, m_UseOpen);
DDX_Control(pDX, IDC_PASSWORD, m_Password);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CNewObject, CDialog)
//{{AFX_MSG_MAP(CNewObject)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CNewObject message handlers
/***********************************************************
Function:
Arguments:
Return:
Purpose:
Author(s):
Revision:
Date:
***********************************************************/
void CNewObject::OnOK()
{
CString strVal;
// TODO: Add extra validation here
m_OleDsPath.GetWindowText( m_strPath );
SaveLRUList( IDC_OLEDSPATH, _T("Open_ADsPath"), 100 );
m_OpenAs.GetWindowText( m_strOpenAs );
SaveLRUList( IDC_OPENAS, _T("Open_OpenAs"), 100 );
m_Password.GetWindowText( m_strPassword );
//SetLastProfileString( _T("LastPassword"), m_strPassword );
//*******************
m_bUseOpen = m_UseOpen.GetCheck( );
strVal = m_bUseOpen ? _T("Yes") : _T("No");
SetLastProfileString( _T("UseOpen"), strVal );
//*******************
m_bSecure = m_Secure.GetCheck( );
strVal = m_bSecure ? _T("Yes") : _T("No");
SetLastProfileString( _T("Secure"), strVal );
//*******************
m_bEncryption = m_Encryption.GetCheck( );
strVal = m_bEncryption ? _T("Yes") : _T("No");
SetLastProfileString( _T("Encryption"), strVal );
//*******************
m_bUseExtendedSyntax = m_UseExtendedSyntax.GetCheck( );
strVal = m_bUseExtendedSyntax ? _T("Yes") : _T("No");
SetLastProfileString( _T("UseExtendedSyntax"), strVal );
CDialog::OnOK();
}
/***********************************************************
Function:
Arguments:
Return:
Purpose:
Author(s):
Revision:
Date:
***********************************************************/
CString& CNewObject::GetObjectPath()
{
return m_strPath;
}
/***********************************************************
Function:
Arguments:
Return:
Purpose:
Author(s):
Revision:
Date:
***********************************************************/
void CNewObject::SaveLRUList( int idCBox, TCHAR* pszSection, int nMax )
{
CComboBox* pCombo;
TCHAR szEntry[ MAX_PATH ];
TCHAR szIndex[ 8 ];
CString strText, strItem;
int nVal, nIdx, nItems;
pCombo = (CComboBox*)GetDlgItem( idCBox );
pCombo->GetWindowText( strText );
_tcscpy( szEntry, _T("Value_1") );
if( strText.GetLength( ) )
{
WritePrivateProfileString( pszSection, szEntry, (LPCTSTR)strText, ADSVW_INI_FILE );
}
nItems = pCombo->GetCount( );
nVal = 2;
for( nIdx = 0; nItems != CB_ERR && nIdx < nItems && nIdx < nMax ; nIdx ++ )
{
pCombo->GetLBText( nIdx, strItem );
if( strItem.CompareNoCase( strText ) )
{
_itot( nVal++, szIndex, 10 );
_tcscpy( szEntry, _T("Value_") );
_tcscat( szEntry, szIndex );
WritePrivateProfileString( pszSection, szEntry, (LPCTSTR)strItem, ADSVW_INI_FILE );
}
}
}
/***********************************************************
Function:
Arguments:
Return:
Purpose:
Author(s):
Revision:
Date:
***********************************************************/
void CNewObject::GetLRUList( int idCBox, TCHAR* pszSection )
{
CComboBox* pCombo;
int nIter;
TCHAR szEntry[ MAX_PATH ];
TCHAR szIndex[ 8 ];
TCHAR szValue[ 1024 ];
pCombo = (CComboBox*)GetDlgItem( idCBox );
for( nIter = 0; nIter < 100 ; nIter++ )
{
_itot( nIter + 1, szIndex, 10 );
_tcscpy( szEntry, _T("Value_") );
_tcscat( szEntry, szIndex );
GetPrivateProfileString( pszSection, szEntry,
_T(""), szValue, 1023, ADSVW_INI_FILE );
if( _tcslen( szValue ) )
{
pCombo->AddString( szValue );
}
}
pCombo->SetCurSel( 0 );
}
/***********************************************************
Function:
Arguments:
Return:
Purpose:
Author(s):
Revision:
Date:
***********************************************************/
BOOL CNewObject::OnInitDialog()
{
CString strLastValue;
CDialog::OnInitDialog();
// TODO: Add extra initialization here
//*******************
GetLRUList( IDC_OLEDSPATH, _T("Open_ADsPath") );
GetLRUList( IDC_OPENAS, _T("Open_OpenAs") );
//*******************
strLastValue = _T("");
SetLastProfileString( _T("LastPassword"), strLastValue );
//GetLastProfileString( _T("LastPassword"), strLastValue );
if( !strLastValue.GetLength( ) )
{
strLastValue = _T("");
}
m_Password.SetWindowText( strLastValue );
//*******************
GetLastProfileString( _T("UseOpen"), strLastValue );
if( !strLastValue.CompareNoCase( _T("No") ) )
{
m_UseOpen.SetCheck( 0 );
}
else
{
m_UseOpen.SetCheck( 1 );
}
//*******************
GetLastProfileString( _T("Secure"), strLastValue );
if( !strLastValue.CompareNoCase( _T("No") ) )
{
m_Secure.SetCheck( 0 );
}
else
{
m_Secure.SetCheck( 1 );
}
//*******************
GetLastProfileString( _T("Encryption"), strLastValue );
if( !strLastValue.CompareNoCase( _T("No") ) )
{
m_Encryption.SetCheck( 0 );
}
else
{
m_Encryption.SetCheck( 1 );
}
//*******************
GetLastProfileString( _T("UseExtendedSyntax"), strLastValue );
if( !strLastValue.CompareNoCase( _T("Yes") ) )
{
m_UseExtendedSyntax.SetCheck( 1 );
}
else
{
m_UseExtendedSyntax.SetCheck( 0 );
}
return FALSE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}