📄 createboxcreator.cpp
字号:
// CreateBoxCreator.cpp : 实现文件
//
#include "stdafx.h"
#include "PerfectParticle.h"
#include "CreateBoxCreator.h"
#include ".\createboxcreator.h"
#include "PerfectParticleDlg.h"
// CCreateBoxCreator 对话框
IMPLEMENT_DYNAMIC(CCreateBoxCreator, CDialog)
CCreateBoxCreator::CCreateBoxCreator(CWnd* pParent /*=NULL*/)
: CDialog(CCreateBoxCreator::IDD, pParent)
{
}
CCreateBoxCreator::~CCreateBoxCreator()
{
}
void CCreateBoxCreator::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, m_list);
}
BEGIN_MESSAGE_MAP(CCreateBoxCreator, CDialog)
ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
ON_BN_CLICKED(IDC_BUTTON2, OnBnClickedButton2)
ON_BN_CLICKED(IDC_BUTTON3, OnBnClickedButton3)
END_MESSAGE_MAP()
// CCreateBoxCreator 消息处理程序
INT_PTR CCreateBoxCreator::DoModal(CPerfectParticleDlg *dlg)
{
m_dlg=dlg;
return CDialog::DoModal();
}
BOOL CCreateBoxCreator::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,"顶点二");
int w1=width/(2*(num+1));
m_list.SetColumnWidth (0,w1);
for(int i=1;i<=num;i++)
m_list.SetColumnWidth (i,(width-w1)/num);
m_list.DeleteAllItems ();
ShowData();
return TRUE;
}
void CCreateBoxCreator::ShowData()
{
CString string;
POSITION pos=m_dlg->m_box.GetHeadPosition();
for(int i=0;i<m_dlg->m_box.GetCount();i++){
CPerfectParticleDlg::BoxForce data=(CPerfectParticleDlg::BoxForce)(m_dlg->m_box.GetNext(pos));
string.Format("影响子%d",i+1);
m_list.InsertItem(i,string);
string.Format("%s%d%s%d%s%d%s","(",(int)(data.one.x),",",(int)(data.one.y),",",(int)(data.one.z),")");
m_list.SetItemText(i,1,string);
string.Format("%s%d%s%d%s%d%s","(",(int)(data.two.x),",",(int)(data.two.y),",",(int)(data.two.z),")");
m_list.SetItemText(i,2,string);
}
}
void CCreateBoxCreator::OnBnClickedButton1()
{
CBoxData dlg;
dlg.DoModal();
CPerfectParticleDlg::BoxForce data;
data.one=dlg.m_vec1;
data.two=dlg.m_vec2;
m_dlg->m_box.AddTail(data);
m_list.DeleteAllItems ();
ShowData();
}
void CCreateBoxCreator::OnBnClickedButton2()
{
int index=m_list.GetSelectionMark ();
if(index>=0){
m_list.DeleteAllItems();
m_dlg->m_box.RemoveAt(m_dlg->m_box.FindIndex(index));
m_list.DeleteAllItems ();
ShowData();
}
else{
MessageBox("请选择删除项","错误");
}
}
void CCreateBoxCreator::OnBnClickedButton3()
{
OnCancel();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -