// DlgMakePlant.cpp : implementation file // #include "stdafx.h" #include "worldcreator.h" #include "DlgMakePlant.h" #include "MainFrm.h" #include "WorldCreatorView.h" #include "RenderOption.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CDlgMakePlant dialog CDlgMakePlant::CDlgMakePlant(CWnd* pParent /*=NULL*/) : CDialog(CDlgMakePlant::IDD, pParent) { //{{AFX_DATA_INIT(CDlgMakePlant) m_isAdd = FALSE; m_isDel = FALSE; m_fTreeRange = 0.0f; m_fTreeRate = 0.0f; //}}AFX_DATA_INIT } void CDlgMakePlant::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDlgMakePlant) DDX_Control(pDX, IDC_LIST_DRAWTREE, m_DrawTreeList); DDX_Control(pDX, IDC_LIST_TREE, m_TreeList); DDX_Check(pDX, IDC_CHECK_TREEADD, m_isAdd); DDX_Check(pDX, IDC_CHECK_TREEDEL, m_isDel); DDX_Text(pDX, IDC_EDIT_TREERANGE, m_fTreeRange); DDV_MinMaxFloat(pDX, m_fTreeRange, 0.f, 30000.f); DDX_Text(pDX, IDC_EDIT_TREERATE, m_fTreeRate); DDV_MinMaxFloat(pDX, m_fTreeRate, 0.f, 1.f); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CDlgMakePlant, CDialog) //{{AFX_MSG_MAP(CDlgMakePlant) ON_BN_CLICKED(IDC_CHECK_TREEADD, OnCheckTreeadd) ON_BN_CLICKED(IDC_CHECK_TREEDEL, OnCheckTreedel) ON_LBN_DBLCLK(IDC_LIST_TREE, OnDblclkListTree) ON_LBN_DBLCLK(IDC_LIST_DRAWTREE, OnDblclkListDrawtree) ON_EN_CHANGE(IDC_EDIT_TREERANGE, OnChangeEditTreerange) ON_EN_CHANGE(IDC_EDIT_TREERATE, OnChangeEditTreerate) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDlgMakePlant message handlers BOOL CDlgMakePlant::OnInitDialog() { CDialog::OnInitDialog(); m_isAdd=TRUE; CString strAddTree; // char strPath[256]; GetCurrentDirectory(256,strPath); char strTree[256] = {0}; if(!strcmp(CRenderOption::m_strBaseGraphicsDataPath,"Default")) sprintf(strTree,"%s\\Objects\\NatureObject\\TreeInfo.txt",strPath); else { sprintf(strTree,"%s\\Objects\\NatureObject\\TreeInfo",strPath); strcat(strTree,"_"); strcat(strTree,CRenderOption::m_strBaseGraphicsDataPath); strcat(strTree,".txt"); } FILE *fp=fopen(strTree,"r"); // //FILE *fp=fopen("C:\\MP-Project\\Objects\\NatureObject\\TreeInfo.txt","r"); if(fp) { for(int i=0;im_pMainWnd; CWorldCreatorView *av=(CWorldCreatorView *)mf->GetActiveView(); av->m_MouseInterface=50; m_isDel=FALSE; } UpdateData(FALSE); } void CDlgMakePlant::OnCheckTreedel() { // TODO: Add your control notification handler code here UpdateData(); if(m_isDel) { CMainFrame *mf=(CMainFrame*)AfxGetApp()->m_pMainWnd; CWorldCreatorView *av=(CWorldCreatorView *)mf->GetActiveView(); av->m_MouseInterface=51; m_isAdd=FALSE; } UpdateData(FALSE); } void CDlgMakePlant::OnOK() { // TODO: Add extra validation here CMainFrame *mf=(CMainFrame*)AfxGetApp()->m_pMainWnd; CWorldCreatorView *av=(CWorldCreatorView *)mf->GetActiveView(); av->m_MouseInterface=-1; CDialog::OnOK(); } void CDlgMakePlant::OnDblclkListTree() { // TODO: Add your control notification handler code here long TreeKind=m_TreeList.GetCurSel(); CString strAddTree; strAddTree.Format("%d",TreeKind); m_DrawTreeList.AddString(strAddTree); } void CDlgMakePlant::OnDblclkListDrawtree() { // TODO: Add your control notification handler code here long TreeKind=m_DrawTreeList.GetCurSel(); m_DrawTreeList.DeleteString(TreeKind); } void CDlgMakePlant::OnChangeEditTreerange() { UpdateData(); // 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 } void CDlgMakePlant::OnChangeEditTreerate() { UpdateData(); // 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 }