📄 mainfrm.cpp
字号:
// MainFrm.cpp : implementation of the CMainFrame class
//
#include "stdafx.h"
#include "CustomerManage.h"
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_NOTIFY(NM_DBLCLK, ID_TREE_CTRL, OnDblclkTree2)
ON_COMMAND(ID_SET_USER_INFO, OnSetUserInfo)
ON_MESSAGE(WM_SET_STATUES_INFO,OnSetStatusInfo)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
IDS_STRING_SHOW_RECORD_NUM,
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction
CMainFrame::CMainFrame()
{
// TODO: add member initialization code here
}
CMainFrame::~CMainFrame()
{
if(m_pFnt != NULL)
delete m_pFnt;
m_pFnt = NULL;
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
// TODO: Delete these three lines if you don't want the toolbar to
// be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
if(!m_IEBar.Create(this, IDD_IEBAR, CBRS_LEFT, 50) || !m_IEBar.InitIEBar())
return -1;
CTreeCtrl* pTreeCtrl = m_IEBar.GetTreeCtrl();
ASSERT(pTreeCtrl);
// modify tree styles
pTreeCtrl->ModifyStyle(NULL,
TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS| TVS_SHOWSELALWAYS);
m_IEBar.EnableDocking(CBRS_ORIENT_HORZ);
DockControlBar(&m_IEBar);
int index = 0;
RECT rect;
while(m_wndToolBar.GetItemID(index)!=IDC_SHOW_TRACT)
index++;
int y=GetSystemMetrics(SM_CXSCREEN)-200;
m_wndToolBar.SetButtonInfo(index, IDC_SHOW_TRACT, TBBS_SEPARATOR, y);
m_wndToolBar.GetItemRect(index, &rect);
rect.top+=5;
rect.bottom -= 5;
if (!m_wndToolBar.m_edit.Create(WS_CHILD|WS_VISIBLE|ES_CENTER|ES_READONLY,
rect, &m_wndToolBar, IDC_SHOW_TRACT))
{
TRACE0("Failed to create edit\n");
return FALSE;
}
m_pFnt = new CAutoFont("宋体");
m_pFnt->SetBold(true);
m_pFnt->SetHeight(12);
m_wndToolBar.m_edit.SetFont(m_pFnt,true);
// CreateimageList();
InsertDataToTreeCtrl();
this->m_wndToolBar.m_edit.SetWindowText(_T("当前显示的是所有的客户信息"));
m_wndStatusBar.SetPaneInfo(1,IDS_STRING_SHOW_RECORD_NUM,SBPS_STRETCH,100);
return 0;
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics
#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
CFrameWnd::AssertValid();
}
void CMainFrame::Dump(CDumpContext& dc) const
{
CFrameWnd::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers
void CMainFrame::InsertDataToTreeCtrl()
{
_RecordsetPtr m_pADOSet;
CString strSQL;
int Index = 0;
// m_IEBar.pTreeCtrl->SetImageList(&m_imageList,TVSIL_NORMAL);
// m_IEBar.pTreeCtrl->SetTextColor(RGB(255,0,0));
try
{
m_pADOSet.CreateInstance(__uuidof(Recordset));
HTREEITEM t_Root = m_IEBar.pTreeCtrl->InsertItem("#所属地域");
HTREEITEM t_Root1 = m_IEBar.pTreeCtrl->InsertItem("#所有已到期客户");
HTREEITEM child1 = m_IEBar.pTreeCtrl->InsertItem("所有已到期客户",t_Root1);
m_IEBar.pTreeCtrl->SetItemData(child1,-100);
HTREEITEM t_Root2 = m_IEBar.pTreeCtrl->InsertItem("#所有未到期客户");
HTREEITEM child2 = m_IEBar.pTreeCtrl->InsertItem("所有未到期客户",t_Root2);
m_IEBar.pTreeCtrl->SetItemData(child2,-110);
strSQL = "select ID,所属地域 from CustomerTract";
m_pADOSet = theApp.ADOConn->Execute(strSQL.AllocSysString(),NULL,adCmdText);
while(!m_pADOSet->adoEOF)
{
HTREEITEM t_child = m_IEBar.pTreeCtrl->InsertItem((LPCSTR)(_bstr_t)m_pADOSet->GetCollect("所属地域"),t_Root);
m_IEBar.pTreeCtrl->SetItemData(t_child,m_pADOSet->GetCollect("ID").iVal);
m_pADOSet->MoveNext();
}
HTREEITEM t_child1 = m_IEBar.pTreeCtrl->InsertItem("全部",t_Root);
m_IEBar.pTreeCtrl->SetItemData(t_child1,-1);
m_pADOSet->Close();
}
catch(_com_error e)
{
MessageBox(e.Description(),MB_OK);
return;
}
}
void CMainFrame::OnDblclkTree2(NMHDR* pNMHDR, LRESULT* pResult)
{
CString sNode = "";
int ID = 0;
HTREEITEM ROT = m_IEBar.pTreeCtrl->GetSelectedItem();
sNode = m_IEBar.pTreeCtrl->GetItemText(ROT);
if(sNode.Left(1) != "#")
{
ID = m_IEBar.pTreeCtrl->GetItemData(ROT);
m_wndToolBar.m_edit.SetWindowText("当前显示的是" + m_IEBar.pTreeCtrl->GetItemText(ROT)+"的客户信息");
CView *pView;
pView = this->GetActiveView();
::SendMessage(pView->m_hWnd,WM_INSERT_DATA_TO_TREECTRL,NULL,(LPARAM)ID);
}
*pResult = 0;
}
#include "UserInfoDlg.h"
//DEL void CMainFrame::OnSetUserInfo()
//DEL {
//DEL // TODO: Add your command handler code here
//DEL if(theApp.m_userinfo.Popedom == 1)
//DEL {
//DEL MessageBox("你没有权限访问",MB_OK);
//DEL return;
//DEL }
//DEL if(theApp.m_userinfo.Popedom == 2)
//DEL {
//DEL CuserInfoDlg dlg;
//DEL dlg.DoModal();
//DEL }
//DEL }
void CMainFrame::OnSetUserInfo()
{
// TODO: Add your command handler code here
if(theApp.m_userinfo.Popedom == 0)
{
MessageBox("你没有权限访问",MB_OK);
return;
}
else
{
CuserInfoDlg dlg;
dlg.DoModal();
}
}
LRESULT CMainFrame::OnSetStatusInfo(WPARAM wParam,LPARAM lParam)
{
CString OutString;
int Number;
Number = (int)lParam;
OutString.Format("符合条件的有%d条",Number);
m_wndStatusBar.SetPaneText(1,OutString,true);
return 0;
}
void CMainFrame::CreateimageList()
{
HICON hIcon = NULL;
m_imageList.Create(16, 16, TRUE | ILC_COLOR8, 6, 0);
hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON4),IMAGE_ICON,16,16,0);
m_imageList.Add(hIcon);
hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON5),IMAGE_ICON,16,16,0);
m_imageList.Add(hIcon);
hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1),IMAGE_ICON,16,16,0);
m_imageList.Add(hIcon);
hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON3),IMAGE_ICON,16,16,0);
m_imageList.Add(hIcon);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -