97 lines
2.2 KiB
C++
97 lines
2.2 KiB
C++
|
|
// PropertiesDlg.cpp : implementation file
|
|||
|
|
//
|
|||
|
|
|
|||
|
|
#include "stdafx.h"
|
|||
|
|
#include "EtViewer.h"
|
|||
|
|
#include "PropertiesDlg.h"
|
|||
|
|
#include "RenderBase.h"
|
|||
|
|
|
|||
|
|
|
|||
|
|
// CPropertiesDlg dialog
|
|||
|
|
|
|||
|
|
IMPLEMENT_DYNAMIC(CPropertiesDlg, CDialog)
|
|||
|
|
|
|||
|
|
CPropertiesDlg::CPropertiesDlg(CWnd* pParent /*=NULL*/)
|
|||
|
|
: CDialog(CPropertiesDlg::IDD, pParent)
|
|||
|
|
, m_szShaderFolder(_T(""))
|
|||
|
|
{
|
|||
|
|
m_bDisableCancel = false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
CPropertiesDlg::~CPropertiesDlg()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void CPropertiesDlg::DoDataExchange(CDataExchange* pDX)
|
|||
|
|
{
|
|||
|
|
CDialog::DoDataExchange(pDX);
|
|||
|
|
DDX_Text(pDX, IDC_EDIT1, m_szShaderFolder);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
BEGIN_MESSAGE_MAP(CPropertiesDlg, CDialog)
|
|||
|
|
ON_BN_CLICKED(IDOK, &CPropertiesDlg::OnBnClickedOk)
|
|||
|
|
ON_BN_CLICKED(IDCANCEL, &CPropertiesDlg::OnBnClickedCancel)
|
|||
|
|
ON_BN_CLICKED(IDC_BUTTON1, &CPropertiesDlg::OnBnClickedButton1)
|
|||
|
|
END_MESSAGE_MAP()
|
|||
|
|
|
|||
|
|
|
|||
|
|
// CPropertiesDlg message handlers
|
|||
|
|
|
|||
|
|
BOOL CPropertiesDlg::OnInitDialog()
|
|||
|
|
{
|
|||
|
|
CDialog::OnInitDialog();
|
|||
|
|
|
|||
|
|
// TODO: <20><><EFBFBD> <20>߰<EFBFBD> <20>ʱ<EFBFBD>ȭ <20>۾<EFBFBD><DBBE><EFBFBD> <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
|||
|
|
m_szShaderFolder = CRenderBase::GetInstance().GetShaderFolder();
|
|||
|
|
|
|||
|
|
UpdateData( FALSE );
|
|||
|
|
|
|||
|
|
if( m_bDisableCancel == true )
|
|||
|
|
GetDlgItem( IDCANCEL )->EnableWindow( FALSE );
|
|||
|
|
|
|||
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|||
|
|
// <20><><EFBFBD><EFBFBD>: OCX <20>Ӽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FALSE<53><45> <20><>ȯ<EFBFBD>ؾ<EFBFBD> <20>մϴ<D5B4>.
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void CPropertiesDlg::OnBnClickedOk()
|
|||
|
|
{
|
|||
|
|
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
|||
|
|
UpdateData();
|
|||
|
|
if( m_szShaderFolder.IsEmpty() ) {
|
|||
|
|
MessageBox( "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ּ<EFBFBD><D6BC><EFBFBD>", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", MB_OK );
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
SetRegistryString( HKEY_CURRENT_USER, REG_SUBKEY, "ShaderFolder", m_szShaderFolder.GetBuffer() );
|
|||
|
|
|
|||
|
|
if( CRenderBase::GetInstance().GetShaderFolder() != m_szShaderFolder )
|
|||
|
|
CRenderBase::GetInstance().ChangeShaderFolder( m_szShaderFolder );
|
|||
|
|
|
|||
|
|
OnOK();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void CPropertiesDlg::OnBnClickedCancel()
|
|||
|
|
{
|
|||
|
|
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
|||
|
|
if( m_bDisableCancel == true ) return;
|
|||
|
|
OnCancel();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void CPropertiesDlg::OnBnClickedButton1()
|
|||
|
|
{
|
|||
|
|
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
|||
|
|
CXTBrowseDialog Dlg;
|
|||
|
|
UpdateData(TRUE);
|
|||
|
|
Dlg.SetTitle(_T("Select Shader Directory"));
|
|||
|
|
if( !m_szShaderFolder.IsEmpty() ) {
|
|||
|
|
TCHAR path[_MAX_PATH];
|
|||
|
|
STRCPY_S(path, _MAX_PATH, m_szShaderFolder);
|
|||
|
|
Dlg.SetSelPath(path);
|
|||
|
|
}
|
|||
|
|
if( Dlg.DoModal() == IDOK ) {
|
|||
|
|
m_szShaderFolder = Dlg.GetSelPath();
|
|||
|
|
UpdateData(FALSE);
|
|||
|
|
}
|
|||
|
|
}
|