📄 fvchild.cpp
字号:
// 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 + -