// CFillHoleDlg.cpp: 实现文件 // #include "stdafx.h" #include "CFillHoleDlg.h" #include "afxdialogex.h" #include "resource.h" // CFillHoleDlg 对话框 IMPLEMENT_DYNAMIC(CFillHoleDlg, CDialogEx) CFillHoleDlg::CFillHoleDlg(int up, int down, int left, int right, bool en_up, bool en_down, bool en_left, bool en_right, CWnd* pParent /*=nullptr*/) : CDialogEx(IDD_FILLHOLE, pParent),m_up(up),m_down(down),m_left(left),m_right(right) ,m_en_up(en_up),m_en_down(en_down),m_en_left(en_left),m_en_right(en_right) { } CFillHoleDlg::~CFillHoleDlg() { } void CFillHoleDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_EDITHOLE_UP, m_Edit_Up); DDX_Control(pDX, IDC_EDITHOLE_DOWN, m_Edit_Down); DDX_Control(pDX, IDC_EDITHOLE_LEFT, m_Edit_Left); DDX_Control(pDX, IDC_EDITHOLE_RIGHT, m_Edit_Right); DDX_Control(pDX, IDC_SLDHOLE_UP, m_Slider_Up); DDX_Control(pDX, IDC_SLDHOLE_DOWN, m_Slider_Down); DDX_Control(pDX, IDC_SLDHOLE_LEFT, m_Slider_Left); DDX_Control(pDX, IDC_SLDHOLE_RIGHT, m_Slider_Right); } BOOL CFillHoleDlg::OnInitDialog() { CDialogEx::OnInitDialog(); m_Edit_Up.SetSlideLink(this, IDC_SLDHOLE_UP); m_Edit_Up.SetParams(0.0, 0.49, 10, _T("%0.2f"), 20); m_Edit_Up.SetValue(m_en_up ? m_up/100.0f : 0.0); m_Edit_Down.SetSlideLink(this, IDC_SLDHOLE_DOWN); m_Edit_Down.SetParams(0.0, 0.49, 10, _T("%0.2f"), 20); m_Edit_Down.SetValue(m_en_down ? m_down/100.0f : 0.0); // setup third slider-edit box - floating point m_Edit_Left.SetSlideLink(this, IDC_SLDHOLE_LEFT); m_Edit_Left.SetParams(0.0, 0.49, 10, _T("%0.2f"), 20); m_Edit_Left.SetValue(m_en_left ? m_left/100.0f : 0.0); m_Edit_Right.SetSlideLink(this, IDC_SLDHOLE_RIGHT); m_Edit_Right.SetParams(0.0, 0.49, 10, _T("%0.2f"), 20); m_Edit_Right.SetValue(m_en_right ? m_right/100.0f : 0.0); ((CButton*)GetDlgItem(IDC_CKHOLE_UP))->SetCheck(m_en_up); m_Edit_Up.EnableWindow(m_en_up); m_Slider_Up.EnableWindow(m_en_up); ((CButton*)GetDlgItem(IDC_CKHOLE_DOWN))->SetCheck(m_en_down); m_Edit_Down.EnableWindow(m_en_down); m_Slider_Down.EnableWindow(m_en_down); ((CButton*)GetDlgItem(IDC_CKHOLE_RIGHT))->SetCheck(m_en_right); m_Edit_Right.EnableWindow(m_en_right); m_Slider_Right.EnableWindow(m_en_right); ((CButton*)GetDlgItem(IDC_CKHOLE_LEFT))->SetCheck(m_en_left); m_Edit_Left.EnableWindow(m_en_left); m_Slider_Left.EnableWindow(m_en_left); return true; } void CFillHoleDlg::OnClose(){ CString text; m_Edit_Up.GetWindowText(text); m_up = _wtof(text.GetBuffer()) * 100.0; m_Edit_Down.GetWindowText(text); m_down = _wtof(text.GetBuffer()) * 100.0; m_Edit_Left.GetWindowText(text); m_left = _wtof(text.GetBuffer()) * 100.0; m_Edit_Right.GetWindowText(text); m_right = _wtof(text.GetBuffer()) * 100.0; CDialogEx::OnClose(); } BEGIN_MESSAGE_MAP(CFillHoleDlg, CDialogEx) ON_WM_CLOSE() ON_BN_CLICKED(IDC_CKHOLE_UP, &CFillHoleDlg::OnBnClickedCkholeUp) ON_BN_CLICKED(IDC_CKHOLE_DOWN, &CFillHoleDlg::OnBnClickedCkholeDown) ON_BN_CLICKED(IDC_CKHOLE_LEFT, &CFillHoleDlg::OnBnClickedCkholeLeft) ON_BN_CLICKED(IDC_CKHOLE_RIGHT, &CFillHoleDlg::OnBnClickedCkholeRight) END_MESSAGE_MAP() // CFillHoleDlg 消息处理程序 void CFillHoleDlg::OnBnClickedCkholeUp() { // TODO: 在此添加控件通知处理程序代码 m_en_up = ((CButton*)GetDlgItem(IDC_CKHOLE_UP))->GetCheck(); m_Edit_Up.EnableWindow(m_en_up); m_Slider_Up.EnableWindow(m_en_up); if(!m_en_up) m_Edit_Up.SetValue(0.0); } void CFillHoleDlg::OnBnClickedCkholeDown() { // TODO: 在此添加控件通知处理程序代码 m_en_down = ((CButton*)GetDlgItem(IDC_CKHOLE_DOWN))->GetCheck(); m_Edit_Down.EnableWindow(m_en_down); m_Slider_Down.EnableWindow(m_en_down); if (!m_en_down) m_Edit_Down.SetValue(0.0); } void CFillHoleDlg::OnBnClickedCkholeLeft() { // TODO: 在此添加控件通知处理程序代码 m_en_left = ((CButton*)GetDlgItem(IDC_CKHOLE_LEFT))->GetCheck(); m_Edit_Left.EnableWindow(m_en_left); m_Slider_Left.EnableWindow(m_en_left); if (!m_en_left) m_Edit_Left.SetValue(0.0); } void CFillHoleDlg::OnBnClickedCkholeRight() { // TODO: 在此添加控件通知处理程序代码 m_en_right = ((CButton*)GetDlgItem(IDC_CKHOLE_RIGHT))->GetCheck(); m_Edit_Right.EnableWindow(m_en_right); m_Slider_Right.EnableWindow(m_en_right); if (!m_en_right) m_Edit_Right.SetValue(0.0); }