⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pref.cpp

📁 一个2D电磁场FEM计算的VC++源程序
💻 CPP
字号:
// Pref.cpp : implementation file
//

#include "stdafx.h"
#include "femme.h"
#include <afxdlgs.h>
#include "Pref.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CPref dialog


CPref::CPref(CWnd* pParent /*=NULL*/)
	: CDialog(CPref::IDD, pParent)
{
	//{{AFX_DATA_INIT(CPref)
	m_d_freq = 0.0;
	m_d_gridsize = 0.0;
	m_d_pixels = 0.0;
	m_d_prec = 0.0;
	m_d_showgrid = FALSE;
	m_d_snapgrid = FALSE;
	m_d_showorigin = FALSE;
	m_d_luaconsole = FALSE;
	m_d_shownames = FALSE;
	//}}AFX_DATA_INIT
	
}


void CPref::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPref)
	DDX_Control(pDX, IDC_DCOLOR, m_d_color);
	DDX_Control(pDX, IDC_DTYPE, m_d_type);
	DDX_Control(pDX, IDC_DLENGTH, m_d_length);
	DDX_Control(pDX, IDC_DCOORD, m_d_coord);
	DDX_Control(pDX, IDC_DACTION, m_d_action);
	DDX_Text(pDX, IDC_DFREQ, m_d_freq);
	DDX_Text(pDX, IDC_DGRIDSIZE, m_d_gridsize);
	DDX_Text(pDX, IDC_DPIXELS, m_d_pixels);
	DDX_Text(pDX, IDC_DPREC, m_d_prec);
	DDV_MinMaxDouble(pDX, m_d_prec, 1.e-016, 1.e-008);
	DDX_Check(pDX, IDC_DSHOWGRID, m_d_showgrid);
	DDX_Check(pDX, IDC_DSNAPGRID, m_d_snapgrid);
	DDX_Check(pDX, IDC_SHOW_ORIGIN, m_d_showorigin);
	DDX_Check(pDX, IDC_SHOW_CONSOLE, m_d_luaconsole);
	DDX_Check(pDX, IDC_SHOWNAMES, m_d_shownames);
	//}}AFX_DATA_MAP
	DDX_Control(pDX, IDC_DFREQ, m_IDC_d_freq);
	DDX_Control(pDX, IDC_DGRIDSIZE, m_IDC_d_gridsize);
	DDX_Control(pDX, IDC_DPIXELS, m_IDC_d_pixels);
	DDX_Control(pDX, IDC_DPREC, m_IDC_d_prec);
}


BEGIN_MESSAGE_MAP(CPref, CDialog)
	//{{AFX_MSG_MAP(CPref)
	ON_BN_CLICKED(IDC_MODBTN, OnModifyButton)
	ON_BN_CLICKED(IDC_RESTORE, OnRestoreColors)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPref message handlers

void CPref::OnModifyButton() 
{
	CColorDialog dlg;
	int i;

	UpdateData();
	i=m_d_color.GetCurSel();

    dlg.m_cc.lpCustColors=clist; 
	dlg.m_cc.rgbResult=clist[i];
	dlg.m_cc.Flags=dlg.m_cc.Flags | CC_FULLOPEN | CC_RGBINIT;

	if(dlg.DoModal()==IDOK){
		clist[i]=dlg.GetColor();
	}
	else{
	}

}

BOOL CPref::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	m_d_action.SetCurSel(s_action);
	m_d_coord.SetCurSel(s_coord);
	m_d_length.SetCurSel(s_length);
	m_d_type.SetCurSel(s_type);
	m_d_color.SetCurSel(0);

	UpdateData(FALSE);
	
	return TRUE;  
}


void CPref::OnOK() 
{
	UpdateData();

	s_action=m_d_action.GetCurSel();
	s_coord=m_d_coord.GetCurSel();
	s_length=m_d_length.GetCurSel();
	s_type=m_d_type.GetCurSel();
	
	CDialog::OnOK();
}

void CPref::OnRestoreColors() 
{
	if(AfxMessageBox("Reset all color preferences?",MB_OKCANCEL)==IDOK)
	{
		clist[0]= RGB(255,0,0);     //SelColor
		clist[1]= RGB(213,228,20);  //MeshColor
		clist[2]= RGB(0,125,0);     //BlockColor 
		clist[3]= RGB(0,0,255);     //LineColor
		clist[4]= RGB(0,0,255);     //GridColor 
		clist[5]= RGB(0,0,0);       //NodeColor
		clist[6]= RGB(255,255,255); //BackColor
		clist[7]= RGB(0,0,0);		//NameColor
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -