dlgnew.cpp

来自「混乱竞技场的全套代码,客户端资源可以网上搜」· C++ 代码 · 共 168 行

CPP
168
字号
// DlgNew.cpp : implementation file
//

#include "stdafx.h"
#include "gstools.h"
#include "DlgNew.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDlgNew dialog


CDlgNew::CDlgNew(const char* strDefaultName, CWnd* pParent /*=NULL*/)
	: CDialog(CDlgNew::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgNew)
	m_bCreateDefault = FALSE;
	m_strPath = _T("");
	m_strName = _T("");
	//}}AFX_DATA_INIT
	if(NULL!=strDefaultName)
		m_strName	= strDefaultName;
	m_strData	= _T("");
}


void CDlgNew::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgNew)
	DDX_Control(pDX, IDOK, m_btnOK);
	DDX_Check(pDX, IDC_CHECK1, m_bCreateDefault);
	DDX_Text(pDX, IDC_EDIT1, m_strPath);
	DDX_Text(pDX, IDC_EDIT2, m_strName);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgNew, CDialog)
	//{{AFX_MSG_MAP(CDlgNew)
	ON_BN_CLICKED(ID_BROWSE, OnBrowse)
	ON_EN_CHANGE(IDC_EDIT1, OnChangePath)
	ON_EN_CHANGE(IDC_EDIT2, OnChangeName)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgNew message handlers

void CDlgNew::OnBrowse() 
{
    CFileDialog dlg(true,"Gss","*.Gss",
        OFN_PATHMUSTEXIST|OFN_EXPLORER|OFN_NOCHANGEDIR,
        "Open Gss file (*.Gss)|*.Gss||");  

    //dlg.m_ofn.lpstrInitialDir = szTemp;
    if (dlg.DoModal() == IDCANCEL)
    {
        return ;
    }
	
	m_strPath	= dlg.GetPathName();
	UpdateData(false);
	m_btnOK.EnableWindow(!((m_strPath.IsEmpty() || m_strName.IsEmpty())));

/*
	// TODO: Add your control notification handler code here
	char	szPath[MAX_PATH];
    LPITEMIDLIST pidlRoot = NULL;
	BROWSEINFO	bsi	= {	m_hWnd ,
						pidlRoot,
						szPath,
						NULL,//"Choose Folder",
						BIF_EDITBOX|BIF_RETURNONLYFSDIRS|BIF_BROWSEFORCOMPUTER|BIF_DONTGOBELOWDOMAIN|BIF_STATUSTEXT,
						NULL,
						NULL,
						0};
	CGsFunc::GetGsApp()->GetAppPath(g_szBrowsePath);
	bsi.lpfn = BrowseCallbackProc;

	LPITEMIDLIST  lpil	= SHBrowseForFolder(&bsi);
	if(lpil)
	{
		if(SHGetPathFromIDList(lpil,szPath))
		{
			DWORD dwAttr;

			// Is this a valid directory name?
			dwAttr = GetFileAttributes(szPath);
			if (!((dwAttr == (DWORD) -1) || (! (dwAttr & FILE_ATTRIBUTE_DIRECTORY))))
			{
			// Propagate the files list and select the first item
				m_strPath	= CString(szPath);
				UpdateData(false);
			}
		}
	}	
*/

}

void CDlgNew::OnOK() 
{
	// TODO: Add extra validation here
	if(m_strPath.IsEmpty() || m_strName.IsEmpty())
	{
		AfxMessageBox(IDERROR_INIT_NEW);
		return;
	}
	char	szTemp[MAX_PATH];
	CGsFunc::Path_GetParentPath(szTemp, (LPCSTR)m_strPath);
	m_strData.Format("%s\\%s", szTemp, (LPCSTR)m_strName);

	if(g_source.CreateSource((LPCSTR)m_strPath, (LPCSTR)m_strName))
	{
		CDialog::OnOK();
	}
	else
	{
		return;
	}



}

void CDlgNew::OnChangePath() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	UpdateData();
	m_btnOK.EnableWindow(!((m_strPath.IsEmpty() || m_strName.IsEmpty())));
}

void CDlgNew::OnChangeName() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	UpdateData();
	m_btnOK.EnableWindow(!((m_strPath.IsEmpty() || m_strName.IsEmpty())));
	
}

BOOL CDlgNew::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_btnOK.EnableWindow(false);

	UpdateData(false);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

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