📄 createcenterforce.cpp
字号:
// CreateCenterForce.cpp : 实现文件
//
#include "stdafx.h"
#include "PerfectParticle.h"
#include "CreateCenterForce.h"
#include ".\createcenterforce.h"
#include "PerfectParticleDlg.h"
// CCreateCenterForce 对话框
IMPLEMENT_DYNAMIC(CCreateCenterForce, CDialog)
CCreateCenterForce::CCreateCenterForce(CWnd* pParent /*=NULL*/)
: CDialog(CCreateCenterForce::IDD, pParent)
{
}
CCreateCenterForce::~CCreateCenterForce()
{
}
void CCreateCenterForce::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, m_list);
}
BEGIN_MESSAGE_MAP(CCreateCenterForce, CDialog)
ON_BN_CLICKED(IDC_BUTTON3, OnBnClickedButton3)
ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
ON_BN_CLICKED(IDC_BUTTON2, OnBnClickedButton2)
END_MESSAGE_MAP()
// CCreateCenterForce 消息处理程序
BOOL CCreateCenterForce::OnInitDialog()
{
CDialog::OnInitDialog();
HICON icon=::LoadIcon(theApp.m_hInstance,MAKEINTRESOURCE(IDR_MAINFRAME));
SetIcon(icon,TRUE);
SetIcon(icon,FALSE);
CRect rect;
int num=0;
m_list.GetWindowRect (rect);
int width=rect.right -rect.left ;
m_list.SetBkColor(RGB(177,151,240));
m_list.SetTextColor (RGB(255,0,0));
m_list.SetTextBkColor (RGB(177,151,240));
m_list.SetExtendedStyle (LVS_EX_FULLROWSELECT| LVS_REPORT|LVS_EX_GRIDLINES );
m_list.InsertColumn(num,"序号");
num++;
m_list.InsertColumn(num,"外力大小");
num++;
m_list.InsertColumn(num,"衰减速度");
num++;
m_list.InsertColumn(num,"开始半径");
num++;
m_list.InsertColumn(num,"结束半径");
for(int i=0;i<=num;i++)
m_list.SetColumnWidth (i,width/(num+1));
m_list.DeleteAllItems ();
ShowData();
return TRUE;
}
void CCreateCenterForce::ShowData(){
CString string;
POSITION pos=m_dlg->m_forceParam.GetHeadPosition();
for(int i=0;i<m_dlg->m_forceParam.GetCount();i++){
CPerfectParticleDlg::CenterForce data=(CPerfectParticleDlg::CenterForce)(m_dlg->m_forceParam.GetNext(pos));
string.Format("影响子%d",i+1);
m_list.InsertItem(i,string);
string.Format("%f",data.force);
m_list.SetItemText(i,1,string);
string.Format("%f",data.nr);
m_list.SetItemText(i,2,string);
string.Format("%f",data.fr);
m_list.SetItemText(i,3,string);
string.Format("%f",data.cut);
m_list.SetItemText(i,4,string);
}
}
INT_PTR CCreateCenterForce::DoModal(CPerfectParticleDlg *dlg)
{
m_dlg=dlg;
return CDialog::DoModal();
}
void CCreateCenterForce::OnBnClickedButton1()
{
CCenterData dlg;
dlg.DoModal();
if(dlg.dataSucc){
CPerfectParticleDlg::CenterForce data;
data.force=dlg.force;
data.nr=dlg.nr;
data.fr=dlg.fr;
data.cut=dlg.cut;
m_dlg->m_forceParam.AddTail(data);
m_list.DeleteAllItems ();
ShowData();
}
}
void CCreateCenterForce::OnBnClickedButton2()
{
int index=m_list.GetSelectionMark ();
if(index>=0){
m_dlg->m_forceParam.RemoveAt(m_dlg->m_forceParam.FindIndex(index));
m_list.DeleteAllItems();
ShowData();
}
else{
MessageBox("请选择删除项","错误");
}
}
void CCreateCenterForce::OnBnClickedButton3()
{
OnCancel();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -