gusucode.com > VC_C++源码,界面编程,网页爬虫源码程序 > VC_C++源码,界面编程,网页爬虫源码程序/code/webpageloader_SourceCode/PrefProp.cpp
// PrefProp.cpp : implementation file // #include "stdafx.h" #include "WebPageLoader.h" #include "PrefProp.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CPrefProp property page IMPLEMENT_DYNCREATE(CPrefProp, CPropertyPage) CPrefProp::CPrefProp() : CPropertyPage(CPrefProp::IDD) { ASSERT(FALSE); } CPrefProp::CPrefProp(CSession *pSession) : CPropertyPage(CPrefProp::IDD) { ASSERT_VALID(pSession); m_pSession = pSession; //{{AFX_DATA_INIT(CPrefProp) m_iThreads = m_pSession->m_Preferences->m_nThreads; m_bDelete = m_pSession->m_Preferences->m_bDeleteThreadWhenDone; m_bClipboard = m_pSession->m_Preferences->m_bClipboardListener; m_bCompatibility = m_pSession->m_Preferences->m_bCompatibilityMode; m_bQuit = m_pSession->m_Preferences->m_bQuitWhenDone; m_nBrowser = -1; //}}AFX_DATA_INIT if( m_pSession->m_Preferences->m_sAgentName.Find(_T("WebPageConsumer"))>=0 ) m_nBrowser = 0; else if( m_pSession->m_Preferences->m_sAgentName.Find(_T("Microsoft"))>=0 ) m_nBrowser = 1; else if( m_pSession->m_Preferences->m_sAgentName.Find(_T("MSIE"))>=0 ) m_nBrowser = 1; else m_nBrowser = 0; // default (if illegal name) } CPrefProp::~CPrefProp() { } void CPrefProp::DoDataExchange(CDataExchange* pDX) { CPropertyPage::DoDataExchange(pDX); //{{AFX_DATA_MAP(CPrefProp) DDX_Text(pDX, IDC_THREADS, m_iThreads); DDV_MinMaxInt(pDX, m_iThreads, 1, 16); DDX_Check(pDX, IDC_DELETEWHENDONE, m_bDelete); DDX_Check(pDX, IDC_CLIPBOARD, m_bClipboard); DDX_Check(pDX, IDC_COMPATIBILITY, m_bCompatibility); DDX_Check(pDX, IDC_QUITWHENDONE, m_bQuit); DDX_CBIndex(pDX, IDC_BROWSER, m_nBrowser); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CPrefProp, CPropertyPage) //{{AFX_MSG_MAP(CPrefProp) // NOTE: the ClassWizard will add message map macros here //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CPrefProp message handlers void CPrefProp::OnOK() { ASSERT_VALID(m_pSession); CSingleLock lock( *m_pSession, TRUE ); m_pSession->m_Preferences->m_nThreads = m_iThreads; m_pSession->m_Preferences->m_bDeleteThreadWhenDone = m_bDelete; m_pSession->m_Preferences->m_bClipboardListener = m_bClipboard; m_pSession->m_Preferences->m_bQuitWhenDone = m_bQuit; m_pSession->m_Preferences->m_bCompatibilityMode = m_bCompatibility; switch( m_nBrowser ) { case 0: m_pSession->m_Preferences->m_sAgentName = _T("WebPageConsumer"); break; case 1: m_pSession->m_Preferences->m_sAgentName = _T("Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)"); break; }; CPropertyPage::OnOK(); }