home *** CD-ROM | disk | FTP | other *** search
- // Ocrnum.cpp : implementation file
- //
- // Copyright (c) 1991-1998 by LEAD Technologies, Inc.
- // All Rights Reserved.
-
- #include "stdafx.h"
- //#include "Ocrdemo.h"
- #include "resource.h"
- #include "Ocrnum.h"
-
- /////////////////////////////////////////////////////////////////////////////
- // COcrDemoNumberDlg dialog
-
- COcrDemoNumberDlg::COcrDemoNumberDlg(CWnd* pParent /*=NULL*/)
- : CDialog(COcrDemoNumberDlg::IDD, pParent)
- {
- //{{AFX_DATA_INIT(COcrDemoNumberDlg)
- m_nValue = 0;
- m_nMin = 0;
- m_nMax = 100;
- m_nStep = 1;
- m_nPage = 10;
- m_strLabel = _T("");
- m_strTitle = _T("");
- //}}AFX_DATA_INIT
-
- m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
- }
-
-
- void COcrDemoNumberDlg::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(COcrDemoNumberDlg)
- DDX_Control(pDX, IDC_SCROLLBAR1, m_ScrollBar);
- DDX_Text(pDX, IDC_EDIT1, m_nValue);
- DDV_MinMaxInt(pDX, m_nValue, m_nMin, m_nMax);
- DDX_Text(pDX, IDC_STATIC1, m_strLabel);
- //}}AFX_DATA_MAP
- }
-
-
- BEGIN_MESSAGE_MAP(COcrDemoNumberDlg, CDialog)
- //{{AFX_MSG_MAP(COcrDemoNumberDlg)
- ON_WM_HSCROLL()
- ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1)
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
-
-
- BOOL COcrDemoNumberDlg::GetValue()
- {
- BOOL fTranslated;
- int n;
-
- n = GetDlgItemInt (IDC_EDIT1, &fTranslated, TRUE);
-
- if (!fTranslated || n < m_nMin || n > m_nMax)
- {
- return FALSE;
- }
-
- m_nValue = n;
- return TRUE;
- }
-
- void COcrDemoNumberDlg::SetValue()
- {
- SetDlgItemInt (IDC_EDIT1, m_nValue, TRUE);
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // COcrDemoNumberDlg message handlers
-
-
- void COcrDemoNumberDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
- {
- GetValue();
-
- switch (nSBCode)
- {
- case SB_LEFT:
- m_nValue = m_nMin;
- break;
- case SB_RIGHT:
- m_nValue = m_nMax;
- break;
- case SB_THUMBPOSITION:
- case SB_THUMBTRACK:
- m_nValue = (int) nPos;
- break;
- case SB_LINELEFT:
- m_nValue = max (m_nValue - m_nStep, m_nMin);
- break;
- case SB_LINERIGHT:
- m_nValue = min (m_nValue + m_nStep, m_nMax);
- break;
- case SB_PAGELEFT:
- m_nValue = max (m_nValue - m_nPage, m_nMin);
- break;
- case SB_PAGERIGHT:
- m_nValue = min (m_nValue + m_nPage, m_nMax);
- break;
- }
-
- pScrollBar->SetScrollPos(m_nValue);
- SetValue();
- }
-
- void COcrDemoNumberDlg::OnChangeEdit1()
- {
- if (GetValue())
- {
- m_ScrollBar.SetScrollPos(m_nValue);
- }
- }
-
- BOOL COcrDemoNumberDlg::OnInitDialog()
- {
- CDialog::OnInitDialog();
-
- SetWindowText(m_strTitle);
-
- m_ScrollBar.SetScrollRange(m_nMin, m_nMax, TRUE);
- m_ScrollBar.SetScrollPos(m_nValue);
- int j = 0;
-
- SetIcon(m_hIcon, TRUE);
- SetIcon(m_hIcon, FALSE);
-
- return TRUE;
- }
-