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 + -
显示快捷键?