📄 fvsupplieracc.cpp
字号:
// FVSupplierAcc.cpp : implementation file
//
#include "stdafx.h"
#include "SellMan.h"
#include "FVSupplierAcc.h"
#include "TabDL.h"
#include "TabCS.h"
#include "TabSP.h"
#include "TabYJ.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFVSupplierAcc
extern _ConnectionPtr connection;
extern BOOL bConnected;
IMPLEMENT_DYNCREATE(CFVSupplierAcc, CFormView)
CFVSupplierAcc::CFVSupplierAcc()
: CFormView(CFVSupplierAcc::IDD)
{
//{{AFX_DATA_INIT(CFVSupplierAcc)
//}}AFX_DATA_INIT
lima.Create(IDB_ARANLIST, 16, 0, RGB(255,0,255));
limah.Create(IDB_ARANCOL, 11, 0, RGB(255,0,255));
ftTimes.CreatePointFont(90, "Times New Roman");
iSelBmp = -1;
}
CFVSupplierAcc::~CFVSupplierAcc()
{
}
void CFVSupplierAcc::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFVSupplierAcc)
DDX_Control(pDX, IDC_BT_PRINT_PREVIEW, m_bt_printpreview);
DDX_Control(pDX, IDC_BT_PRINTRP, m_bt_printrp);
DDX_Control(pDX, IDC_DT_TIMEEND, m_dt_timeend);
DDX_Control(pDX, IDC_ED_SUPNO, m_ed_supno);
DDX_Control(pDX, IDC_DT_TIME, m_dt_time);
DDX_Control(pDX, IDC_CB_SELLTYPE, m_cb_selltype);
DDX_Control(pDX, IDC_CB_QUERYTYPE, m_cb_querytype);
DDX_Control(pDX, IDC_BT_SAVE, m_bt_save);
DDX_Control(pDX, IDC_BT_DELETE, m_bt_delete);
DDX_Control(pDX, IDC_BT_CLOSE, m_bt_close);
DDX_Control(pDX, IDC_BT_ADD, m_bt_add);
DDX_Control(pDX, IDC_LIST_CHILD, m_list_child);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFVSupplierAcc, CFormView)
//{{AFX_MSG_MAP(CFVSupplierAcc)
ON_WM_SIZE()
ON_NOTIFY(NM_CLICK, IDC_LIST_CHILD, OnClickListChild)
ON_BN_CLICKED(IDC_BT_ADD, OnBtAdd)
ON_BN_CLICKED(IDC_BT_SAVE, OnBtSave)
ON_BN_CLICKED(IDC_BT_DELETE, OnBtDelete)
ON_BN_CLICKED(IDC_BT_CLOSE, OnBtClose)
ON_WM_DESTROY()
ON_CBN_SELCHANGE(IDC_CB_QUERYTYPE, OnSelchangeCbQuerytype)
ON_BN_CLICKED(IDC_BT_QUERY, OnBtQuery)
ON_BN_CLICKED(IDC_BT_PRINT_PREVIEW, OnBtPrintPreview)
ON_BN_CLICKED(IDC_BT_PRINTRP, OnBtPrintrp)
//}}AFX_MSG_MAP
ON_COMMAND( ID_FILE_PRINT, OnFilePrint )
ON_COMMAND( ID_FILE_PRINT_PREVIEW, OnFilePrintPreview )
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFVSupplierAcc diagnostics
#ifdef _DEBUG
void CFVSupplierAcc::AssertValid() const
{
CFormView::AssertValid();
}
void CFVSupplierAcc::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CFVSupplierAcc message handlers
void CFVSupplierAcc::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
SetScrollSizes( MM_LOMETRIC, CSize( 0, 0 ) );
m_bt_add.SetIcon( IDI_NEW );
m_bt_save.SetIcon( IDI_IMPORTCHECK );
m_bt_delete.SetIcon( IDI_INVALID );
m_bt_printpreview.SetIcon( IDI_PRINT_PREVIEW );
m_bt_printrp.SetIcon( IDI_PRINT );
m_bt_close.SetIcon( IDI_EXIT16 );
m_listImage.Create( IDB_ARANLIST, 16, 0, GetSysColor( COLOR_BACKGROUND ) );
m_list_child.ModifyStyle( 0, LVS_SHOWSELALWAYS );
m_list_child.SetExtendedStyle( LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES );
m_list_child.SetImageList( &m_listImage, LVSIL_NORMAL );
m_list_child.SetItemHeight(17);
m_list_child.OnInit();
m_list_child.SetCategoryCallback((void (CWnd::*)(CGfxCategoryManager * , long &))CategoryCallBack);
//m_list_child.SetGetTextCallback((void (CWnd::*)(int , int, long, CString &)) GetTextCallback);
m_list_child.SetExInfoCallback((long (CWnd::*)(LXHDREX *))GetExInfoCallback);
m_list_child.SetTextColor( RGB( 0, 0, 162 ) );
int _DEFCOLS[] = { 0,1,2,3,4,5,6,7,8,9 };
CGfxColumnManager * pManager = m_list_child.CreateColumnManager();
pManager->DefineColumn(0, "销售代理商", NULL, LVCFMT_LEFT, 120, fhComboBoxEx|fhSortAble);
pManager->DefineColumn(1, "进货代理商", NULL, LVCFMT_LEFT, 120, fhComboBoxEx|fhSortAble);
pManager->DefineColumn(2, "产品", NULL, LVCFMT_LEFT, 150, fhComboBoxEx|fhSortAble);
pManager->DefineColumn(3, "时间", NULL, LVCFMT_LEFT, 70, fhEdit|fhSortAble);
pManager->DefineColumn(4, "数量", NULL, LVCFMT_LEFT, 70, fhEdit|fhSortAble);
pManager->DefineColumn(5, "价格", NULL, LVCFMT_LEFT, 70, fhEdit|fhSortAble);
pManager->DefineColumn(6, "金额", NULL, LVCFMT_LEFT, 70, fhEdit|fhSortAble);
pManager->DefineColumn(7, "卡号", NULL, LVCFMT_LEFT, 80, fhComboBoxEx|fhSortAble);
pManager->DefineColumn(8, "销售方式", NULL, LVCFMT_LEFT, 80, fhComboBoxEx|fhSortAble);
pManager->DefineColumn(9, "备注", NULL, LVCFMT_LEFT, 150, fhEdit|fhSortAble);
pManager->DefineDefaultColumns(sizeof(_DEFCOLS)/sizeof(int), _DEFCOLS);
pManager->ReadFromProfile("TheMainList");
m_list_child.SetItemImageList(&lima);
m_list_child.SetHeaderImageList(&limah);
m_list_child.ModifyFlag(0,fHighRowSelect|fVertGrid|fHorizGrid|fAutoSort,0);
m_list_child.SetupColumnData();
m_list_child.InsertItem( 0, "" );
m_list_child.SetItemData( 0, 0 );
m_cb_querytype.SetItemData( m_cb_querytype.AddString( "按销售代理商" ), 0 );
m_cb_querytype.SetItemData( m_cb_querytype.AddString( "按进货代理商" ), 1 );
m_cb_querytype.SetItemData( m_cb_querytype.AddString( "按销售日期" ), 2 );
m_cb_querytype.SetItemData( m_cb_querytype.AddString( "按销售方式" ), 3 );
m_cb_querytype.SetItemData( m_cb_querytype.AddString( "所有" ), 4 );
m_cb_querytype.SetItemData( m_cb_querytype.AddString( ">>" ), 5 );
m_cb_querytype.SetCurSel( 0 );
m_cb_selltype.SetItemData( m_cb_selltype.AddString( "批货" ), 0 );
m_cb_selltype.SetItemData( m_cb_selltype.AddString( "零售" ), 1 );
m_cb_selltype.SetItemData( m_cb_selltype.AddString( "所有" ), 2 );
m_cb_selltype.SetCurSel( 0 );
}
void CFVSupplierAcc::GetTextCallback(int iIndex, int iSubItem, long lCode, CString &cs)
{
cs = "";
int rc = m_list_child.GetColumnIndex(iSubItem);
if (rc == 4) cs = "1";
else if (rc == 5) cs = "2";
else if (rc == 6) cs = "3";
else if (rc == 2) cs.Format("%d", lCode);
else if (rc == 3) cs.Format("ma perche' non funziona ? non riesco a capire, porcaccia miseria %d", lCode);
else cs.Format("%d, %d", lCode, rc);
}
void CFVSupplierAcc::CategoryCallBack(CGfxCategoryManager * pCatMan, long & lData)
{
long value = lData;
int iCat = pCatMan->FindCategory(value);
if (iCat < 0)
{
CString cs;
long val1 = value / 20;
val1 *= 20;
long val2 = val1 + 20;
cs.Format("%d - %d", val1, val2);
iCat = pCatMan->AddCategory(cs, val1, val2);
}
if (iCat >= 0)
{
pCatMan->AddItemToCategory(iCat, value);
}
if (lData > 310)
{
pCatMan->AddItemToCategory(0, value);
}
}
long CFVSupplierAcc::GetExInfoCallback(LXHDREX * pLx)
{
ASSERT(pLx);
switch(pLx->iNotifyCode)
{
case NTEX_ITEMINFO:
//if (pLx->dwItemData < 25 || (pLx->dwItemData > 200 && pLx->dwItemData % 2 == 0))
// pLx->dwFlag |= LXHDREX::exBold;
/*if (pLx->iSubItem == 7) pLx->dwFlag |= LXHDREX::exUnderline;
if (pLx->iSubItem == 2)
{
pLx->hfText = (HFONT) ftTimes.GetSafeHandle();
pLx->dwFlag |= LXHDREX::exHFont;
}
if (pLx->iSubItem == 3)
{
pLx->dwFlag |= LXHDREX::exTextColor;
pLx->crText = RGB(255,0,0);
}
if (pLx->iSubItem == 8)
{
pLx->dwFlag |= LXHDREX::exTextColor;
pLx->crText = RGB(255,0,128);
}*/
pLx->dwFlag |= LXHDREX::exTextColor;
pLx->crText = RGB(0,0,162);
return 1;
break;
case NTEX_COMBOREQUEST:
{
pLx->pComboArray->Add(CString(""));
/*pLx->pComboArray->Add(CString(""));
pLx->pComboArray->Add(pLx->csText);
pLx->pComboArray->Add(CString("Provincia"));
pLx->pComboArray->Add(CString("Anas"));
pLx->pComboArray->Add(CString("Comune"));*/
CListCtrl *pList = (CListCtrl *)pLx->pComboList;
if( pList->GetSafeHwnd() )
{
InitColumnList( pList, pLx->iSubItem );
}
return 1;
}
break;
case NTEX_SETTEXT:
return 1;
case NTEX_AUTOPREVIEW:
{
if (pLx->dwItemData % 2 == 0) return 0;
LXHDREX_DIV * pLxEx = (LXHDREX_DIV *) pLx;
COLORREF ocr = pLxEx->pDC->SetTextColor(RGB(0,0,255));
CString cs;
cs.Format("TpLxEx->pDC->his is a test about item autopreview. We are writing some trash here. The autopreview is obtained handling the NTEX_AUTOPREVIEW subcode in the exinfo callback/message and the height of autopreview pane have to be fixed for all items and can be set by the SetAutoPreviewHeight(height) function and retrieved by the GetAutoPreviewHeight function.");
pLxEx->pDC->DrawText(cs, pLxEx->rcItem, DT_END_ELLIPSIS|DT_WORDBREAK);
pLxEx->pDC->SetTextColor(ocr);
return 0;
}
};
return 0L;
}
void CFVSupplierAcc::SetListItemCallBack(CString strName, CListCtrl *pList, int nItem)
{
}
void CFVSupplierAcc::ComboBoxCallBack(CString strName, CComboBox *pComboBox)
{
}
void CFVSupplierAcc::ListSubItemCallBack(CString strName, CListCtrl *pList, int nSubItem)
{
}
void CFVSupplierAcc::OnSize(UINT nType, int cx, int cy)
{
CFormView::OnSize(nType, cx, cy);
if( m_bt_add.GetSafeHwnd() )
{
m_list_child.SetWindowPos( 0, 0, 30, cx, cy - 75, SWP_NOZORDER );
m_bt_add.SetWindowPos( 0, 10, cy - 40, 100, 35, SWP_NOZORDER );
m_bt_save.SetWindowPos( 0, 115, cy - 40, 100, 35, SWP_NOZORDER );
m_bt_delete.SetWindowPos( 0, 220, cy - 40, 100, 35, SWP_NOZORDER );
m_bt_printpreview.SetWindowPos( 0, 325, cy - 40, 100, 35, SWP_NOZORDER );
m_bt_printrp.SetWindowPos( 0, 430, cy - 40, 100, 35, SWP_NOZORDER );
m_bt_close.SetWindowPos( 0, 535, cy - 40, 100, 35, SWP_NOZORDER );
}
}
void CFVSupplierAcc::InitColumnList( CListCtrl *pList, int iSubItem )
{
int i = 0;
CTabDL tabdl;
CTabCS tabcs;
CTabSP tabsp;
try
{
switch( iSubItem )
{
case 0://
case 1://
pList->InsertColumn( 0, "序号", LVCFMT_LEFT, 30 );
pList->InsertColumn( 1, "名称", LVCFMT_LEFT, 100 );
pList->InsertColumn( 2, "编号", LVCFMT_LEFT, 70 );
tabdl.Open( "where dljlzt <> 0" );
while( tabdl.IsOpen() && !tabdl.IsEOF() )
{
pList->InsertItem( i, tabdl.DLDLID.GetValue() );
pList->SetItemText( i , 1, tabdl.DLDLMC.GetValue() );
pList->SetItemText( i ++, 2, tabdl.DLDLBH.GetValue() );
tabdl.MoveNext();
}
break;
case 2://
pList->InsertColumn( 0, "序号", LVCFMT_LEFT, 30 );
pList->InsertColumn( 1, "名称", LVCFMT_LEFT, 100 );
pList->InsertColumn( 2, "编号", LVCFMT_LEFT, 70 );
tabsp.Open( "where spjlzt <> 0" );
while( tabsp.IsOpen() && !tabsp.IsEOF() )
{
pList->InsertItem( i, tabsp.SPSPID.GetValue() );
pList->SetItemText( i , 1, tabsp.SPSPMC.GetValue() );
pList->SetItemText( i ++, 2, tabsp.SPSPHM.GetValue() );
tabsp.MoveNext();
}
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
case 7://
pList->InsertColumn( 0, "序号", LVCFMT_LEFT, 30 );
pList->InsertColumn( 1, "", LVCFMT_LEFT, 100 );
pList->InsertItem( 0, "1" );
pList->SetItemText( 0, 1, "金卡" );
pList->InsertItem( 1, "2" );
pList->SetItemText( 1, 1, "银卡" );
pList->InsertItem( 2, "3" );
pList->SetItemText( 2, 1, "优惠卡" );
break;
case 8://
pList->InsertColumn( 0, "序号", LVCFMT_LEFT, 30 );
pList->InsertColumn( 1, "名称", LVCFMT_LEFT, 100 );
pList->InsertItem( 0, "0" );
pList->SetItemText( 0, 1, "批货" );
pList->InsertItem( 1, "1" );
pList->SetItemText( 1, 1, "零售" );
break;
case 9:
break;
}
}
catch( _com_error &e )
{
AfxMessageBox( e.ErrorMessage() );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -