📄 medicinesalemanagesdlg.cpp
字号:
// MedicineSaleManagesDlg.cpp : 实现文件
//
#include "stdafx.h"
#include "MedicineSaleManages.h"
#include "MedicineSaleManagesDlg.h"
#include ".\medicinesalemanagesdlg.h"
#include "UserSet.h"
#include "UserLogin.h"
#include "EnterGoods.h"
#include "StockInput.h"
#include "GspMange.h"
#include "Moneydlg.h"
#include "SaveScrJpg.h"
#include "comdef.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
UINT_PTR m_timerID1;
UINT_PTR m_timerID2;
UINT_PTR m_timerID3;
UINT_PTR m_timerID4;
UINT_PTR m_timerID5;
#include<wininet.h>
#pragma comment(lib,"wininet.lib")
#include <winsock2.h>
#pragma comment(lib, "wsock32")
SOCKET m_sock;
ULONG m_ulTime ;
// CMedicineSaleManagesDlg 对话框
CMedicineSaleManagesDlg::CMedicineSaleManagesDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMedicineSaleManagesDlg::IDD, pParent)
, have(FALSE)
, datetimestr(_T(""))
, datetime(_T(""))
, modify_record(FALSE)
, modify_row(0)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
week.Add("星期日");
week.Add("星期一");
week.Add("星期二");
week.Add("星期三");
week.Add("星期四");
week.Add("星期五");
week.Add("星期六");
}
void CMedicineSaleManagesDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_FINDNAME, m_findname);
DDX_Control(pDX, IDC_NAME, m_name);
DDX_Control(pDX, IDC_FACTORY, m_factory);
DDX_Control(pDX, IDC_MONEY, m_money);
DDX_Control(pDX, IDC_READEM, m_readem);
DDX_Control(pDX, IDC_LIST1, m_list1);
DDX_Control(pDX, IDC_DAY, m_day);
DDX_Control(pDX, IDC_MONTH, m_month);
DDX_Control(pDX, IDC_LIST2, m_list2);
DDX_Control(pDX, IDC_NUMBER, m_number);
DDX_Control(pDX, IDC_UNIT, m_unit);
DDX_Control(pDX, IDC_PROGRESS1, m_progress1);
DDX_Control(pDX, IDC_FICATION, m_fication);
DDX_Control(pDX, IDC_LOCKTIME, m_locktime);
DDX_Control(pDX, IDC_YEAR, m_year);
}
BEGIN_MESSAGE_MAP(CMedicineSaleManagesDlg, CDialog)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_MESSAGE(WM_SOCKET_NOTIFY,OnSocketNotify)
ON_MESSAGE(WM_NOTIFYICON, OnNotifyIcon)
ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
ON_CBN_SELCHANGE(IDC_NAME, OnCbnSelchangeName)
ON_BN_CLICKED(IDC_RECORDSAVE, OnBnClickedRecordsave)
ON_BN_CLICKED(IDC_NEWDATABASE, OnBnClickedNewdatabase)
ON_BN_CLICKED(IDC_STOCKCOUNT, OnBnClickedStockcount)
ON_BN_CLICKED(IDC_RECORDS, OnBnClickedRecords)
ON_WM_TIMER()
ON_WM_DESTROY()
ON_BN_CLICKED(IDC_INPUTOUTEXCEL, OnBnClickedInputoutexcel)
ON_EN_CHANGE(IDC_FINDNAME, OnEnChangeFindname)
ON_CBN_SELCHANGE(IDC_FICATION, OnCbnSelchangeFication)
ON_BN_CLICKED(IDC_RECORDINPUTOUTEXCEL, OnBnClickedRecordinputoutexcel)
ON_BN_CLICKED(IDC_USERSET, OnBnClickedUserset)
ON_BN_CLICKED(IDC_LOCK, OnBnClickedLock)
ON_CBN_SELCHANGE(IDC_LOCKTIME, OnCbnSelchangeLocktime)
ON_CBN_SELCHANGE(IDC_FACTORY, OnCbnSelchangeFactory)
ON_EN_KILLFOCUS(IDC_MONEY, OnEnKillfocusMoney)
ON_BN_CLICKED(IDC_BAKCUPDATABASE, OnBnClickedBakcupdatabase)
ON_BN_CLICKED(IDC_RESTORDATABASE, OnBnClickedRestordatabase)
ON_BN_CLICKED(IDC_ENTERGOODS, OnBnClickedEntergoods)
ON_BN_CLICKED(IDC_STOCKINPUT, OnBnClickedStockinput)
ON_BN_CLICKED(IDC_STOCKOUT, OnBnClickedStockout)
ON_NOTIFY(DTN_DATETIMECHANGE, IDC_DAY, OnDtnDatetimechangeDay)
ON_NOTIFY(DTN_DATETIMECHANGE, IDC_MONTH, OnDtnDatetimechangeMonth)
ON_NOTIFY(DTN_DATETIMECHANGE, IDC_YEAR, OnDtnDatetimechangeYear)
ON_WM_QUERYENDSESSION()
ON_WM_SYSCOMMAND()
ON_EN_KILLFOCUS(IDC_FINDNAME, OnEnKillfocusFindname)
ON_EN_SETFOCUS(IDC_FINDNAME, OnEnSetfocusFindname)
ON_BN_CLICKED(IDC_CLSTOTAL, OnBnClickedClstotal)
ON_BN_CLICKED(IDC_GSPMANGE, OnBnClickedGspmange)
ON_NOTIFY(NM_RDBLCLK, IDC_LIST1, OnNMRdblclkList1)
ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnNMDblclkList1)
ON_MESSAGE(WM_MY_WRITE_JPG,OnWriteJpg)
ON_MESSAGE(WM_MY_MANIF_JPG,OnManifJpg)
ON_MESSAGE(WM_MY_LOCK,OnLock)
ON_MESSAGE(WM_MY_LOGIN,OnLogin)
ON_MESSAGE(WM_SET_STATIC_TXT,OnSetStaticTxt)
ON_BN_CLICKED(IDC_MONEYDLG, OnBnClickedMoneydlg)
END_MESSAGE_MAP()
// CMedicineSaleManagesDlg 消息处理程序
BOOL CMedicineSaleManagesDlg::OnInitDialog()
{
CDialog::OnInitDialog();
VERIFY(m_font.CreateFont(20,8,0,1,FW_NORMAL,TRUE,TRUE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH | FF_SWISS,"Arial"));
m_money.SubclassDlgItem( IDC_MONEY, this );
m_money.bkColor( RGB(255, 255, 255) );
m_money.textColor( RGB(0,0,255) );
m_money.setFont( -14 );
theApp.ShowInTaskbar( GetSafeHwnd(), TRUE );//不在任务栏显示图标
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
SetWindowText(_T("开阳富源医药有限公司第四门市部(冯三经销点)医药销售管理系统——[程序制作:黎尚伟]"));
m_day.SetFormat("yyyy年MM月dd日");
m_month.SetFormat("yyyy年MM月");
m_year.SetFormat("yyyy年");
CTime timeTime=CTime::GetCurrentTime();
m_day.SetTime(&timeTime);
m_month.SetTime(&timeTime);
m_year.SetTime(&timeTime);
GetDlgItem(IDC_STATICDATETIME)->SetFont(&m_font,1);
SetStaticDateTimeText();
m_list1.SetTextColor(RGB(0,0,255));
m_list2.SetTextColor(RGB(36,166,22));
NewView();
CString time,lock;
lock=_T("分钟锁定");
m_locktime.AddString(_T("永远不锁定"));
for(int i=1;i<=60;i++)
{
time.Format("%d",i);
m_locktime.AddString(time+lock);
}
m_locktime.SetCurSel(m_locktime.FindString(0,theApp.ReadData("USERS","autolocktime")));
CTime t=CTime::GetCurrentTime();
theApp.static_date=t.Format("%Y年%m月%d日");
//将图标放入托盘区
NOTIFYICONDATA nd;
nd.cbSize = sizeof (NOTIFYICONDATA);
nd.hWnd = m_hWnd;
nd.uID = IDR_MAINFRAME;
nd.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;
nd.uCallbackMessage = WM_NOTIFYICON;
nd.hIcon = m_hIcon;
strncpy(nd.szTip, "医药销售管理系统",sizeof(nd.szTip));
Shell_NotifyIcon(NIM_ADD, &nd);
//
m_tooltip.Create(this,TTS_ALWAYSTIP);
m_tooltip.Activate(TRUE);
m_tooltip.AddTool(GetDlgItem(IDC_NEWDATABASE),IDS_NEWDATABASE);
m_tooltip.AddTool(GetDlgItem(IDC_DAY),IDS_DAY);
m_tooltip.AddTool(GetDlgItem(IDC_MONTH ),IDS_MONTH );
m_tooltip.AddTool(GetDlgItem(IDC_YEAR),IDS_YEAR);
m_tooltip.AddTool(GetDlgItem(IDC_RECORDS),IDS_RECORDS);
m_tooltip.AddTool(GetDlgItem(IDC_STOCKCOUNT),IDS_STOCKCOUNT);
m_tooltip.AddTool(GetDlgItem(IDC_CLSTOTAL),IDS_CLSTOTAL);
m_tooltip.AddTool(GetDlgItem(IDC_INPUTOUTEXCEL),IDS_INPUTOUTEXCEL);
m_tooltip.AddTool(GetDlgItem(IDC_LIST2),IDS_LIST2);
m_tooltip.AddTool(GetDlgItem(IDC_ENTERGOODS),IDS_ENTERGOODS);
m_tooltip.AddTool(GetDlgItem(IDC_PROGRESS1),IDS_PROGRESS1);
m_tooltip.AddTool(GetDlgItem(IDC_STOCKINPUT),IDS_STOCKINPUT);
m_tooltip.AddTool(GetDlgItem(IDC_STOCKOUT),IDS_STOCKOUT);
m_tooltip.AddTool(GetDlgItem(IDC_BAKCUPDATABASE),IDS_BAKCUPDATABASE);
m_tooltip.AddTool(GetDlgItem(IDC_RESTORDATABASE),IDS_RESTORDATABASE);
m_tooltip.AddTool(GetDlgItem(IDC_FINDNAME),IDS_FINDNAME);
m_tooltip.AddTool(GetDlgItem(IDC_NAME),IDS_NAME);
m_tooltip.AddTool(GetDlgItem(IDC_FICATION),IDS_FICATION);
m_tooltip.AddTool(GetDlgItem(IDC_FACTORY),IDS_FACTORY);
m_tooltip.AddTool(GetDlgItem(IDC_MONEY),IDS_MONEY);
m_tooltip.AddTool(GetDlgItem(IDC_NUMBER),IDS_NUMBER);
m_tooltip.AddTool(GetDlgItem(IDC_UNIT),IDS_UNIT);
m_tooltip.AddTool(GetDlgItem(IDC_READEM),IDS_READEM);
m_tooltip.AddTool(GetDlgItem(IDC_RECORDSAVE),IDS_RECORDSAVE);
m_tooltip.AddTool(GetDlgItem(IDC_RECORDINPUTOUTEXCEL),IDS_RECORDINPUTOUTEXCEL);
m_tooltip.AddTool(GetDlgItem(IDC_LIST1),IDS_LIST1);
m_tooltip.AddTool(GetDlgItem(IDC_LOCK),IDS_LOCK);
m_tooltip.AddTool(GetDlgItem(IDC_LOCKTIME),IDS_LOCKTIME);
m_tooltip.AddTool(GetDlgItem(IDC_USERSET),IDS_USERSET);
m_tooltip.AddTool(GetDlgItem(IDC_STATICDATETIME),IDS_STATICDATETIME);
m_tooltip.AddTool(GetDlgItem(IDC_GSPMANGE),IDS_GSPMANGE);
if(theApp.GetAuto("autointernettime"))
{
GetInternetDate();
m_timerID5 = this->SetTimer(5,atoi(theApp.ReadData("USERS","autogetinternettime"))*60000,NULL);
}
if(!datetimestr.IsEmpty())
AfxMessageBox(datetimestr);
m_timerID1 = this->SetTimer(1,1000,NULL);
m_timerID2 = this->SetTimer(2,1,NULL);
if(m_locktime.GetCurSel()>0)
m_timerID3 = this->SetTimer(3,m_locktime.GetCurSel()*60000,NULL);
if(theApp.GetAuto("autosavescreen"))
m_timerID4 = this->SetTimer(4,atoi(theApp.ReadData("USERS","autosavetime"))*1000,NULL);//在指定的时间间隔截屏
return TRUE;
}
void CMedicineSaleManagesDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // 用于绘制的设备上下文
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// 使图标在工作矩形中居中
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// 绘制图标
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
//当用户拖动最小化窗口时系统调用此函数取得光标显示。
HCURSOR CMedicineSaleManagesDlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}
void CMedicineSaleManagesDlg::OnBnClickedCancel()
{
OnCancel();
}
void CMedicineSaleManagesDlg::OnBnClickedNewdatabase()//更新数据
{
if(theApp.make_sql)
{
AfxMessageBox("由于连接源数据库失败,不能完成数据的更新!");
return;
}
if(AfxMessageBox("更新数据将会使原有数据被新数据覆盖,是否继续?",MB_YESNO|MB_ICONQUESTION)==IDYES)
{
theApp.BeginWaitCursor();
theApp.makesqldatabase();
_RecordsetPtr m_pRecordset1;
ClsCtrl();
int rang=0;
CString strSQL="select * from products";
HRESULT hTRes;
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(strSQL.GetLength()+1),
((CMedicineSaleManagesApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
}
else
{
theApp.EndWaitCursor();
AfxMessageBox("打开数据源出错,不能更新!");
m_pRecordset->Close();
m_pRecordset=NULL;
return;
}
while(!(m_pRecordset->adoEOF))
{
rang++;
if(!(m_pRecordset->adoEOF))
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
/*strSQL="select * from productdetail";
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(strSQL.GetLength()+1),
((CMedicineSaleManagesApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
}
else
{
AfxMessageBox("打开数据源出错,不能更新!");
m_pRecordset->Close();
m_pRecordset=NULL;
return;
}
while(!(m_pRecordset->adoEOF))
{
rang++;
if(!(m_pRecordset->adoEOF))
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
m_pRecordset=NULL;
strSQL="select * from billidx";
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(strSQL.GetLength()+1),
((CMedicineSaleManagesApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
}
else
{
AfxMessageBox("打开数据源出错,不能更新!");
m_pRecordset->Close();
m_pRecordset=NULL;
return;
}
while(!(m_pRecordset->adoEOF))
{
rang++;
if(!(m_pRecordset->adoEOF))
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -