📄 mainlistview.cpp
字号:
// MainListView.cpp : implementation file
//
#include "stdafx.h"
#include "AlgorithmicDesign.h"
#include "MainListView.h"
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMainListView
IMPLEMENT_DYNCREATE(CMainListView, CListView)
CMainListView::CMainListView()
{
}
CMainListView::~CMainListView()
{
}
BEGIN_MESSAGE_MAP(CMainListView, CListView)
//{{AFX_MSG_MAP(CMainListView)
ON_NOTIFY_REFLECT(NM_DBLCLK, OnDblclk)
ON_NOTIFY_REFLECT(NM_CLICK, OnClick)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMainListView drawing
void CMainListView::OnDraw(CDC* pDC)
{
CDocument* pDoc = GetDocument();
// TODO: add draw code here
}
/////////////////////////////////////////////////////////////////////////////
// CMainListView diagnostics
#ifdef _DEBUG
void CMainListView::AssertValid() const
{
CListView::AssertValid();
}
void CMainListView::Dump(CDumpContext& dc) const
{
CListView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMainListView message handlers
void CMainListView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
CListCtrl& theCtrl = GetListCtrl();
if(NULL == m_ServerImgList.GetSafeHandle())
{
m_ServerImgList.Create(46, 46, ILC_COLOR24 | ILC_MASK, 0, 256);
CBitmap m_Bmp;
//m_Bmp.LoadBitmap(IDB_BITMAP_Design);
m_Bmp.m_hObject = (HBITMAP)::LoadImage(NULL,"res\\AlgorithmicDesign.bmp",IMAGE_BITMAP,
46*9 , 46 ,LR_LOADFROMFILE);
if(NULL != m_Bmp.GetSafeHandle())
{
m_ServerImgList.Add(&m_Bmp, RGB(3, 126, 129));
m_Bmp.DeleteObject();
}
}
if(NULL != m_ServerImgList.GetSafeHandle())
{
theCtrl.SetImageList(&m_ServerImgList, TVSIL_NORMAL);
}
LV_ITEM lvi;
lvi.mask = LVIF_TEXT | LVIF_STATE | LVIF_IMAGE ;
lvi.iItem = 0;
lvi.iSubItem = 0;
lvi.pszText = (LPTSTR)(LPCTSTR)("0/1背包问题的贪心算法");
lvi.iImage = 3; // There are 8 images in the image list
lvi.stateMask =LVIS_STATEIMAGEMASK;
lvi.state = INDEXTOSTATEIMAGEMASK(1);
theCtrl.InsertItem(&lvi);
lvi.iItem = 1;
lvi.pszText = (LPTSTR)(LPCTSTR)("最小耗费生成树问题的贪心算法");
theCtrl.InsertItem(&lvi);
lvi.iItem = 2;
lvi.pszText = (LPTSTR)(LPCTSTR)("FIFO队列式分支限界0/1背包问题");
theCtrl.InsertItem(&lvi);
lvi.iItem = 3;
lvi.pszText = (LPTSTR)(LPCTSTR)("王岩");
theCtrl.InsertItem(&lvi);
lvi.iItem = 4;
lvi.pszText = (LPTSTR)(LPCTSTR)("0/1背包问题的动态规划算法");
theCtrl.InsertItem(&lvi);
COLORREF clrBk =RGB(150, 175, 230);
theCtrl.SetBkColor( clrBk);
theCtrl.SetTextBkColor(clrBk);
}
void CMainListView::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CListCtrl& theCtrl = GetListCtrl();
ASSERT(pNMHDR);
if(NULL == pNMHDR)
return ;
int dwRoomData=theCtrl.GetSelectionMark();
POSITION p=theCtrl.GetFirstSelectedItemPosition();
//long num=(long*)dwRoomData;
if(p!=NULL)
{
switch(dwRoomData)
{
case 0:
{
//m_PackGreedyDlg.DoModal();
CMainFrame* pMainFrame =(CMainFrame*)::AfxGetMainWnd();
pMainFrame->p_MaintreeView->AddItem("0/1背包问题的贪心算法");
pMainFrame->ShowPackGreedyFrame(TRUE,0);
break;
}
case 1:
{
//m_PackGreedyDlg.DoModal();
CMainFrame* pMainFrame =(CMainFrame*)::AfxGetMainWnd();
pMainFrame->p_MaintreeView->AddItem("最小耗费生成树问题的贪心算法");
pMainFrame->ShowPackGreedyFrame(TRUE,1);
break;
}
case 2:
{
//m_PackGreedyDlg.DoModal();
CMainFrame* pMainFrame =(CMainFrame*)::AfxGetMainWnd();
pMainFrame->p_MaintreeView->AddItem("FIFO队列式分支限界0/1背包问题");
pMainFrame->ShowPackGreedyFrame(TRUE,2);
break;
}
case 4:
{
//m_PackGreedyDlg.DoModal();
CMainFrame* pMainFrame =(CMainFrame*)::AfxGetMainWnd();
pMainFrame->p_MaintreeView->AddItem("0/1背包问题的动态规划算法");
pMainFrame->ShowPackGreedyFrame(TRUE,4);
break;
}
default:
break;
}
}
*pResult = 0;
}
void CMainListView::OnClick(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CListCtrl& theCtrl = GetListCtrl();
ASSERT(pNMHDR);
if(NULL == pNMHDR)
return ;
int dwRoomData=theCtrl.GetSelectionMark();
POSITION p=theCtrl.GetFirstSelectedItemPosition();
//long num=(long*)dwRoomData;
if(p!=NULL)
{
switch(dwRoomData)
{
case 0:
{
//m_PackGreedyDlg.DoModal();
CMainFrame* pMainFrame =(CMainFrame*)::AfxGetMainWnd();
pMainFrame->p_MaintreeView->AddItem("0/1背包问题的贪心算法");
break;
}
case 1:
{
//m_PackGreedyDlg.DoModal();
CMainFrame* pMainFrame =(CMainFrame*)::AfxGetMainWnd();
pMainFrame->p_MaintreeView->AddItem("最小耗费生成树问题的贪心算法");
break;
}
case 2:
{
//m_PackGreedyDlg.DoModal();
CMainFrame* pMainFrame =(CMainFrame*)::AfxGetMainWnd();
pMainFrame->p_MaintreeView->AddItem("FIFO队列式分支限界0/1背包问题");
break;
}
case 4:
{
//m_PackGreedyDlg.DoModal();
CMainFrame* pMainFrame =(CMainFrame*)::AfxGetMainWnd();
pMainFrame->p_MaintreeView->AddItem("0/1背包问题的动态规划算法");
break;
}
default:
break;
}
}
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -