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

📄 rootpage.cpp

📁 Vc6.0编的一个http服务器程序
💻 CPP
字号:
// RootPage.cpp : implementation of the CRootPage class
//
// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) 1997-1998 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.

#include "stdafx.h"

#include "HttpSvr.h"
#include "RootPage.h"
#include "HttpDoc.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CRootPage property page

IMPLEMENT_DYNCREATE(CRootPage, CPropertyPage)

CRootPage::CRootPage() : CPropertyPage(CRootPage::IDD)
{
}

CRootPage::CRootPage( CHttpSvrDoc* pDoc )
	: CPropertyPage(CRootPage::IDD)
{
	//{{AFX_DATA_INIT(CRootPage)
	m_strRoot = _T("");
	//}}AFX_DATA_INIT
	m_pDoc = pDoc;
}

CRootPage::~CRootPage()
{
}

void CRootPage::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CRootPage)
	DDX_Text(pDX, IDC_ROOTDIR, m_strRoot);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CRootPage, CPropertyPage)
	//{{AFX_MSG_MAP(CRootPage)
	ON_BN_CLICKED(IDC_RESET, OnReset)
	ON_EN_CHANGE(IDC_ROOTDIR, OnChangeRootDir)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CRootPage message handlers

void CRootPage::OnReset()
{
	SetDlgItemText( IDC_ROOTDIR, m_pDoc->m_strRoot );
	SetModified( FALSE );
}

void CRootPage::OnChangeRootDir()
{
	SetModified( TRUE );
}

BOOL CRootPage::OnKillActive()
{
	BOOL bOk = CPropertyPage::OnKillActive();
	if ( bOk )
	{
		// make sure it doesn't end in a separator char....
		if ( m_strRoot[ m_strRoot.GetLength()-1 ] == SEPCHAR )
			m_strRoot = m_strRoot.Left( m_strRoot.GetLength() - 1 );
		// resolve to complete file path....
		CString strFull;
		GetFullPathName( m_strRoot, MAX_PATH, strFull.GetBuffer(MAX_PATH+1), NULL );
		strFull.ReleaseBuffer();
		// set the control to this complete, fixed path....
		SetDlgItemText( IDC_ROOTDIR, strFull );
		m_strRoot = strFull;
		// make sure the directory is valid....
		DWORD dwAttr = GetFileAttributes( strFull );
		if ( dwAttr == -1 ||
			(dwAttr & FILE_ATTRIBUTE_DIRECTORY) == 0 )
		{
			CString strText;
			strText.LoadString( IDS_BAD_ROOT );
			MessageBox( strText, NULL, MB_OK|MB_ICONSTOP );
			bOk = FALSE;
		}
	}
	return bOk;
}

void CRootPage::OnOK()
{
	// make sure it doesn't end in a sepchar....
	if ( m_strRoot[ m_strRoot.GetLength()-1 ] == SEPCHAR )
		m_strRoot = m_strRoot.Left( m_strRoot.GetLength()-1 );
	// copy it over....
	if ( m_pDoc->m_strRoot.CompareNoCase( m_strRoot ) )
	{
		m_pDoc->m_strRoot = m_strRoot;
		m_pDoc->SetModifiedFlag( TRUE );
	}
	CPropertyPage::OnOK();
}

⌨️ 快捷键说明

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