initial commit
This commit is contained in:
commit
5d7b3af547
149
src/MainFrm.cpp
Normal file
149
src/MainFrm.cpp
Normal file
|
@ -0,0 +1,149 @@
|
|||
// MainFrm.cpp : implementation of the CMainFrame class
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "Rattail CE.h"
|
||||
|
||||
#include "MainFrm.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
const DWORD dwAdornmentFlags = 0; // exit button
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CMainFrame
|
||||
|
||||
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
|
||||
|
||||
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
|
||||
//{{AFX_MSG_MAP(CMainFrame)
|
||||
ON_WM_CREATE()
|
||||
ON_COMMAND(ID_FILE_SAVE_X, OnFileSave)
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CMainFrame construction/destruction
|
||||
|
||||
CMainFrame::CMainFrame()
|
||||
{
|
||||
// TODO: add member initialization code here
|
||||
|
||||
}
|
||||
|
||||
CMainFrame::~CMainFrame()
|
||||
{
|
||||
}
|
||||
|
||||
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
||||
{
|
||||
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
|
||||
return -1;
|
||||
|
||||
if(!m_wndCommandBar.Create(this) ||
|
||||
!m_wndCommandBar.InsertMenuBar(IDR_MAINFRAME) ||
|
||||
!m_wndCommandBar.AddAdornments(dwAdornmentFlags))
|
||||
{
|
||||
TRACE0("Failed to create CommandBar\n");
|
||||
return -1; // fail to create
|
||||
}
|
||||
|
||||
m_wndCommandBar.SetBarStyle(m_wndCommandBar.GetBarStyle() |
|
||||
CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_FIXED);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
|
||||
{
|
||||
if( !CFrameWnd::PreCreateWindow(cs) )
|
||||
return FALSE;
|
||||
// TODO: Modify the Window class or styles here by modifying
|
||||
// the CREATESTRUCT cs
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CMainFrame diagnostics
|
||||
|
||||
#ifdef _DEBUG
|
||||
void CMainFrame::AssertValid() const
|
||||
{
|
||||
CFrameWnd::AssertValid();
|
||||
}
|
||||
|
||||
void CMainFrame::Dump(CDumpContext& dc) const
|
||||
{
|
||||
CFrameWnd::Dump(dc);
|
||||
}
|
||||
|
||||
#endif //_DEBUG
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CMainFrame message handlers
|
||||
|
||||
void CMainFrame::OnFileSave()
|
||||
{
|
||||
CDocument* pDocument;
|
||||
CString* pPath;
|
||||
CFile destFile;
|
||||
CArchive* ar;
|
||||
BOOL bResult;
|
||||
|
||||
pDocument = GetActiveDocument();
|
||||
if (! pDocument)
|
||||
return;
|
||||
|
||||
pPath = GetNewPath();
|
||||
if (! pPath)
|
||||
return;
|
||||
|
||||
bResult = destFile.Open(*pPath, CFile::modeCreate | CFile::modeWrite | CFile::shareExclusive);
|
||||
delete pPath;
|
||||
if (! bResult)
|
||||
return;
|
||||
|
||||
ar = new CArchive(&destFile, CArchive::store);
|
||||
pDocument->Serialize(*ar);
|
||||
ar->Flush();
|
||||
ar->Close();
|
||||
destFile.Close();
|
||||
delete ar;
|
||||
}
|
||||
|
||||
CString* CMainFrame::GetNewPath()
|
||||
{
|
||||
WIN32_FIND_DATA FindData;
|
||||
HANDLE hFindFile;
|
||||
BOOL bResult;
|
||||
UINT i;
|
||||
CString folder = DOCUMENTS_FOLDER;
|
||||
CString* pPath;
|
||||
|
||||
hFindFile = FindFirstFile(folder, &FindData);
|
||||
FindClose(hFindFile);
|
||||
if (hFindFile == INVALID_HANDLE_VALUE) {
|
||||
bResult = CreateDirectory(folder, NULL);
|
||||
if (! bResult)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
pPath = new CString;
|
||||
for (i = 1; i <= 1024; i++) {
|
||||
pPath->Format(L"%s\\Batch %04u", folder, i);
|
||||
hFindFile = FindFirstFile(*pPath, &FindData);
|
||||
FindClose(hFindFile);
|
||||
if (hFindFile == INVALID_HANDLE_VALUE) {
|
||||
return pPath;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
58
src/MainFrm.h
Normal file
58
src/MainFrm.h
Normal file
|
@ -0,0 +1,58 @@
|
|||
// MainFrm.h : interface of the CMainFrame class
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if !defined(AFX_MAINFRM_H__C8833BE4_6339_420D_8475_01C269AA00D4__INCLUDED_)
|
||||
#define AFX_MAINFRM_H__C8833BE4_6339_420D_8475_01C269AA00D4__INCLUDED_
|
||||
|
||||
#if _MSC_VER >= 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER >= 1000
|
||||
|
||||
#define DOCUMENTS_FOLDER "\\My Documents\\Rattail"
|
||||
|
||||
class CMainFrame : public CFrameWnd
|
||||
{
|
||||
protected: // create from serialization only
|
||||
CMainFrame();
|
||||
DECLARE_DYNCREATE(CMainFrame)
|
||||
|
||||
// Attributes
|
||||
public:
|
||||
|
||||
// Operations
|
||||
public:
|
||||
CString* GetNewPath();
|
||||
|
||||
// Overrides
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CMainFrame)
|
||||
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
public:
|
||||
virtual ~CMainFrame();
|
||||
#ifdef _DEBUG
|
||||
virtual void AssertValid() const;
|
||||
virtual void Dump(CDumpContext& dc) const;
|
||||
#endif
|
||||
|
||||
protected: // control bar embedded members
|
||||
CCeCommandBar m_wndCommandBar;
|
||||
|
||||
// Generated message map functions
|
||||
protected:
|
||||
//{{AFX_MSG(CMainFrame)
|
||||
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
||||
afx_msg void OnFileSave();
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_MAINFRM_H__C8833BE4_6339_420D_8475_01C269AA00D4__INCLUDED_)
|
154
src/Rattail CE.cpp
Normal file
154
src/Rattail CE.cpp
Normal file
|
@ -0,0 +1,154 @@
|
|||
// Rattail CE.cpp : Defines the class behaviors for the application.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "Rattail CE.h"
|
||||
|
||||
#include "MainFrm.h"
|
||||
|
||||
#include "Rattail CEDoc.h"
|
||||
#include "Rattail CEView.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CRattailCEApp
|
||||
|
||||
BEGIN_MESSAGE_MAP(CRattailCEApp, CWinApp)
|
||||
//{{AFX_MSG_MAP(CRattailCEApp)
|
||||
ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
|
||||
// NOTE - the ClassWizard will add and remove mapping macros here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code!
|
||||
//}}AFX_MSG_MAP
|
||||
// Standard file based document commands
|
||||
ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
|
||||
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CRattailCEApp construction
|
||||
|
||||
CRattailCEApp::CRattailCEApp()
|
||||
: CWinApp()
|
||||
{
|
||||
// TODO: add construction code here,
|
||||
// Place all significant initialization in InitInstance
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// The one and only CRattailCEApp object
|
||||
|
||||
CRattailCEApp theApp;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CRattailCEApp initialization
|
||||
|
||||
BOOL CRattailCEApp::InitInstance()
|
||||
{
|
||||
// Standard initialization
|
||||
// If you are not using these features and wish to reduce the size
|
||||
// of your final executable, you should remove from the following
|
||||
// the specific initialization routines you do not need.
|
||||
|
||||
SetRegistryKey(_T("Rattail"));
|
||||
LoadStdProfileSettings(0); // Load standard INI file options (including MRU)
|
||||
|
||||
|
||||
// Register the application's document templates. Document templates
|
||||
// serve as the connection between documents, frame windows and views.
|
||||
|
||||
CSingleDocTemplate* pDocTemplate;
|
||||
pDocTemplate = new CSingleDocTemplate(
|
||||
IDR_MAINFRAME,
|
||||
RUNTIME_CLASS(CRattailCEDoc),
|
||||
RUNTIME_CLASS(CMainFrame), // main SDI frame window
|
||||
RUNTIME_CLASS(CRattailCEView));
|
||||
AddDocTemplate(pDocTemplate);
|
||||
|
||||
// Parse command line for standard shell commands, DDE, file open
|
||||
CCommandLineInfo cmdInfo;
|
||||
ParseCommandLine(cmdInfo);
|
||||
|
||||
// Dispatch commands specified on the command line
|
||||
if (!ProcessShellCommand(cmdInfo))
|
||||
return FALSE;
|
||||
|
||||
// The one and only window has been initialized, so show and update it.
|
||||
m_pMainWnd->ShowWindow(SW_SHOW);
|
||||
m_pMainWnd->UpdateWindow();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CAboutDlg dialog used for App About
|
||||
|
||||
class CAboutDlg : public CDialog
|
||||
{
|
||||
public:
|
||||
CAboutDlg();
|
||||
|
||||
// Dialog Data
|
||||
//{{AFX_DATA(CAboutDlg)
|
||||
enum { IDD = IDD_ABOUTBOX };
|
||||
//}}AFX_DATA
|
||||
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CAboutDlg)
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
protected:
|
||||
//{{AFX_MSG(CAboutDlg)
|
||||
virtual BOOL OnInitDialog(); // Added for WCE apps
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
|
||||
{
|
||||
//{{AFX_DATA_INIT(CAboutDlg)
|
||||
//}}AFX_DATA_INIT
|
||||
}
|
||||
|
||||
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
//{{AFX_DATA_MAP(CAboutDlg)
|
||||
//}}AFX_DATA_MAP
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
|
||||
//{{AFX_MSG_MAP(CAboutDlg)
|
||||
// No message handlers
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
// App command to run the dialog
|
||||
void CRattailCEApp::OnAppAbout()
|
||||
{
|
||||
CAboutDlg aboutDlg;
|
||||
aboutDlg.DoModal();
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CRattailCEApp commands
|
||||
// Added for WCE apps
|
||||
|
||||
BOOL CAboutDlg::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
|
||||
CenterWindow();
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// EXCEPTION: OCX Property Pages should return FALSE
|
||||
}
|
50
src/Rattail CE.h
Normal file
50
src/Rattail CE.h
Normal file
|
@ -0,0 +1,50 @@
|
|||
// Rattail CE.h : main header file for the RATTAIL CE application
|
||||
//
|
||||
|
||||
#if !defined(AFX_RATTAILCE_H__6BB1429E_C1CA_4593_B98C_4AB7DC7ACF6C__INCLUDED_)
|
||||
#define AFX_RATTAILCE_H__6BB1429E_C1CA_4593_B98C_4AB7DC7ACF6C__INCLUDED_
|
||||
|
||||
#if _MSC_VER >= 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER >= 1000
|
||||
|
||||
#ifndef __AFXWIN_H__
|
||||
#error include 'stdafx.h' before including this file for PCH
|
||||
#endif
|
||||
|
||||
#include "resource.h" // main symbols
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CRattailCEApp:
|
||||
// See Rattail CE.cpp for the implementation of this class
|
||||
//
|
||||
|
||||
class CRattailCEApp : public CWinApp
|
||||
{
|
||||
public:
|
||||
CRattailCEApp();
|
||||
|
||||
// Overrides
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CRattailCEApp)
|
||||
public:
|
||||
virtual BOOL InitInstance();
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
|
||||
//{{AFX_MSG(CRattailCEApp)
|
||||
afx_msg void OnAppAbout();
|
||||
// NOTE - the ClassWizard will add and remove member functions here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code !
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_RATTAILCE_H__6BB1429E_C1CA_4593_B98C_4AB7DC7ACF6C__INCLUDED_)
|
349
src/Rattail CE.rc
Normal file
349
src/Rattail CE.rc
Normal file
|
@ -0,0 +1,349 @@
|
|||
//Microsoft eMbedded Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "afxres.h"
|
||||
#include "newres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"#include ""newres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_OLE_RESOURCES\r\n"
|
||||
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
|
||||
"\r\n"
|
||||
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
|
||||
"#ifdef _WIN32\r\n"
|
||||
"LANGUAGE 9, 1\r\n"
|
||||
"#pragma code_page(1252)\r\n"
|
||||
"#endif //_WIN32\r\n"
|
||||
"#include ""res\\Rattail CE.rc2"" // non-Microsoft eMbedded Visual C++ edited resources\r\n"
|
||||
"#include ""afxres.rc"" // Standard components\r\n"
|
||||
"#include ""wceres.rc"" // WCE-specific components\r\n"
|
||||
"#endif\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDR_MAINFRAME ICON DISCARDABLE "res\\Rattail CE.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Menu
|
||||
//
|
||||
|
||||
IDR_MAINFRAME MENU PRELOAD DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&File"
|
||||
BEGIN
|
||||
MENUITEM "&New\tCtrl+N", ID_FILE_NEW
|
||||
MENUITEM "&Open...\tCtrl+O", ID_FILE_OPEN
|
||||
MENUITEM "&Save\tCtrl+S", ID_FILE_SAVE_X
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "E&xit", ID_APP_EXIT
|
||||
END
|
||||
POPUP "&Help"
|
||||
BEGIN
|
||||
MENUITEM "&About Rattail CE...", ID_APP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Accelerator
|
||||
//
|
||||
|
||||
IDR_MAINFRAME ACCELERATORS PRELOAD MOVEABLE PURE
|
||||
BEGIN
|
||||
"N", ID_FILE_NEW, VIRTKEY, CONTROL
|
||||
"O", ID_FILE_OPEN, VIRTKEY, CONTROL
|
||||
"S", ID_FILE_SAVE, VIRTKEY, CONTROL
|
||||
"Z", ID_EDIT_UNDO, VIRTKEY, CONTROL
|
||||
"X", ID_EDIT_CUT, VIRTKEY, CONTROL
|
||||
"C", ID_EDIT_COPY, VIRTKEY, CONTROL
|
||||
"V", ID_EDIT_PASTE, VIRTKEY, CONTROL
|
||||
VK_BACK, ID_EDIT_UNDO, VIRTKEY, ALT
|
||||
VK_DELETE, ID_EDIT_CUT, VIRTKEY, SHIFT
|
||||
VK_INSERT, ID_EDIT_COPY, VIRTKEY, CONTROL
|
||||
VK_INSERT, ID_EDIT_PASTE, VIRTKEY, SHIFT
|
||||
VK_F6, ID_NEXT_PANE, VIRTKEY
|
||||
VK_F6, ID_PREV_PANE, VIRTKEY, SHIFT
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 151, 62
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE 0x80000000L
|
||||
CAPTION "About Rattail CE"
|
||||
FONT 8, "System"
|
||||
BEGIN
|
||||
ICON IDR_MAINFRAME,IDC_STATIC,13,19,21,20
|
||||
LTEXT "Rattail CE v0.1",IDC_STATIC,40,10,56,8,SS_NOPREFIX
|
||||
LTEXT "Copyright © 2011 Lance Edgar",IDC_STATIC,40,25,101,8
|
||||
LTEXT "http://rattail.edbob.org/",IDC_STATIC,40,41,80,8
|
||||
END
|
||||
|
||||
IDD_RATTAILCE_FORM DIALOG DISCARDABLE 0, 0, 183, 153
|
||||
STYLE WS_CHILD
|
||||
FONT 8, "System"
|
||||
BEGIN
|
||||
CONTROL "List1",IDC_SCANS,"SysListView32",LVS_REPORT |
|
||||
LVS_SINGLESEL | LVS_AUTOARRANGE | WS_BORDER | WS_TABSTOP,
|
||||
7,7,169,118
|
||||
EDITTEXT IDC_SCANCODE,7,134,91,12
|
||||
EDITTEXT IDC_CASE_QUANTITY,117,134,21,12,ES_RIGHT | ES_MULTILINE |
|
||||
ES_NUMBER
|
||||
CONTROL "",IDC_STOP_CASE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,
|
||||
104,135,8,11
|
||||
EDITTEXT IDC_UNIT_QUANTITY,156,134,20,12,ES_RIGHT | ES_MULTILINE |
|
||||
ES_NUMBER
|
||||
CONTROL "",IDC_STOP_UNIT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,
|
||||
143,135,8,11
|
||||
END
|
||||
|
||||
|
||||
#ifndef _MAC
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,1
|
||||
PRODUCTVERSION 1,0,0,1
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904B0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", " \0"
|
||||
VALUE "FileDescription", "Rattail CE WCE MFC Application\0"
|
||||
VALUE "FileVersion", "1, 0, 0, 1\0"
|
||||
VALUE "InternalName", "Rattail CE\0"
|
||||
VALUE "LegalCopyright", "Copyright © 2011\0"
|
||||
VALUE "LegalTrademarks", "\0"
|
||||
VALUE "OriginalFilename", "Rattail CE.exe\0"
|
||||
VALUE "ProductName", "Rattail CE Application\0"
|
||||
VALUE "ProductVersion", "1, 0, 0, 1\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
#endif // !_MAC
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO DISCARDABLE
|
||||
BEGIN
|
||||
IDD_ABOUTBOX, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 144
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 55
|
||||
END
|
||||
|
||||
IDD_RATTAILCE_FORM, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 176
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 146
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE PRELOAD DISCARDABLE
|
||||
BEGIN
|
||||
IDR_MAINFRAME "Rattail CE\n\nRattailCE\n\n\nRattailCE.Document\nRattailCE Document"
|
||||
END
|
||||
|
||||
STRINGTABLE PRELOAD DISCARDABLE
|
||||
BEGIN
|
||||
AFX_IDS_IDLEMESSAGE "Ready"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
ID_FILE_NEW "Create a new document\nNew"
|
||||
ID_FILE_OPEN "Open an existing document\nOpen"
|
||||
ID_FILE_CLOSE "Close the active document\nClose"
|
||||
ID_FILE_SAVE "Save the active document\nSave"
|
||||
ID_FILE_SAVE_AS "Save the active document with a new name\nSave As"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
ID_APP_ABOUT "Display program information, version number and copyright\nAbout"
|
||||
ID_APP_EXIT "Quit the application; prompts to save documents\nExit"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
ID_FILE_MRU_FILE1 "Open this document"
|
||||
ID_FILE_MRU_FILE2 "Open this document"
|
||||
ID_FILE_MRU_FILE3 "Open this document"
|
||||
ID_FILE_MRU_FILE4 "Open this document"
|
||||
ID_FILE_MRU_FILE5 "Open this document"
|
||||
ID_FILE_MRU_FILE6 "Open this document"
|
||||
ID_FILE_MRU_FILE7 "Open this document"
|
||||
ID_FILE_MRU_FILE8 "Open this document"
|
||||
ID_FILE_MRU_FILE9 "Open this document"
|
||||
ID_FILE_MRU_FILE10 "Open this document"
|
||||
ID_FILE_MRU_FILE11 "Open this document"
|
||||
ID_FILE_MRU_FILE12 "Open this document"
|
||||
ID_FILE_MRU_FILE13 "Open this document"
|
||||
ID_FILE_MRU_FILE14 "Open this document"
|
||||
ID_FILE_MRU_FILE15 "Open this document"
|
||||
ID_FILE_MRU_FILE16 "Open this document"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
ID_NEXT_PANE "Switch to the next window pane\nNext Pane"
|
||||
ID_PREV_PANE "Switch back to the previous window pane\nPrevious Pane"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
ID_WINDOW_SPLIT "Split the active window into panes\nSplit"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
ID_EDIT_CLEAR "Erase the selection\nErase"
|
||||
ID_EDIT_CLEAR_ALL "Erase everything\nErase All"
|
||||
ID_EDIT_COPY "Copy the selection and put it on the Clipboard\nCopy"
|
||||
ID_EDIT_CUT "Cut the selection and put it on the Clipboard\nCut"
|
||||
ID_EDIT_FIND "Find the specified text\nFind"
|
||||
ID_EDIT_PASTE "Insert Clipboard contents\nPaste"
|
||||
ID_EDIT_REPEAT "Repeat the last action\nRepeat"
|
||||
ID_EDIT_REPLACE "Replace specific text with different text\nReplace"
|
||||
ID_EDIT_SELECT_ALL "Select the entire document\nSelect All"
|
||||
ID_EDIT_UNDO "Undo the last action\nUndo"
|
||||
ID_EDIT_REDO "Redo the previously undone action\nRedo"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
AFX_IDS_SCCLOSE "Close the active window and prompts to save the documents"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
AFX_IDS_SCTASKLIST "Activate Task List"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
ID_INDICATOR_CAPS "CAP"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
ID_FILE_SAVE_AS_X "Save the active document with a new name\nSave As"
|
||||
ID_FILE_SAVE_X "Save the active document\nSave"
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
#define _AFX_NO_SPLITTER_RESOURCES
|
||||
#define _AFX_NO_OLE_RESOURCES
|
||||
#define _AFX_NO_TRACKER_RESOURCES
|
||||
#define _AFX_NO_PROPERTY_RESOURCES
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE 9, 1
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
#include "res\Rattail CE.rc2" // non-Microsoft eMbedded Visual C++ edited resources
|
||||
#include "afxres.rc" // Standard components
|
||||
#include "wceres.rc" // WCE-specific components
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
BIN
src/Rattail CE.vcb
Normal file
BIN
src/Rattail CE.vcb
Normal file
Binary file not shown.
114
src/Rattail CE.vcc
Normal file
114
src/Rattail CE.vcc
Normal file
|
@ -0,0 +1,114 @@
|
|||
; VCC file contains information for the MFC ClassWizard
|
||||
|
||||
[General Info]
|
||||
Version=1
|
||||
LastClass=CRattailCEView
|
||||
LastTemplate=CDialog
|
||||
NewFileInclude1=#include "stdafx.h"
|
||||
NewFileInclude2=#include "Rattail CE.h"
|
||||
LastPage=0
|
||||
|
||||
ClassCount=5
|
||||
Class1=CRattailCEApp
|
||||
Class2=CRattailCEDoc
|
||||
Class3=CRattailCEView
|
||||
Class4=CMainFrame
|
||||
Class5=CAboutDlg
|
||||
|
||||
ResourceCount=3
|
||||
Resource1=IDR_MAINFRAME
|
||||
Resource2=IDD_ABOUTBOX
|
||||
Resource3=IDD_RATTAILCE_FORM
|
||||
|
||||
[CLS:CRattailCEApp]
|
||||
Type=0
|
||||
HeaderFile=Rattail CE.h
|
||||
ImplementationFile=Rattail CE.cpp
|
||||
Filter=N
|
||||
LastObject=CRattailCEApp
|
||||
|
||||
[CLS:CRattailCEDoc]
|
||||
Type=0
|
||||
HeaderFile=Rattail CEDoc.h
|
||||
ImplementationFile=Rattail CEDoc.cpp
|
||||
Filter=N
|
||||
LastObject=CRattailCEDoc
|
||||
BaseClass=CDocument
|
||||
VirtualFilter=DC
|
||||
|
||||
[CLS:CRattailCEView]
|
||||
Type=0
|
||||
HeaderFile=Rattail CEView.h
|
||||
ImplementationFile=Rattail CEView.cpp
|
||||
Filter=W
|
||||
LastObject=CRattailCEView
|
||||
BaseClass=CFormView
|
||||
VirtualFilter=VWC
|
||||
|
||||
|
||||
[CLS:CMainFrame]
|
||||
Type=0
|
||||
HeaderFile=MainFrm.h
|
||||
ImplementationFile=MainFrm.cpp
|
||||
Filter=T
|
||||
LastObject=ID_FILE_SAVE_X
|
||||
BaseClass=CFrameWnd
|
||||
VirtualFilter=fWC
|
||||
|
||||
|
||||
|
||||
[CLS:CAboutDlg]
|
||||
Type=0
|
||||
HeaderFile=Rattail CE.cpp
|
||||
ImplementationFile=Rattail CE.cpp
|
||||
Filter=D
|
||||
LastObject=CAboutDlg
|
||||
|
||||
[DLG:IDD_ABOUTBOX]
|
||||
Type=1
|
||||
Class=CAboutDlg
|
||||
ControlCount=4
|
||||
Control1=IDC_STATIC,static,1342177283
|
||||
Control2=IDC_STATIC,static,1342308480
|
||||
Control3=IDC_STATIC,static,1342308352
|
||||
Control4=IDC_STATIC,static,1342308352
|
||||
|
||||
[MNU:IDR_MAINFRAME]
|
||||
Type=1
|
||||
Class=CMainFrame
|
||||
Command1=ID_FILE_NEW
|
||||
Command2=ID_FILE_OPEN
|
||||
Command3=ID_FILE_SAVE_X
|
||||
Command4=ID_APP_EXIT
|
||||
Command5=ID_APP_ABOUT
|
||||
CommandCount=5
|
||||
|
||||
[ACL:IDR_MAINFRAME]
|
||||
Type=1
|
||||
Class=CMainFrame
|
||||
Command1=ID_FILE_NEW
|
||||
Command2=ID_FILE_OPEN
|
||||
Command3=ID_FILE_SAVE
|
||||
Command4=ID_EDIT_UNDO
|
||||
Command5=ID_EDIT_CUT
|
||||
Command6=ID_EDIT_COPY
|
||||
Command7=ID_EDIT_PASTE
|
||||
Command8=ID_EDIT_UNDO
|
||||
Command9=ID_EDIT_CUT
|
||||
Command10=ID_EDIT_COPY
|
||||
Command11=ID_EDIT_PASTE
|
||||
Command12=ID_NEXT_PANE
|
||||
Command13=ID_PREV_PANE
|
||||
CommandCount=13
|
||||
|
||||
[DLG:IDD_RATTAILCE_FORM]
|
||||
Type=1
|
||||
Class=CRattailCEView
|
||||
ControlCount=6
|
||||
Control1=IDC_SCANS,SysListView32,1350631685
|
||||
Control2=IDC_SCANCODE,edit,1350631424
|
||||
Control3=IDC_CASE_QUANTITY,edit,1350639622
|
||||
Control4=IDC_STOP_CASE,button,1342242819
|
||||
Control5=IDC_UNIT_QUANTITY,edit,1350639622
|
||||
Control6=IDC_STOP_UNIT,button,1342242819
|
||||
|
BIN
src/Rattail CE.vco
Normal file
BIN
src/Rattail CE.vco
Normal file
Binary file not shown.
217
src/Rattail CE.vcp
Normal file
217
src/Rattail CE.vcp
Normal file
|
@ -0,0 +1,217 @@
|
|||
# Microsoft eMbedded Visual Tools Project File - Name="Rattail CE" - Package Owner=<4>
|
||||
# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (WCE ARMV4I) Application" 0xa501
|
||||
|
||||
CFG=Rattail CE - Win32 (WCE ARMV4I) Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Rattail CE.vcn".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Rattail CE.vcn" CFG="Rattail CE - Win32 (WCE ARMV4I) Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "Rattail CE - Win32 (WCE ARMV4I) Release" (based on "Win32 (WCE ARMV4I) Application")
|
||||
!MESSAGE "Rattail CE - Win32 (WCE ARMV4I) Debug" (based on "Win32 (WCE ARMV4I) Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
# PROP ATL_Project 2
|
||||
CPP=clarm.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "Rattail CE - Win32 (WCE ARMV4I) Release"
|
||||
|
||||
# PROP BASE Use_MFC 2
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "ARMV4IRel"
|
||||
# PROP BASE Intermediate_Dir "ARMV4IRel"
|
||||
# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}"
|
||||
# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 2
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "ARMV4IRel"
|
||||
# PROP Intermediate_Dir "ARMV4IRel"
|
||||
# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}"
|
||||
# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /d "_AFXDLL" /r
|
||||
# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /d "_AFXDLL" /r
|
||||
# ADD BASE CPP /nologo /W3 /D "ARM" /D "_ARM_" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_AFXDLL" /Yu"stdafx.h" /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c
|
||||
# ADD CPP /nologo /W3 /D "ARM" /D "_ARM_" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_AFXDLL" /Yu"stdafx.h" /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /subsystem:$(CESubsystem) /MACHINE:THUMB
|
||||
# ADD LINK32 /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /subsystem:$(CESubsystem) /MACHINE:THUMB
|
||||
|
||||
!ELSEIF "$(CFG)" == "Rattail CE - Win32 (WCE ARMV4I) Debug"
|
||||
|
||||
# PROP BASE Use_MFC 2
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "ARMV4IDbg"
|
||||
# PROP BASE Intermediate_Dir "ARMV4IDbg"
|
||||
# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}"
|
||||
# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 2
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "ARMV4IDbg"
|
||||
# PROP Intermediate_Dir "ARMV4IDbg"
|
||||
# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}"
|
||||
# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /d "_AFXDLL" /r
|
||||
# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /d "_AFXDLL" /r
|
||||
# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_AFXDLL" /Yu"stdafx.h" /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c
|
||||
# ADD CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_AFXDLL" /FR /Yu"stdafx.h" /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /debug /subsystem:$(CESubsystem) /MACHINE:THUMB
|
||||
# ADD LINK32 SCNAPI32.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /debug /subsystem:$(CESubsystem) /MACHINE:THUMB
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "Rattail CE - Win32 (WCE ARMV4I) Release"
|
||||
# Name "Rattail CE - Win32 (WCE ARMV4I) Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\MainFrm.cpp
|
||||
DEP_CPP_MAINF=\
|
||||
".\MainFrm.h"\
|
||||
".\Rattail CE.h"\
|
||||
".\StdAfx.h"\
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=".\Rattail CE.cpp"
|
||||
DEP_CPP_RATTA=\
|
||||
".\MainFrm.h"\
|
||||
".\Rattail CE.h"\
|
||||
".\Rattail CEDoc.h"\
|
||||
".\Rattail CEView.h"\
|
||||
".\StdAfx.h"\
|
||||
{$(INCLUDE)}"RSMDefs.h"\
|
||||
{$(INCLUDE)}"ScanCApi.h"\
|
||||
{$(INCLUDE)}"ScanDef.h"\
|
||||
{$(INCLUDE)}"ScanErr.h"\
|
||||
{$(INCLUDE)}"ScanMacr.h"\
|
||||
{$(INCLUDE)}"StrucInf.h"\
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=".\Rattail CE.rc"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=".\Rattail CEDoc.cpp"
|
||||
DEP_CPP_RATTAI=\
|
||||
".\Rattail CE.h"\
|
||||
".\Rattail CEDoc.h"\
|
||||
".\StdAfx.h"\
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=".\Rattail CEView.cpp"
|
||||
DEP_CPP_RATTAIL=\
|
||||
".\Rattail CE.h"\
|
||||
".\Rattail CEDoc.h"\
|
||||
".\Rattail CEView.h"\
|
||||
".\StdAfx.h"\
|
||||
{$(INCLUDE)}"RSMDefs.h"\
|
||||
{$(INCLUDE)}"ScanCApi.h"\
|
||||
{$(INCLUDE)}"ScanDef.h"\
|
||||
{$(INCLUDE)}"ScanErr.h"\
|
||||
{$(INCLUDE)}"ScanMacr.h"\
|
||||
{$(INCLUDE)}"StrucInf.h"\
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\StdAfx.cpp
|
||||
DEP_CPP_STDAF=\
|
||||
".\StdAfx.h"\
|
||||
|
||||
# ADD CPP /Yc"stdafx.h"
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\MainFrm.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\newres.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=".\Rattail CE.h"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=".\Rattail CEDoc.h"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=".\Rattail CEView.h"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Resource.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\StdAfx.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=".\res\Rattail CE.ico"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=".\res\Rattail CE.rc2"
|
||||
# PROP Exclude_From_Scan -1
|
||||
# PROP BASE Exclude_From_Build 1
|
||||
# PROP Exclude_From_Build 1
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ReadMe.txt
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
29
src/Rattail CE.vcw
Normal file
29
src/Rattail CE.vcw
Normal file
|
@ -0,0 +1,29 @@
|
|||
Microsoft eMbedded Visual Tools Workspace File, Format Version 4.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "Rattail CE"=".\Rattail CE.vcp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
127
src/Rattail CEDoc.cpp
Normal file
127
src/Rattail CEDoc.cpp
Normal file
|
@ -0,0 +1,127 @@
|
|||
// Rattail CEDoc.cpp : implementation of the CRattailCEDoc class
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "Rattail CE.h"
|
||||
|
||||
#include "Rattail CEDoc.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CRattailCEDoc
|
||||
|
||||
IMPLEMENT_DYNCREATE(CRattailCEDoc, CDocument)
|
||||
|
||||
BEGIN_MESSAGE_MAP(CRattailCEDoc, CDocument)
|
||||
//{{AFX_MSG_MAP(CRattailCEDoc)
|
||||
// NOTE - the ClassWizard will add and remove mapping macros here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code!
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CRattailCEDoc construction/destruction
|
||||
|
||||
CRattailCEDoc::CRattailCEDoc()
|
||||
{
|
||||
// TODO: add one-time construction code here
|
||||
}
|
||||
|
||||
CRattailCEDoc::~CRattailCEDoc()
|
||||
{
|
||||
}
|
||||
|
||||
BOOL CRattailCEDoc::OnNewDocument()
|
||||
{
|
||||
if (!CDocument::OnNewDocument())
|
||||
return FALSE;
|
||||
|
||||
/*
|
||||
CString* pPath = GetNewPath();
|
||||
if (! pPath)
|
||||
return FALSE;
|
||||
|
||||
SetPathName(*pPath, FALSE);
|
||||
delete pPath;
|
||||
*/
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int CRattailCEDoc::AddScanDatum(CString& sScancode, CString& sCaseQuantity, CString& sUnitQuantity)
|
||||
{
|
||||
CRattailScanDatum* datum = new CRattailScanDatum();
|
||||
datum->sScancode = sScancode;
|
||||
datum->sCaseQuantity = sCaseQuantity;
|
||||
datum->sUnitQuantity = sUnitQuantity;
|
||||
return scandata.Add(datum);
|
||||
}
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CRattailCEDoc serialization
|
||||
|
||||
void CRattailCEDoc::Serialize(CArchive& ar)
|
||||
{
|
||||
int nSize, i;
|
||||
CRattailScanDatum* datum;
|
||||
CString buffer;
|
||||
|
||||
if (ar.IsStoring()) {
|
||||
nSize = scandata.GetSize();
|
||||
for (i = 0; i < nSize; i++) {
|
||||
datum = (CRattailScanDatum*) scandata.GetAt(i);
|
||||
ar.WriteString(datum->sScancode);
|
||||
ar.WriteString(L"\n");
|
||||
ar.WriteString(datum->sCaseQuantity);
|
||||
ar.WriteString(L"\n");
|
||||
ar.WriteString(datum->sUnitQuantity);
|
||||
ar.WriteString(L"\n");
|
||||
}
|
||||
} else if (ar.IsLoading()) {
|
||||
while (true) {
|
||||
datum = new CRattailScanDatum();
|
||||
if (ar.ReadString(buffer)) {
|
||||
datum->sScancode = buffer;
|
||||
if (ar.ReadString(buffer)) {
|
||||
datum->sCaseQuantity = buffer;
|
||||
if (ar.ReadString(buffer)) {
|
||||
datum->sUnitQuantity = buffer;
|
||||
scandata.Add(datum);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CRattailCEDoc diagnostics
|
||||
|
||||
#ifdef _DEBUG
|
||||
void CRattailCEDoc::AssertValid() const
|
||||
{
|
||||
CDocument::AssertValid();
|
||||
}
|
||||
|
||||
void CRattailCEDoc::Dump(CDumpContext& dc) const
|
||||
{
|
||||
CDocument::Dump(dc);
|
||||
}
|
||||
#endif //_DEBUG
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CRattailCEDoc commands
|
||||
|
||||
void CRattailCEDoc::DeleteContents()
|
||||
{
|
||||
scandata.RemoveAll();
|
||||
CDocument::DeleteContents();
|
||||
}
|
69
src/Rattail CEDoc.h
Normal file
69
src/Rattail CEDoc.h
Normal file
|
@ -0,0 +1,69 @@
|
|||
// Rattail CEDoc.h : interface of the CRattailCEDoc class
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if !defined(AFX_RATTAILCEDOC_H__6D4250CD_B61A_45A9_8D20_5ACA2A57058C__INCLUDED_)
|
||||
#define AFX_RATTAILCEDOC_H__6D4250CD_B61A_45A9_8D20_5ACA2A57058C__INCLUDED_
|
||||
|
||||
#if _MSC_VER >= 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER >= 1000
|
||||
|
||||
|
||||
class CRattailCEDoc : public CDocument
|
||||
{
|
||||
protected: // create from serialization only
|
||||
CRattailCEDoc();
|
||||
DECLARE_DYNCREATE(CRattailCEDoc)
|
||||
|
||||
// Attributes
|
||||
public:
|
||||
CObArray scandata;
|
||||
|
||||
// Operations
|
||||
public:
|
||||
|
||||
// Overrides
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CRattailCEDoc)
|
||||
public:
|
||||
virtual BOOL OnNewDocument();
|
||||
virtual void Serialize(CArchive& ar);
|
||||
virtual void DeleteContents();
|
||||
//}}AFX_VIRTUAL
|
||||
int AddScanDatum(CString& sScancode, CString& sCaseQuantity, CString& sUnitQuantity);
|
||||
|
||||
// Implementation
|
||||
public:
|
||||
virtual ~CRattailCEDoc();
|
||||
#ifdef _DEBUG
|
||||
virtual void AssertValid() const;
|
||||
virtual void Dump(CDumpContext& dc) const;
|
||||
#endif
|
||||
|
||||
protected:
|
||||
|
||||
// Generated message map functions
|
||||
protected:
|
||||
//{{AFX_MSG(CRattailCEDoc)
|
||||
// NOTE - the ClassWizard will add and remove member functions here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code !
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
class CRattailScanDatum : public CObject
|
||||
{
|
||||
public:
|
||||
CString sScancode;
|
||||
CString sCaseQuantity;
|
||||
CString sUnitQuantity;
|
||||
};
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_RATTAILCEDOC_H__6D4250CD_B61A_45A9_8D20_5ACA2A57058C__INCLUDED_)
|
353
src/Rattail CEView.cpp
Normal file
353
src/Rattail CEView.cpp
Normal file
|
@ -0,0 +1,353 @@
|
|||
// Rattail CEView.cpp : implementation of the CRattailCEView class
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "Rattail CE.h"
|
||||
|
||||
#include "Rattail CEDoc.h"
|
||||
#include "Rattail CEView.h"
|
||||
|
||||
#include "ScanCApi.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
enum tagUSERMSGS
|
||||
{
|
||||
UM_SCAN = WM_USER + 0x200,
|
||||
UM_STARTSCANNING,
|
||||
UM_STOPSCANNING
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CRattailCEView
|
||||
|
||||
IMPLEMENT_DYNCREATE(CRattailCEView, CFormView)
|
||||
|
||||
BEGIN_MESSAGE_MAP(CRattailCEView, CFormView)
|
||||
//{{AFX_MSG_MAP(CRattailCEView)
|
||||
ON_NOTIFY(NM_CLICK, IDC_SCANS, OnClickScans)
|
||||
ON_EN_SETFOCUS(IDC_SCANCODE, OnScancodeSetfocus)
|
||||
ON_EN_KILLFOCUS(IDC_SCANCODE, OnScancodeKillfocus)
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CRattailCEView construction/destruction
|
||||
|
||||
CRattailCEView::CRattailCEView()
|
||||
: CFormView(CRattailCEView::IDD)
|
||||
{
|
||||
//{{AFX_DATA_INIT(CRattailCEView)
|
||||
//}}AFX_DATA_INIT
|
||||
|
||||
m_bInited = false;
|
||||
m_lpScanBuffer = NULL;
|
||||
OpenScanner();
|
||||
}
|
||||
|
||||
CRattailCEView::~CRattailCEView()
|
||||
{
|
||||
CloseScanner();
|
||||
}
|
||||
|
||||
void CRattailCEView::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CFormView::DoDataExchange(pDX);
|
||||
//{{AFX_DATA_MAP(CRattailCEView)
|
||||
DDX_Control(pDX, IDC_STOP_UNIT, m_StopUnit);
|
||||
DDX_Control(pDX, IDC_UNIT_QUANTITY, m_UnitQuantity);
|
||||
DDX_Control(pDX, IDC_STOP_CASE, m_StopCase);
|
||||
DDX_Control(pDX, IDC_CASE_QUANTITY, m_CaseQuantity);
|
||||
DDX_Control(pDX, IDC_SCANS, m_Scans);
|
||||
DDX_Control(pDX, IDC_SCANCODE, m_Scancode);
|
||||
//}}AFX_DATA_MAP
|
||||
}
|
||||
|
||||
BOOL CRattailCEView::PreCreateWindow(CREATESTRUCT& cs)
|
||||
{
|
||||
// TODO: Modify the Window class or styles here by modifying
|
||||
// the CREATESTRUCT cs
|
||||
return CFormView::PreCreateWindow(cs);
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CRattailCEView diagnostics
|
||||
|
||||
#ifdef _DEBUG
|
||||
void CRattailCEView::AssertValid() const
|
||||
{
|
||||
CFormView::AssertValid();
|
||||
}
|
||||
|
||||
void CRattailCEView::Dump(CDumpContext& dc) const
|
||||
{
|
||||
CFormView::Dump(dc);
|
||||
}
|
||||
|
||||
CRattailCEDoc* CRattailCEView::GetDocument() // non-debug version is inline
|
||||
{
|
||||
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CRattailCEDoc)));
|
||||
return (CRattailCEDoc*)m_pDocument;
|
||||
}
|
||||
#endif //_DEBUG
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CRattailCEView message handlers
|
||||
|
||||
void CRattailCEView::OnClickScans(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
|
||||
*pResult = 0;
|
||||
}
|
||||
|
||||
void CRattailCEView::OnInitialUpdate()
|
||||
{
|
||||
CFormView::OnInitialUpdate();
|
||||
|
||||
// TODO: Add your specialized code here and/or call the base class
|
||||
if (! m_bInited) {
|
||||
m_Scans.InsertColumn(0, L"Scan Code");
|
||||
m_Scans.SetColumnWidth(0, 160);
|
||||
m_Scans.InsertColumn(1, L"Case", LVCFMT_RIGHT);
|
||||
m_Scans.SetColumnWidth(1, 50);
|
||||
m_Scans.InsertColumn(2, L"Unit", LVCFMT_RIGHT);
|
||||
m_Scans.SetColumnWidth(2, 50);
|
||||
m_CaseQuantity.SetWindowText(L"0");
|
||||
m_StopUnit.SetCheck(BST_CHECKED);
|
||||
m_UnitQuantity.SetWindowText(L"1");
|
||||
m_bInited = true;
|
||||
}
|
||||
m_Scancode.SetFocus();
|
||||
}
|
||||
|
||||
bool CRattailCEView::ProcessScan()
|
||||
{
|
||||
if (m_StopCase.GetCheck() == BST_CHECKED) {
|
||||
m_CaseQuantity.SetSel(0, -1);
|
||||
m_CaseQuantity.SetFocus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (m_StopUnit.GetCheck() == BST_CHECKED) {
|
||||
m_UnitQuantity.SetSel(0, -1);
|
||||
m_UnitQuantity.SetFocus();
|
||||
return false;
|
||||
}
|
||||
|
||||
return StoreScanData();
|
||||
}
|
||||
|
||||
BOOL CRattailCEView::PreTranslateMessage(MSG* pMsg)
|
||||
{
|
||||
LPSCAN_BUFFER lpScanBuffer;
|
||||
CString scandata;
|
||||
|
||||
if (pMsg->message == UM_SCAN) {
|
||||
m_dwRequestID = NULL; // clear this so logic elsewhere isn't confused
|
||||
|
||||
lpScanBuffer = (LPSCAN_BUFFER) pMsg->lParam;
|
||||
if (SCNBUF_GETSTAT(lpScanBuffer) == E_SCN_SUCCESS) {
|
||||
scandata = (LPCTSTR) SCNBUF_GETDATA(lpScanBuffer);
|
||||
m_Scancode.SetWindowText(scandata.Left(scandata.GetLength() - 1));
|
||||
if (ProcessScan()) {
|
||||
EnableScanner();
|
||||
}
|
||||
}
|
||||
|
||||
} else if (pMsg->message == WM_KEYUP) {
|
||||
if (pMsg->wParam == VK_RETURN) {
|
||||
|
||||
if (pMsg->hwnd == m_Scancode.m_hWnd) {
|
||||
ProcessScan();
|
||||
|
||||
} else if (pMsg->hwnd == m_CaseQuantity.m_hWnd) {
|
||||
if (m_StopUnit.GetCheck() == BST_CHECKED) {
|
||||
m_UnitQuantity.SetSel(0, -1);
|
||||
m_UnitQuantity.SetFocus();
|
||||
} else {
|
||||
StoreScanData();
|
||||
}
|
||||
|
||||
} else if (pMsg->hwnd == m_UnitQuantity.m_hWnd) {
|
||||
StoreScanData();
|
||||
}
|
||||
}
|
||||
}
|
||||
return CFormView::PreTranslateMessage(pMsg);
|
||||
}
|
||||
|
||||
bool CRattailCEView::StoreScanData()
|
||||
{
|
||||
CString scancode, cases, units;
|
||||
int row;
|
||||
CRattailCEDoc* doc;
|
||||
|
||||
m_Scancode.GetWindowText(scancode);
|
||||
scancode.TrimLeft();
|
||||
scancode.TrimRight();
|
||||
if (scancode.IsEmpty()) {
|
||||
m_Scancode.SetSel(0, -1);
|
||||
m_Scancode.SetFocus();
|
||||
return false;
|
||||
}
|
||||
|
||||
m_CaseQuantity.GetWindowText(cases);
|
||||
cases.TrimLeft();
|
||||
cases.TrimRight();
|
||||
if (cases == "0") {
|
||||
cases.Empty();
|
||||
}
|
||||
|
||||
m_UnitQuantity.GetWindowText(units);
|
||||
units.TrimLeft();
|
||||
units.TrimRight();
|
||||
if (units == "0") {
|
||||
units.Empty();
|
||||
}
|
||||
|
||||
if (cases.IsEmpty() && units.IsEmpty()) {
|
||||
if (m_StopCase.GetCheck() == BST_CHECKED) {
|
||||
m_CaseQuantity.SetSel(0, -1);
|
||||
m_CaseQuantity.SetFocus();
|
||||
} else if (m_StopUnit.GetCheck() == BST_CHECKED) {
|
||||
m_UnitQuantity.SetSel(0, -1);
|
||||
m_UnitQuantity.SetFocus();
|
||||
} else {
|
||||
m_CaseQuantity.SetSel(0, -1);
|
||||
m_CaseQuantity.SetFocus();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
doc = GetDocument();
|
||||
doc->AddScanDatum(scancode, cases, units);
|
||||
|
||||
row = m_Scans.GetItemCount();
|
||||
m_Scans.InsertItem(row, scancode);
|
||||
if (! cases.IsEmpty()) {
|
||||
m_Scans.SetItemText(row, 1, cases);
|
||||
}
|
||||
if (! units.IsEmpty()) {
|
||||
m_Scans.SetItemText(row, 2, units);
|
||||
}
|
||||
m_Scans.EnsureVisible(row, false);
|
||||
m_Scancode.SetSel(0, -1);
|
||||
m_Scancode.SetFocus();
|
||||
return true;
|
||||
}
|
||||
|
||||
void CRattailCEView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)
|
||||
{
|
||||
CRattailCEDoc* doc;
|
||||
int i;
|
||||
CRattailScanDatum* datum;
|
||||
|
||||
doc = GetDocument();
|
||||
m_Scans.DeleteAllItems();
|
||||
for (i = 0; i < doc->scandata.GetSize(); i++) {
|
||||
datum = (CRattailScanDatum*) doc->scandata.GetAt(i);
|
||||
m_Scans.InsertItem(i, datum->sScancode);
|
||||
m_Scans.SetItemText(i, 1, datum->sCaseQuantity);
|
||||
m_Scans.SetItemText(i, 2, datum->sUnitQuantity);
|
||||
}
|
||||
CFormView::OnUpdate(pSender, lHint, pHint);
|
||||
}
|
||||
|
||||
BOOL CRattailCEView::OpenScanner()
|
||||
{
|
||||
DWORD dwResult;
|
||||
HANDLE FindHandle;
|
||||
SCAN_FINDINFO ScanFindInfo;
|
||||
DECODER_PARAMS DecoderParams;
|
||||
|
||||
SI_INIT(&ScanFindInfo);
|
||||
dwResult = SCAN_FindFirst(&ScanFindInfo, &FindHandle);
|
||||
if (dwResult != E_SCN_SUCCESS)
|
||||
return FALSE;
|
||||
|
||||
dwResult = SCAN_FindClose(FindHandle);
|
||||
if (dwResult != E_SCN_SUCCESS)
|
||||
return FALSE;
|
||||
|
||||
dwResult = SCAN_Open(ScanFindInfo.szDeviceName, &m_hScanner);
|
||||
if (dwResult != E_SCN_SUCCESS)
|
||||
return FALSE;
|
||||
|
||||
dwResult = SCAN_Enable(m_hScanner);
|
||||
if (dwResult != E_SCN_SUCCESS) {
|
||||
SCAN_Close(m_hScanner);
|
||||
m_hScanner = NULL;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SI_INIT(&DecoderParams);
|
||||
dwResult = SCAN_GetDecoderParams(m_hScanner, DECODER_UPCE0, &DecoderParams);
|
||||
if (dwResult != E_SCN_SUCCESS) {
|
||||
SCAN_Disable(m_hScanner);
|
||||
SCAN_Close(m_hScanner);
|
||||
m_hScanner = NULL;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SI_SET_FIELD(&DecoderParams, dec_specific.upce0_params.bConvertToUPCA, TRUE);
|
||||
dwResult = SCAN_SetDecoderParams(m_hScanner, DECODER_UPCE0, &DecoderParams);
|
||||
if (dwResult != E_SCN_SUCCESS) {
|
||||
SCAN_Disable(m_hScanner);
|
||||
SCAN_Close(m_hScanner);
|
||||
m_hScanner = NULL;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// TODO: I already don't remember where I got this 7095 figure...
|
||||
m_lpScanBuffer = SCAN_AllocateBuffer(TRUE, 7095);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void CRattailCEView::CloseScanner()
|
||||
{
|
||||
if (m_lpScanBuffer) {
|
||||
SCAN_DeallocateBuffer(m_lpScanBuffer);
|
||||
m_lpScanBuffer = NULL;
|
||||
}
|
||||
if (m_hScanner != NULL) {
|
||||
SCAN_Close(m_hScanner);
|
||||
m_hScanner = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
BOOL CRattailCEView::EnableScanner()
|
||||
{
|
||||
DWORD dwResult;
|
||||
|
||||
if (! m_hScanner)
|
||||
return FALSE;
|
||||
|
||||
dwResult = SCAN_ReadLabelMsg(m_hScanner, m_lpScanBuffer, m_hWnd, UM_SCAN, 0, &m_dwRequestID);
|
||||
if (dwResult != E_SCN_SUCCESS)
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void CRattailCEView::DisableScanner()
|
||||
{
|
||||
if (m_dwRequestID) {
|
||||
SCAN_CancelRead(m_hScanner, m_dwRequestID);
|
||||
m_dwRequestID = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void CRattailCEView::OnScancodeSetfocus()
|
||||
{
|
||||
EnableScanner();
|
||||
}
|
||||
|
||||
void CRattailCEView::OnScancodeKillfocus()
|
||||
{
|
||||
DisableScanner();
|
||||
}
|
91
src/Rattail CEView.h
Normal file
91
src/Rattail CEView.h
Normal file
|
@ -0,0 +1,91 @@
|
|||
// Rattail CEView.h : interface of the CRattailCEView class
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if !defined(AFX_RATTAILCEVIEW_H__9EA36B28_60E4_4345_9342_8125EE0D5B61__INCLUDED_)
|
||||
#define AFX_RATTAILCEVIEW_H__9EA36B28_60E4_4345_9342_8125EE0D5B61__INCLUDED_
|
||||
|
||||
#if _MSC_VER >= 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER >= 1000
|
||||
|
||||
#include "ScanCApi.h"
|
||||
|
||||
class CRattailCEView : public CFormView
|
||||
{
|
||||
protected: // create from serialization only
|
||||
CRattailCEView();
|
||||
DECLARE_DYNCREATE(CRattailCEView)
|
||||
|
||||
public:
|
||||
//{{AFX_DATA(CRattailCEView)
|
||||
enum { IDD = IDD_RATTAILCE_FORM };
|
||||
CButton m_StopUnit;
|
||||
CEdit m_UnitQuantity;
|
||||
CButton m_StopCase;
|
||||
CEdit m_CaseQuantity;
|
||||
CListCtrl m_Scans;
|
||||
CEdit m_Scancode;
|
||||
//}}AFX_DATA
|
||||
|
||||
// Attributes
|
||||
public:
|
||||
CRattailCEDoc* GetDocument();
|
||||
|
||||
// Operations
|
||||
public:
|
||||
void CloseScanner();
|
||||
void DisableScanner();
|
||||
BOOL EnableScanner();
|
||||
BOOL OpenScanner();
|
||||
bool ProcessScan();
|
||||
bool StoreScanData();
|
||||
|
||||
// Overrides
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CRattailCEView)
|
||||
public:
|
||||
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
|
||||
virtual void OnInitialUpdate();
|
||||
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||||
virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
public:
|
||||
virtual ~CRattailCEView();
|
||||
#ifdef _DEBUG
|
||||
virtual void AssertValid() const;
|
||||
virtual void Dump(CDumpContext& dc) const;
|
||||
#endif
|
||||
|
||||
protected:
|
||||
bool m_bInited;
|
||||
HANDLE m_hScanner;
|
||||
LPSCAN_BUFFER m_lpScanBuffer;
|
||||
DWORD m_dwRequestID;
|
||||
|
||||
// Generated message map functions
|
||||
protected:
|
||||
//{{AFX_MSG(CRattailCEView)
|
||||
afx_msg void OnClickScans(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
||||
afx_msg void OnScancodeSetfocus();
|
||||
afx_msg void OnScancodeKillfocus();
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
#ifndef _DEBUG // debug version in Rattail CEView.cpp
|
||||
inline CRattailCEDoc* CRattailCEView::GetDocument()
|
||||
{ return (CRattailCEDoc*)m_pDocument; }
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_RATTAILCEVIEW_H__9EA36B28_60E4_4345_9342_8125EE0D5B61__INCLUDED_)
|
93
src/ReadMe.txt
Normal file
93
src/ReadMe.txt
Normal file
|
@ -0,0 +1,93 @@
|
|||
========================================================================
|
||||
Microsoft Foundation Class Library for Windows CE: Rattail CE
|
||||
========================================================================
|
||||
|
||||
|
||||
AppWizard has created this Rattail CE application for you. This application
|
||||
not only demonstrates the basics of using the Microsoft Foundation classes
|
||||
but is also a starting point for writing your application.
|
||||
|
||||
This file contains a summary of what you will find in each of the files that
|
||||
make up your Rattail CE application.
|
||||
|
||||
Rattail CE.h
|
||||
This is the main header file for the application. It includes other
|
||||
project specific headers (including Resource.h) and declares the
|
||||
CRattailCEApp application class.
|
||||
|
||||
Rattail CE.cpp
|
||||
This is the main application source file that contains the application
|
||||
class CRattailCEApp.
|
||||
|
||||
Rattail CE.rc
|
||||
This is a listing of all of the Microsoft Windows CE resources that the
|
||||
program uses. It includes the icons, bitmaps, and cursors that are stored
|
||||
in the RES subdirectory. This file can be directly edited in Microsoft
|
||||
eMbedded Visual C++.
|
||||
|
||||
res\Rattail CE.ico
|
||||
This is an icon file, which is used as the application's icon. This
|
||||
icon is included by the main resource file Rattail CE.rc.
|
||||
|
||||
res\Rattail CE.rc2
|
||||
This file contains resources that are not edited by Microsoft
|
||||
eMbedded Visual C++. You should place all resources not
|
||||
editable by the resource editor in this file.
|
||||
|
||||
Rattail CE.vcc
|
||||
This file contains information used by ClassWizard to edit existing
|
||||
classes or add new classes. ClassWizard also uses this file to store
|
||||
information needed to create and edit message maps and dialog data
|
||||
maps and to create prototype member functions.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
For the main frame window:
|
||||
|
||||
MainFrm.h, MainFrm.cpp
|
||||
These files contain the frame class CMainFrame, which is derived from
|
||||
CFrameWnd and controls all SDI frame features.
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
AppWizard creates one document type and one view:
|
||||
|
||||
Rattail CEDoc.h, Rattail CEDoc.cpp - the document
|
||||
These files contain your CRattailCEDoc class. Edit these files to
|
||||
add your special document data and to implement file saving and loading
|
||||
(via CRattailCEDoc::Serialize).
|
||||
|
||||
Rattail CEView.h, Rattail CEView.cpp - the view of the document
|
||||
These files contain your CRattailCEView class.
|
||||
CRattailCEView objects are used to view CRattailCEDoc objects.
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
Other standard files:
|
||||
|
||||
StdAfx.h, StdAfx.cpp
|
||||
These files are used to build a precompiled header (PCH) file
|
||||
named Rattail CE.pch and a precompiled types file named StdAfx.obj.
|
||||
|
||||
Resource.h
|
||||
This is the standard header file, which defines new resource IDs.
|
||||
Microsoft eMbedded Visual C++ reads and updates this file.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
Other notes:
|
||||
|
||||
AppWizard uses "TODO:" to indicate parts of the source code you
|
||||
should add to or customize.
|
||||
|
||||
If your application uses MFC in a shared DLL, and your application is
|
||||
in a language other than the operating system's current language, you
|
||||
will need to copy the corresponding localized resources MFCWCXXX.DLL from
|
||||
the Microsoft eMbedded Visual C++ CD-ROM onto the system or system32 directory,
|
||||
and rename it to be MFCLOC.DLL. ("XXX" stands for the language abbreviation.
|
||||
For example, MFCWCDEU.DLL contains resources translated to German.) If you
|
||||
don't do this, some of the UI elements of your application will remain in the
|
||||
language of the operating system.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
6
src/StdAfx.cpp
Normal file
6
src/StdAfx.cpp
Normal file
|
@ -0,0 +1,6 @@
|
|||
// stdafx.cpp : source file that includes just the standard includes
|
||||
// Rattail CE.pch will be the pre-compiled header
|
||||
// stdafx.obj will contain the pre-compiled type information
|
||||
|
||||
#include "stdafx.h"
|
||||
|
34
src/StdAfx.h
Normal file
34
src/StdAfx.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
// stdafx.h : include file for standard system include files,
|
||||
// or project specific include files that are used frequently, but
|
||||
// are changed infrequently
|
||||
//
|
||||
|
||||
#if !defined(AFX_STDAFX_H__4B857498_205E_4475_AFC8_76EBFCC11CE6__INCLUDED_)
|
||||
#define AFX_STDAFX_H__4B857498_205E_4475_AFC8_76EBFCC11CE6__INCLUDED_
|
||||
|
||||
#if _MSC_VER >= 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER >= 1000
|
||||
|
||||
#if (_WIN32_WCE <= 200)
|
||||
#error : This project does not support MFCCE 2.00 or earlier, because it requires CControlBar, available only in MFCCE 2.01 or later
|
||||
#endif
|
||||
|
||||
|
||||
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
|
||||
|
||||
#include <afxwin.h> // MFC core and standard components
|
||||
#include <afxext.h> // MFC extensions
|
||||
|
||||
#if defined(_WIN32_WCE) && (_WIN32_WCE >= 211) && (_AFXDLL)
|
||||
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
|
||||
#endif
|
||||
|
||||
#ifndef _AFX_NO_AFXCMN_SUPPORT
|
||||
#include <afxcmn.h> // MFC support for Windows Common Controls
|
||||
#endif // _AFX_NO_AFXCMN_SUPPORT
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_STDAFX_H__4B857498_205E_4475_AFC8_76EBFCC11CE6__INCLUDED_)
|
28
src/newres.h
Normal file
28
src/newres.h
Normal file
|
@ -0,0 +1,28 @@
|
|||
#ifndef __NEWRES_H__
|
||||
#define __NEWRES_H__
|
||||
|
||||
#define SHMENUBAR RCDATA
|
||||
#if !(defined(_WIN32_WCE_PSPC) && (_WIN32_WCE >= 300))
|
||||
#undef HDS_HORZ
|
||||
#undef HDS_BUTTONS
|
||||
#undef HDS_HIDDEN
|
||||
|
||||
#include <commctrl.h>
|
||||
// for MenuBar
|
||||
#define I_IMAGENONE (-2)
|
||||
#define NOMENU 0xFFFF
|
||||
#define IDS_SHNEW 1
|
||||
#define IDM_SHAREDNEW 10
|
||||
#define IDM_SHAREDNEWDEFAULT 11
|
||||
|
||||
// for Tab Control
|
||||
#define TCS_SCROLLOPPOSITE 0x0001 // assumes multiline tab
|
||||
#define TCS_BOTTOM 0x0002
|
||||
#define TCS_RIGHT 0x0002
|
||||
#define TCS_VERTICAL 0x0080
|
||||
#define TCS_MULTISELECT 0x0004 // allow multi-select in button mode
|
||||
#define TCS_FLATBUTTONS 0x0008
|
||||
#endif //_WIN32_WCE_PSPC
|
||||
|
||||
|
||||
#endif //__NEWRES_H__
|
BIN
src/res/Rattail CE.ico
Normal file
BIN
src/res/Rattail CE.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.2 KiB |
13
src/res/Rattail CE.rc2
Normal file
13
src/res/Rattail CE.rc2
Normal file
|
@ -0,0 +1,13 @@
|
|||
//
|
||||
// RATTAIL CE.RC2 - resources Microsoft eMbedded Visual C++ does not edit directly
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#error this file is not editable by Microsoft eMbedded Visual C++
|
||||
#endif //APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Add manually edited resources here...
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
32
src/resource.h
Normal file
32
src/resource.h
Normal file
|
@ -0,0 +1,32 @@
|
|||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft eMbedded Visual C++ generated include file.
|
||||
// Used by Rattail CE.rc
|
||||
//
|
||||
#define IDD_ABOUTBOX 100
|
||||
#define IDD_RATTAILCE_FORM 101
|
||||
#define IDR_MAINFRAME 128
|
||||
#define IDC_CODES 1000
|
||||
#define IDC_SCANS 1000
|
||||
#define IDC_EDIT1 1001
|
||||
#define IDC_SCANCODE 1001
|
||||
#define IDC_EDIT2 1002
|
||||
#define IDC_QUANTITY 1002
|
||||
#define IDC_CASE_QUANTITY 1002
|
||||
#define IDC_CHECK1 1003
|
||||
#define IDC_STOP_QUANTITY 1003
|
||||
#define IDC_STOP_CASE 1003
|
||||
#define IDC_UNIT_QUANTITY 1004
|
||||
#define IDC_STOP_UNIT 1005
|
||||
#define ID_FILE_SAVE_AS_X 32771
|
||||
#define ID_FILE_SAVE_X 32772
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 130
|
||||
#define _APS_NEXT_COMMAND_VALUE 32773
|
||||
#define _APS_NEXT_CONTROL_VALUE 1006
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
Loading…
Reference in a new issue