// MRCCompressionsPropPage.cpp : implementation file // #include "stdafx.h" #include "MRCCompressionsPropPage.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CMRCCompressionsPropPage property page IMPLEMENT_DYNCREATE(CMRCCompressionsPropPage, CPropertyPage) CMRCCompressionsPropPage::CMRCCompressionsPropPage() : CPropertyPage(CMRCCompressionsPropPage::IDD) { //{{AFX_DATA_INIT(CMRCCompressionsPropPage) m_nGrayScale2BitCoder = -1; m_nGrayScaleCoder = -1; m_nMaskCoder = -1; m_nPictureCoder = -1; m_nText2BitCoder = -1; m_nQFactorGrayScale = 2; m_nQFactor = 2; //}}AFX_DATA_INIT } CMRCCompressionsPropPage::~CMRCCompressionsPropPage() { } void CMRCCompressionsPropPage::DoDataExchange(CDataExchange* pDX) { CPropertyPage::DoDataExchange(pDX); //{{AFX_DATA_MAP(CMRCCompressionsPropPage) DDX_CBIndex(pDX, IDC_COMBO_MRC_GRAYSCALE2BITCODER, m_nGrayScale2BitCoder); DDX_CBIndex(pDX, IDC_COMBO_MRC_GRAYSCALECODER, m_nGrayScaleCoder); DDX_CBIndex(pDX, IDC_COMBO_MRC_MASKCODER, m_nMaskCoder); DDX_CBIndex(pDX, IDC_COMBO_MRC_PICTURECODER, m_nPictureCoder); DDX_CBIndex(pDX, IDC_COMBO_MRC_TEXT2BITCODER, m_nText2BitCoder); DDX_Text(pDX, IDC_EDIT_MRC_QFACTOR_GRAYSCALE, m_nQFactorGrayScale); DDV_MinMaxInt(pDX, m_nQFactorGrayScale, 2, 255); DDX_Text(pDX, IDC_EDIT_MRC_QFACTOR, m_nQFactor); DDV_MinMaxInt(pDX, m_nQFactor, 2, 255); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CMRCCompressionsPropPage, CPropertyPage) //{{AFX_MSG_MAP(CMRCCompressionsPropPage) ON_CBN_SELCHANGE(IDC_COMBO_MRC_PICTURECODER, OnSelchangeComboPicturecoder) ON_CBN_SELCHANGE(IDC_COMBO_MRC_GRAYSCALECODER, OnSelchangeComboGrayscalecoder) ON_EN_CHANGE(IDC_EDIT_MRC_QFACTOR, OnChangeEditMrcQfactor) ON_CBN_SELCHANGE(IDC_COMBO_MRC_TEXT2BITCODER, OnSelchangeComboMrcText2bitcoder) ON_CBN_SELCHANGE(IDC_COMBO_MRC_GRAYSCALE2BITCODER, OnSelchangeComboMrcGrayscale2bitcoder) ON_CBN_SELCHANGE(IDC_COMBO_MRC_MASKCODER, OnSelchangeComboMrcMaskcoder) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMRCCompressionsPropPage message handlers BOOL CMRCCompressionsPropPage::OnInitDialog() { CPropertyPage::OnInitDialog(); // TODO: Add extra initialization here CDemo* pTheApp = (CDemo*) AfxGetApp(); m_nGrayScale2BitCoder = pTheApp->Options.MRC_nGrayScale2BitCoder; m_nGrayScaleCoder = pTheApp->Options.MRC_nGrayScaleCoder; m_nMaskCoder = pTheApp->Options.MRC_nMaskCoder; m_nPictureCoder = pTheApp->Options.MRC_nPictureCoder; m_nQFactor = pTheApp->Options.MRC_nQFactor; m_nQFactorGrayScale = pTheApp->Options.MRC_nQFactorGrayScale; m_nText2BitCoder = pTheApp->Options.MRC_nText2BitCoder; UpdateData(FALSE); OnSelchangeComboPicturecoder(); OnSelchangeComboGrayscalecoder(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CMRCCompressionsPropPage::OnSelchangeComboPicturecoder() { SetModified(TRUE); UpdateData(TRUE); if ( m_nPictureCoder==1 || m_nPictureCoder==4 ) GetDlgItem(IDC_EDIT_MRC_QFACTOR)->EnableWindow(FALSE); else GetDlgItem(IDC_EDIT_MRC_QFACTOR)->EnableWindow(TRUE); } void CMRCCompressionsPropPage::OnSelchangeComboGrayscalecoder() { SetModified(TRUE); UpdateData(TRUE); if ( m_nGrayScaleCoder==0 || m_nGrayScaleCoder==3 ) GetDlgItem(IDC_EDIT_MRC_QFACTOR_GRAYSCALE)->EnableWindow(FALSE); else GetDlgItem(IDC_EDIT_MRC_QFACTOR_GRAYSCALE)->EnableWindow(TRUE); } void CMRCCompressionsPropPage::OnChangeEditMrcQfactor() { SetModified(TRUE); } void CMRCCompressionsPropPage::OnSelchangeComboMrcText2bitcoder() { SetModified(TRUE); } void CMRCCompressionsPropPage::OnSelchangeComboMrcGrayscale2bitcoder() { SetModified(TRUE); } void CMRCCompressionsPropPage::OnSelchangeComboMrcMaskcoder() { SetModified(TRUE); } BOOL CMRCCompressionsPropPage::OnApply() { CDemo* pTheApp = (CDemo*) AfxGetApp(); UpdateData(TRUE); pTheApp->Options.MRC_nGrayScale2BitCoder = m_nGrayScale2BitCoder ; pTheApp->Options.MRC_nGrayScaleCoder = m_nGrayScaleCoder ; pTheApp->Options.MRC_nMaskCoder = m_nMaskCoder ; pTheApp->Options.MRC_nPictureCoder = m_nPictureCoder ; pTheApp->Options.MRC_nQFactor = m_nQFactor ; pTheApp->Options.MRC_nQFactorGrayScale = m_nQFactorGrayScale ; pTheApp->Options.MRC_nText2BitCoder = m_nText2BitCoder ; return TRUE; } void CMRCCompressionsPropPage::OnOK() { CPropertyPage::OnOK(); }