157 lines
7.1 KiB
C++
157 lines
7.1 KiB
C++
// 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);
|
||
}
|