📄 sjclview.cpp
字号:
// sjclView.cpp : implementation of the CSjclView class
//
#include "stdafx.h"
#include "sjcl.h"
#include "ADD_DLG.h"
#include "EDIT_DLG.h"
#include "DEL_DLG.h"
#include "QUERY_DLG.h"
#include "sjclSet.h"
#include "sjclDoc.h"
#include "sjclView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSjclView
IMPLEMENT_DYNCREATE(CSjclView, CRecordView)
BEGIN_MESSAGE_MAP(CSjclView, CRecordView)
//{{AFX_MSG_MAP(CSjclView)
ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd)
ON_WM_CTLCOLOR()
ON_BN_CLICKED(IDC_BUTTON_QUERY, OnButtonQuery)
ON_BN_CLICKED(IDC_BUTTON_ALL, OnButtonAll)
ON_BN_CLICKED(IDC_BUTTON_DELETE, OnButtonDelete)
ON_BN_CLICKED(IDC_BUTTON_EDIT, OnButtonEdit)
ON_BN_CLICKED(IDC_BUTTON_SORT, OnButtonSort)
ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CRecordView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecordView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSjclView construction/destruction
CSjclView::CSjclView()
: CRecordView(CSjclView::IDD)
{
//{{AFX_DATA_INIT(CSjclView)
// NOTE: the ClassWizard will add member initialization here
m_pSet = NULL;
//}}AFX_DATA_INIT
// TODO: add construction code here
}
CSjclView::~CSjclView()
{
}
void CSjclView::DoDataExchange(CDataExchange* pDX)
{
CRecordView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSjclView)
DDX_Control(pDX, IDC_LIST1, m_ListCtrl);
//}}AFX_DATA_MAP
}
BOOL CSjclView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CRecordView::PreCreateWindow(cs);
}
void CSjclView::OnInitialUpdate()
{
m_pSet = &GetDocument()->m_sjclSet;
CRecordView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
m_btnLamp1.SubclassDlgItem(IDC_BUTTON_ADD, this);
m_btnLamp1.SetIcon(IDI_ICON_LAMP2, IDI_ICON_LAMP1);
// Don't draw border for this button
m_btnLamp1.DrawBorder(FALSE);
m_btnLamp1.SetActiveBgColor(RGB(55,125,0));
m_btnLamp1.SetInactiveBgColor(RGB(100,0,50));
m_btnLamp1.SetActiveFgColor(RGB(255,0,0));
m_btnLamp1.SetInactiveFgColor(RGB(0,255,0));
m_btnLamp2.SubclassDlgItem(IDC_BUTTON_EDIT, this);
m_btnLamp2.SetIcon(IDI_ICON_LAMP2, IDI_ICON_LAMP1);
// Don't draw border for this button
m_btnLamp2.DrawBorder(FALSE);
m_btnLamp2.SetActiveBgColor(RGB(55,125,0));
m_btnLamp2.SetInactiveBgColor(RGB(100,0,50));
m_btnLamp2.SetActiveFgColor(RGB(255,0,0));
m_btnLamp2.SetInactiveFgColor(RGB(0,255,0));
m_btnLamp3.SubclassDlgItem(IDC_BUTTON_DELETE, this);
m_btnLamp3.SetIcon(IDI_ICON_LAMP2, IDI_ICON_LAMP1);
// Don't draw border for this button
m_btnLamp3.DrawBorder(FALSE);
m_btnLamp3.SetActiveBgColor(RGB(55,125,0));
m_btnLamp3.SetInactiveBgColor(RGB(100,0,50));
m_btnLamp3.SetActiveFgColor(RGB(255,0,0));
m_btnLamp3.SetInactiveFgColor(RGB(0,255,0));
m_btnLamp4.SubclassDlgItem(IDC_BUTTON_ALL, this);
m_btnLamp4.SetIcon(IDI_ICON_LAMP2, IDI_ICON_LAMP1);
// Don't draw border for this button
m_btnLamp4.DrawBorder(FALSE);
m_btnLamp4.SetActiveBgColor(RGB(55,125,0));
m_btnLamp4.SetInactiveBgColor(RGB(100,0,50));
m_btnLamp4.SetActiveFgColor(RGB(255,0,0));
m_btnLamp4.SetInactiveFgColor(RGB(0,255,0));
m_btnLamp5.SubclassDlgItem(IDC_BUTTON_QUERY, this);
m_btnLamp5.SetIcon(IDI_ICON_LAMP2, IDI_ICON_LAMP1);
// Don't draw border for this button
m_btnLamp5.DrawBorder(FALSE);
m_btnLamp5.SetActiveBgColor(RGB(55,125,0));
m_btnLamp5.SetInactiveBgColor(RGB(100,0,50));
m_btnLamp5.SetActiveFgColor(RGB(255,0,0));
m_btnLamp5.SetInactiveFgColor(RGB(0,255,0));
m_btnLamp6.SubclassDlgItem(IDC_BUTTON_SORT, this);
m_btnLamp6.SetIcon(IDI_ICON_LAMP2, IDI_ICON_LAMP1);
// Don't draw border for this button
m_btnLamp6.DrawBorder(FALSE);
m_btnLamp6.SetActiveBgColor(RGB(55,125,0));
m_btnLamp6.SetInactiveBgColor(RGB(100,0,50));
m_btnLamp6.SetActiveFgColor(RGB(255,0,0));
m_btnLamp6.SetInactiveFgColor(RGB(0,255,0));
//创刷子用来设置界面背景色
m_Brush=CreateSolidBrush(RGB(30,180,180));
m_ListCtrl.SetBkColor(RGB(240,247,233));
m_ListCtrl.SetTextBkColor(RGB(240,247,233));
//设表格表题和列的宽度
/*CRgn rect;
rect.CreateRectRgn(0,0,2000,2000);
m_ListCtrl.SetWindowRgn(rect,TRUE);*/
m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_ListCtrl.InsertColumn(0,_T("序号"));
m_ListCtrl.InsertColumn(1,_T("产品名称"));
m_ListCtrl.InsertColumn(2,_T("产品型号"));
m_ListCtrl.InsertColumn(3,_T("进价"));
m_ListCtrl.InsertColumn(4,_T("出价"));
m_ListCtrl.InsertColumn(5,_T("对比价"));
m_ListCtrl.InsertColumn(6,_T("生产厂家"));
m_ListCtrl.InsertColumn(7,_T("厂家电话"));
m_ListCtrl.InsertColumn(8,_T("厂家传真"));
m_ListCtrl.InsertColumn(9,_T("厂家联系人"));
m_ListCtrl.InsertColumn(10,_T("供应商"));
m_ListCtrl.InsertColumn(11,_T("供应商电话"));
m_ListCtrl.InsertColumn(12,_T("供应商传真"));
m_ListCtrl.InsertColumn(13,_T("供应商联系人"));
m_ListCtrl.InsertColumn(14,_T("日期"));
m_ListCtrl.InsertColumn(15,_T("备注"));
int j;
for(j=0;j<16;j++)
{
if(j==0||j==2||j==3||j==4||j==5)
m_ListCtrl.SetColumnWidth(j ,60);
else if(j==7||j==10||j==15)
m_ListCtrl.SetColumnWidth(j ,120);
else
m_ListCtrl.SetColumnWidth(j ,90);
}
//显示所有记录
this->Show();
}
/////////////////////////////////////////////////////////////////////////////
// CSjclView printing
BOOL CSjclView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CSjclView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CSjclView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
/////////////////////////////////////////////////////////////////////////////
// CSjclView diagnostics
#ifdef _DEBUG
void CSjclView::AssertValid() const
{
CRecordView::AssertValid();
}
void CSjclView::Dump(CDumpContext& dc) const
{
CRecordView::Dump(dc);
}
CSjclDoc* CSjclView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CSjclDoc)));
return (CSjclDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CSjclView database support
CRecordset* CSjclView::OnGetRecordset()
{
return m_pSet;
}
/////////////////////////////////////////////////////////////////////////////
// CSjclView message handlers
void CSjclView::OnButtonAdd()
{
// TODO: Add your control notification handler code here
CADD_DLG dlg;
if(dlg.DoModal()==IDOK)
{
BOOL flag;
m_pSet->MoveFirst();
do{
if(m_pSet->m_column1==dlg.m_sBianh)
{
AfxMessageBox("已存在此编号的记录!");
flag=FALSE;
break;
}
else
{
flag=TRUE;
m_pSet->MoveNext();
}
}while(m_pSet->IsEOF());
if(flag)
{
m_pSet->AddNew();
m_pSet->m_column1=dlg.m_sBianh;
m_pSet->m_column2=dlg.m_sMingc;
m_pSet->m_column3=dlg.m_sXingh;
m_pSet->m_column4=dlg.m_fJinj;
m_pSet->m_column5=dlg.m_fChuj;
m_pSet->m_column6=dlg.m_fDuibj;
m_pSet->m_column7=dlg.m_sChangj;
m_pSet->m_column8=dlg.m_sCtel;
m_pSet->m_column9=dlg.m_sCfax;
m_pSet->m_column10=dlg.m_sClianxr;
m_pSet->m_column11=dlg.m_sGongys;
m_pSet->m_column12=dlg.m_sGtel;
m_pSet->m_column13=dlg.m_sGfax;
m_pSet->m_column14=dlg.m_sGlianxr;
m_pSet->m_column15=dlg.m_date;
m_pSet->m_column16=dlg.m_sBeiz;
m_pSet->Update();
m_pSet->Requery();
m_pSet->MoveLast();
CString s;
m_ListCtrl.InsertItem(0,dlg.m_sBianh,0);
m_ListCtrl.SetItemText(0,1,dlg.m_sMingc);
m_ListCtrl.SetItemText(0,2,dlg.m_sXingh);
s.Format("%f",dlg.m_fJinj);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -