twain2/hugaotwainds/BrightSetting.cpp

157 lines
7.1 KiB
C++
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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