📄 sudefi.cpp
字号:
// sudefi.cpp : implementation file
//
#include "stdafx.h"
#include "flowerSaleSystem.h"
#include "sudefi.h"
#include "supply.h"
#include "warehouse.h"
#include "deor.h"
#include "price.h"
#include "orflin.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// sudefi property page
IMPLEMENT_DYNCREATE(sudefi, CPropertyPage)
sudefi::sudefi() : CPropertyPage(sudefi::IDD)
{
//{{AFX_DATA_INIT(sudefi)
m_get = _T("");
m_in = _T("");
m_out = _T("");
//}}AFX_DATA_INIT
}
sudefi::~sudefi()
{
}
void sudefi::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(sudefi)
DDX_Control(pDX, IDC_LIST1, m_list);
DDX_Text(pDX, IDC_STATICget, m_get);
DDX_Text(pDX, IDC_STATICin, m_in);
DDX_Text(pDX, IDC_STATICout, m_out);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(sudefi, CPropertyPage)
//{{AFX_MSG_MAP(sudefi)
ON_WM_PAINT()
ON_WM_CTLCOLOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// sudefi message handlers
BOOL sudefi::OnInitDialog()
{
CPropertyPage::OnInitDialog();
// TODO: Add extra initialization here
m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
m_list.SetBkColor(RGB(247,247,255));
m_list.SetTextColor(RGB(0,0,255));
m_list.SetTextBkColor(RGB(247,247,255));
m_font.CreateFont(16, 0,0,0,FW_NORMAL, 0,0,0,
DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS,
DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Georgia");
m_list.SetFont(&m_font);
m_list.InsertColumn(0,"花号",LVCFMT_CENTER,60);
m_list.InsertColumn(1,"花名",LVCFMT_CENTER,80);
m_list.InsertColumn(2,"供应商",LVCFMT_CENTER,120);
m_list.InsertColumn(3,"购进量",LVCFMT_CENTER,80);
m_list.InsertColumn(4,"卖出量",LVCFMT_CENTER,80);
m_list.InsertColumn(5,"剩余量",LVCFMT_CENTER,80);
m_list.InsertColumn(6,"进购日期",LVCFMT_CENTER,100);
m_list.InsertColumn(7,"单位进价",LVCFMT_CENTER,80);
m_list.InsertColumn(8,"零售卖出价",LVCFMT_CENTER,100);
m_list.InsertColumn(9,"批发卖出价",LVCFMT_CENTER,100);
m_list.InsertColumn(10,"总进购成本",LVCFMT_CENTER,100);
m_list.InsertColumn(11,"总收入",LVCFMT_CENTER,80);
m_list.InsertColumn(12,"净利润",LVCFMT_CENTER,80);
m_brush.CreateSolidBrush(RGB(0,0,0));
m_list.DeleteAllItems();
warehouse wa;
double moneyGet=0;
double moneyOut=0;
double money=0;
int n=0;
CString s;
if(wa.Open())
{
while(!wa.IsEOF())
{
m_list.InsertItem(n,"");
m_list.SetItemText(n,0,wa.m_wid);
m_list.SetItemText(n,1,wa.m_wnaem);
s.Format("%d",wa.m_totalAmount);
m_list.SetItemText(n,3,s);
s=wa.m_wpurchaseDate.Format("%Y-%m-%d");
m_list.SetItemText(n,6,s);
s.Format("%g",wa.m_wpurchasePrice);
m_list.SetItemText(n,7,s);
moneyOut+=wa.m_wpurchasePrice*wa.m_totalAmount;
s.Format("%g",wa.m_wpurchasePrice*wa.m_totalAmount);
m_list.SetItemText(n,10,s);
supply su;
su.m_strFilter.Format("sid='%s'",wa.m_sid);
su.Open();
m_list.SetItemText(n,2,su.m_sname);
su.Close();
price pr;
pr.m_strFilter.Format("fid='%s'",wa.m_wid);
pr.Open();
s.Format("%g",pr.m_retailPrice);
m_list.SetItemText(n,8,s);
s.Format("%g",pr.m_wholesalePrice);
m_list.SetItemText(n,9,s);
pr.Close();
orflin or;
or.m_strFilter.Format("fid='%s'",wa.m_wid);
or.Open();
int am=0;
double mo=0;
double pt=0;
while(!or.IsEOF())
{
deor dr;
dr.m_strFilter.Format("oid='%s'",or.m_oid);
dr.Open();
if(!dr.IsEOF())
{
am+=or.m_amount;
mo+=or.m_amount*or.m_salePrice;
moneyGet+=mo;
pt+=dr.m_profit;
money+=pt;
}
dr.Close();
or.MoveNext();
}
or.Close();
s.Format("%d",am);
m_list.SetItemText(n,4,s);
s.Format("%g",pt);
m_list.SetItemText(n,12,s);
s.Format("%g",mo);
m_list.SetItemText(n,11,s);
s.Format("%d",wa.m_totalAmount-am);
m_list.SetItemText(n,5,s);
n++;
wa.MoveNext();
}
}
wa.Close();
s.Format("%g",moneyOut);
m_out=s;
s.Format("%g",moneyGet);
m_in=s;
s.Format("%g",money);
m_get=s;
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void sudefi::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
CDC memDC;
CBitmap bitmap;
BITMAP bmp;
bitmap.LoadBitmap(IDB_BITMAPs);
bitmap.GetObject (sizeof(BITMAP),&bmp);
memDC.CreateCompatibleDC (&dc);
memDC.SelectObject (bitmap);
dc.BitBlt (0,0,bmp.bmWidth ,bmp.bmHeight ,&memDC,0,0,SRCCOPY);
// Do not call CPropertyPage::OnPaint() for painting messages
}
HBRUSH sudefi::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(nCtlColor==CTLCOLOR_LISTBOX)
{
pDC->SetBkMode(TRANSPARENT);//
pDC->SetTextColor(RGB(255,0,0));
return m_brush;
}
if(nCtlColor==CTLCOLOR_EDIT)
{
pDC->SetBkMode(TRANSPARENT);//
pDC->SetTextColor(RGB(0,255,0));
return m_brush;
}
if(nCtlColor==CTLCOLOR_STATIC)
{
pDC->SetBkMode(TRANSPARENT);//
pDC->SetTextColor(RGB(255,255,0));
return m_brush
;
}
if(nCtlColor==CTLCOLOR_DLG)
{
pDC->SetBkMode(TRANSPARENT);//
pDC->SetTextColor(RGB(175,216,229)); //浅色字体
return hbr;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -