twain3.0/huagao/CFillHoleDlg.cpp

143 lines
4.2 KiB
C++

// 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);
}