⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sjclview.cpp

📁 用VC编写
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// 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 + -