// BrightSetting.cpp: 实现文件 // #include "stdafx.h" #include "BrightSetting.h" #include "afxdialogex.h" #include "Resource.h" #include "string" //#include "UI_INI.h" #include "TwainUIDlg.h" using namespace std; //extern CUI_INI* m_pUI_INI; // BrightSetting 对话框 IMPLEMENT_DYNAMIC(BrightSetting, CDialog) BrightSetting::BrightSetting(CWnd* pParent /*=nullptr*/) : CDialog(IDD_DIALOG_PAGEBRIGHTNESS, pParent) { } BrightSetting::~BrightSetting() { //if (strB) //{ // delete[] strB; //} //if(strG) //{ // delete[] strG; //} //if (strC) //{ // delete strC; //} } void BrightSetting::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_SLDBRIGTHNESS, m_sldBrightness); DDX_Control(pDX, IDC_SLDCONTRAST, m_sldContrast); DDX_Control(pDX, IDC_SLDGAMMA, m_sldGamma); DDX_Control(pDX, IDC_LBBRIGHTNESS, m_LBBrightness); DDX_Control(pDX, IDC_LBCONTRAST, m_LBContrast); DDX_Control(pDX, IDC_LBGAMMA, m_LBGamma); DDX_Control(pDX, IDC_CHKSELFCONTRAST, m_CKSelfContrast); } BEGIN_MESSAGE_MAP(BrightSetting, CDialog) ON_WM_HSCROLL() ON_BN_CLICKED(IDC_CHKSELFCONTRAST, &BrightSetting::OnBnClickedChkselfcontrast) END_MESSAGE_MAP() // BrightSetting 消息处理程序 BOOL BrightSetting::OnInitDialog() { CDialog::OnInitDialog(); OnInitBrightness(128); OnInitContrast(4); OnInitGamma(10); // TODO: 在此添加额外的初始化 return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE } void BrightSetting::OnInitBrightness(int value) { m_sldBrightness.SetRange(1, 255,TRUE); m_sldBrightness.SetTicFreq(16); m_sldBrightness.SetPos(value); sprintf(strB,"%d",value/1); SetDlgItemText(IDC_LBBRIGHTNESS, strB); } void BrightSetting::OnInitContrast(int value) { m_sldContrast.SetRange(1, 7); m_sldContrast.SetTicFreq(1); m_sldContrast.SetPos(value); sprintf(strC,"%d",value/1); SetDlgItemText(IDC_LBCONTRAST, strC); } void BrightSetting::OnInitGamma(int value) { m_sldGamma.SetRange(1, 50); m_sldGamma.SetTicFreq(2); m_sldGamma.SetPos(value); sprintf(strG, "%0.1f", value/10.0); SetDlgItemText(IDC_LBGAMMA, strG); } void BrightSetting::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { UpdateData(TRUE); // TODO: 在此添加消息处理程序代码和/或调用默认值 switch (pScrollBar->GetDlgCtrlID()) { case IDC_SLDBRIGTHNESS: { CSliderCtrl *slc_B = (CSliderCtrl*)GetDlgItem(IDC_SLDBRIGTHNESS); int valueB = slc_B->GetPos(); char strB[10]; sprintf(strB,"%d",valueB); SetDlgItemText(IDC_LBBRIGHTNESS, strB); break; } case IDC_SLDCONTRAST: { CSliderCtrl *slc_C = (CSliderCtrl*)GetDlgItem(IDC_SLDCONTRAST); int valueC = slc_C->GetPos(); char strC[10]; sprintf(strC,"%d",valueC); SetDlgItemText(IDC_LBCONTRAST, strC); break; } case IDC_SLDGAMMA: { CSliderCtrl *slc_G = (CSliderCtrl*)GetDlgItem(IDC_SLDGAMMA); int valueG = slc_G->GetPos(); double realValue = valueG / 10.0; char strG[10]; sprintf(strG, "%0.1f", realValue); SetDlgItemText(IDC_LBGAMMA, strG); break; } default: break; } CDialog::OnHScroll(nSBCode, nPos, pScrollBar); UpdateData(FALSE); } void BrightSetting::OnBnClickedChkselfcontrast() { // TODO: 在此添加控件通知处理程序代码 //m_CKSelfContrast.GetCheck(); //TwainUIDlg* uidlg=(TwainUIDlg*)GetParent(); //m_pUI_INI->SaveItemsString() } BOOL BrightSetting::OnCommand(WPARAM wParam, LPARAM lParam) { // TODO: 在此添加专用代码和/或调用基类 return CDialog::OnCommand(wParam, lParam); }