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

📄 fvchild.cpp

📁 我自己整理的一些VC源代码
💻 CPP
📖 第 1 页 / 共 4 页
字号:
// FVChild.cpp : implementation file
//

#include "stdafx.h"
#include "SellMan.h"
#include "FVChild.h"
#include "TabXC.h"
#include "TabDL.h"
#include "TabSJ.h"
#include "TabSP.h"
#include "TabCS.h"
#include "TabGH.h"
#include "TabCS.h"
#include "GfxPopupMenu.h"

#include "DlgDL.h"
#include "DlgSP.h"
#include "DlgSJ.h"
#include "DlgYJ.h"
#include "DlgGH.h"
#include "DlgXC.h"
#include "DlgCS.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CFVChild
extern _ConnectionPtr connection;
extern BOOL bConnected;

#define WM_WH_APPEND	WM_USER + 401
#define WM_WH_MODIFY	WM_USER + 402
#define WM_WH_DELETE	WM_USER + 403

IMPLEMENT_DYNCREATE(CFVChild, CFormView)

CFVChild::CFVChild()
	: CFormView(CFVChild::IDD)
{
	//{{AFX_DATA_INIT(CFVChild)
	//}}AFX_DATA_INIT
	ftTitle.CreatePointFont(150, "楷体_GB2312");
	m_nCurrItem = -1;
}

CFVChild::~CFVChild()
{
}

void CFVChild::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CFVChild)
	DDX_Control(pDX, IDC_STATIC_TITLE, m_static_title);
	DDX_Control(pDX, IDC_BT_REFRESH, m_bt_refresh);
	DDX_Control(pDX, IDC_BT_MODIFY, m_bt_modify);
	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(CFVChild, CFormView)
	//{{AFX_MSG_MAP(CFVChild)
	ON_WM_SIZE()
	ON_BN_CLICKED(IDC_BT_ADD, OnBtAdd)
	ON_BN_CLICKED(IDC_BT_MODIFY, OnBtModify)
	ON_BN_CLICKED(IDC_BT_DELETE, OnBtDelete)
	ON_BN_CLICKED(IDC_BT_REFRESH, OnBtRefresh)
	ON_BN_CLICKED(IDC_BT_CLOSE, OnBtClose)
	ON_WM_DESTROY()
	ON_NOTIFY(NM_CLICK, IDC_LIST_CHILD, OnClickListChild)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST_CHILD, OnDblclkListChild)
	ON_NOTIFY(NM_RCLICK, IDC_LIST_CHILD, OnRclickListChild)
	//}}AFX_MSG_MAP
	ON_COMMAND( WM_WH_APPEND, OnWhAppend )
	ON_COMMAND( WM_WH_MODIFY, OnWhModify )
	ON_COMMAND( WM_WH_DELETE, OnWhDelete )
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFVChild diagnostics

#ifdef _DEBUG
void CFVChild::AssertValid() const
{
	CFormView::AssertValid();
}

void CFVChild::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CFVChild message handlers

void CFVChild::OnInitialUpdate() 
{
	CFormView::OnInitialUpdate();

	SetScrollSizes( MM_LOMETRIC, CSize( 0, 0 ) );

	m_bt_add.SetIcon( IDI_NEW );
	m_bt_modify.SetIcon( IDI_IMPORTCHECK );
	m_bt_delete.SetIcon( IDI_INVALID );
	m_bt_refresh.SetIcon( IDI_RQINVINFO );
	m_bt_close.SetIcon( IDI_EXIT16 );

	//m_imgList.Create( IDB_USEFULL, 16, 0, GetSysColor( COLOR_BACKGROUND ) );
	
	HICON hIcon;
	m_imgList.Create (16, 16, true, 2, 1);
	hIcon= AfxGetApp()->LoadIcon ( IDI_MAN );
	m_imgList.Add (hIcon);
	m_list_child.SetImageList( &m_imgList, LVSIL_SMALL );
	m_list_child.SetExtendedStyle( LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES  );
	m_list_child.SetTextColor( RGB( 0, 0, 128 ) );
	m_static_title.SetFont( &ftTitle );
}

void CFVChild::OnSize(UINT nType, int cx, int cy) 
{
	CFormView::OnSize(nType, cx, cy);
	
	if( m_bt_add.GetSafeHwnd() )
	{
		CString strTmp;
		m_static_title.GetWindowText( strTmp );
		CDC *pDC  = m_static_title.GetDC();
		CFont *pFont = pDC->SelectObject( &ftTitle );
		CSize size = pDC->GetTextExtent( strTmp );
		pDC->SelectObject( pFont );
		m_static_title.SetWindowPos( 0, (cy - size.cx) / 2, 5,size.cx, size.cy, SWP_NOZORDER );
		m_static_title.ReleaseDC( pDC );
		
		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_modify.SetWindowPos( 0, 115, cy - 40, 100, 35, SWP_NOZORDER );
		m_bt_delete.SetWindowPos( 0, 220, cy - 40, 100, 35, SWP_NOZORDER );
		m_bt_refresh.SetWindowPos( 0, 325, cy - 40, 100, 35, SWP_NOZORDER );
		m_bt_close.SetWindowPos( 0, 430, cy - 40, 100, 35, SWP_NOZORDER );
	}
}

void CFVChild::OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView) 
{
	AfxGetApp()->GetMainWnd()->SendMessage( WM_VIEW_ACTIVE, (WPARAM)this, (LPARAM)this );
	
	CFormView::OnActivateView(bActivate, pActivateView, pDeactiveView);
}

void CFVChild::OnDestroy() 
{
	CFormView::OnDestroy();
	
	AfxGetApp()->GetMainWnd()->SendMessage( WM_VIEW_CLOSE, (WPARAM)this, (LPARAM)this );
}

void CFVChild::OnClickListChild(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_LISTVIEW *pNMItem = (NM_LISTVIEW *)pNMHDR;
	m_nCurrItem = pNMItem->iItem;

	if( m_nCurrItem >= 0 )
	{
		m_bt_modify.EnableWindow( TRUE );
		m_bt_delete.EnableWindow( TRUE );
	}
	else
	{
		m_bt_modify.EnableWindow( FALSE );
		m_bt_delete.EnableWindow( FALSE );
	}
	
	*pResult = 0;
}

void CFVChild::OnDblclkListChild(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_LISTVIEW *pNMItem = (NM_LISTVIEW *)pNMHDR;
	m_nCurrItem = pNMItem->iItem;

	if( m_nCurrItem >= 0 )
	{
		OnBtModify();
	}
	else
	{
		OnBtAdd();
	}
	
	*pResult = 0;
}

void CFVChild::OnRclickListChild(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_LISTVIEW *pNMItem = (NM_LISTVIEW *)pNMHDR;
	m_nCurrItem = pNMItem->iItem;

	CGfxPopupMenu popupMenu;
	popupMenu.CreatePopupMenu();
	if( m_nCurrItem >= 0 )
	{
		m_bt_modify.EnableWindow( TRUE );
		m_bt_delete.EnableWindow( TRUE );
		popupMenu.AppendMenu( MF_STRING, WM_WH_APPEND, "增加" );
		popupMenu.AppendMenu( MF_STRING, WM_WH_MODIFY, "修改" );
		popupMenu.AppendMenu( MF_STRING, WM_WH_DELETE, "删除" );
	}
	else
	{
		m_bt_modify.EnableWindow( FALSE );
		m_bt_delete.EnableWindow( FALSE );
		popupMenu.AppendMenu( MF_STRING, WM_WH_APPEND, "增加" );
		popupMenu.AppendMenu( MF_STRING | MF_GRAYED, WM_WH_MODIFY, "修改" );
		popupMenu.AppendMenu( MF_STRING | MF_GRAYED, WM_WH_DELETE, "删除" );
	}

	CPoint point = pNMItem->ptAction;
	m_list_child.ClientToScreen( &point );

	popupMenu.TrackPopupMenu( TPM_LEFTALIGN |TPM_RIGHTBUTTON, point.x, point.y, this );

	popupMenu.DestroyMenu();
	
	*pResult = 0;
}

void CFVChild::OnWhAppend()
{
	OnBtAdd();
}

void CFVChild::OnWhModify()
{
	OnBtModify();
}

void CFVChild::OnWhDelete()
{
	OnBtDelete();
}

void CFVChild::ClearList()
{
	int count = m_list_child.GetHeaderCtrl()->GetItemCount();
	m_list_child.DeleteAllItems();
	for( int i = count - 1; i >= 0; i -- )
	{
		m_list_child.DeleteColumn( i );
	}

	m_bt_modify.EnableWindow( FALSE );
	m_bt_delete.EnableWindow( FALSE );
}

void CFVChild::Title(CString strTitle)
{
	CString strTmp;
	CDC *pDC;
	CSize size;
	CRect rcClient;
	GetClientRect( &rcClient );
	m_static_title.SetWindowText( strTitle );
	m_static_title.GetWindowText( strTmp );
	pDC  = m_static_title.GetDC();
	CFont *pFont = pDC->SelectObject( &ftTitle );
	size = pDC->GetTextExtent( strTmp );
	pDC->SelectObject( pFont );
	m_static_title.SetWindowPos( 0, (rcClient.Width() - size.cx) / 2, 5,size.cx, size.cy, SWP_NOZORDER );
	m_static_title.ReleaseDC( pDC );
}

void CFVChild::OnBtAdd() 
{
	switch( m_nListMode )
	{
	case IDC_TG_DAILISHANG:
		InsertDL();
		break;
	case ID_WH_SP:
		InsertSP();
		break;
	case ID_WH_SJ:
		InsertSJ();
		break;
	case IDC_TG_YUANGONG:
		InsertXC();
		break;
	case IDC_YJ_DAILIYJ:
		InsertYJ();
		break;
	case IDC_FILE_GH:
		InsertGH();
		break;
	case ID_VIEW_SPDW:
		InsertCS();
		break;
	}
}

void CFVChild::OnBtModify() 
{
	switch( m_nListMode )
	{
	case IDC_TG_DAILISHANG:
		UpdateDL();
		break;
	case ID_WH_SP:
		UpdateSP();
		break;
	case ID_WH_SJ:
		UpdateSJ();
		break;
	case IDC_TG_YUANGONG:
		UpdateXC();
		break;
	case IDC_YJ_DAILIYJ:
		//UpdateYJ();
		break;
	case IDC_FILE_GH:
		UpdateGH();
		break;
	case ID_VIEW_SPDW:
		UpdateCS();
		break;
	}
}

void CFVChild::OnBtDelete() 
{
	if( AfxMessageBox( "确实要删除吗?", MB_YESNO | MB_ICONQUESTION ) == IDYES )
	{
		switch( m_nListMode )
		{
		case IDC_TG_DAILISHANG:
			DeleteDL();
			break;
		case ID_WH_SP:
			DeleteSP();
			break;
		case ID_WH_SJ:
			DeleteSJ();
			break;
		case IDC_TG_YUANGONG:
			DeleteXC();
		case IDC_YJ_DAILIYJ:
			//DeleteYJ();
			break;
		case IDC_FILE_GH:
			DeleteGH();
			break;
		case ID_VIEW_SPDW:
			DeleteCS();
			break;
		}
		m_bt_modify.EnableWindow( FALSE );
		m_bt_delete.EnableWindow( FALSE );
	}
}

void CFVChild::OnBtRefresh() 
{
	switch( m_nListMode )
	{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -