| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #include "StdAfx.h"
- #include "ViewRes.h"
- #include "DisplayWnd.h"
- #include "ViewMgr.h"
- #include "resource.h"
- IMPLEMENT_DYNAMIC(CViewRes, CListCtrl)
- CViewRes::CViewRes(void)
- {
- }
- CViewRes::~CViewRes(void)
- {
- }
- BEGIN_MESSAGE_MAP(CViewRes, CListCtrl)
- ON_NOTIFY_REFLECT(NM_CLICK, &CViewRes::OnNMClick)
- END_MESSAGE_MAP()
- /*****************************************************************
- **【函数名称】 create
- **【函数功能】 控件初始化
- **【参数】
- **【返回值】
- ****************************************************************/
- bool CViewRes::create( CDisplayWnd* pWnd )
- {
- ASSERT(pWnd != NULL);
- CString Name;
- Name.LoadString(IDS_STR_VIEW_RES);
- // 创建pane
- if (!m_Pane.Create(Name, pWnd, CRect(0, 0, 100, 100), TRUE, IDS_STR_VIEW_RES,
- WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
- {
- TRACE0("创建资源窗口失败");
- return false;
- }
- m_Pane.EnableDocking(CBRS_ALIGN_ANY);
- //创建控件
- if(!Create(WS_CHILD | WS_VISIBLE | WS_VSCROLL | LVS_ICON | LVS_ALIGNTOP | LVS_SINGLESEL,
- CRect(0, 0, 0, 0), &m_Pane, IDC_LIST_RES))
- {
- TRACE0("创建资源列表控件失败\n");
- return false;
- }
- // 设置关联图标
- CImageList imgList;
- imgList.Create(32, 32, ILC_MASK|ILC_COLOR32, 3, 1);
- imgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_LINE));
- imgList.Add(AfxGetApp()->LoadIcon(IDI_ICON_FAX));
- SetImageList(&imgList, TVSIL_NORMAL);
- imgList.Detach();
- SetItemData(InsertItem(0, _T("线路资源"), 0), IDI_ICON_LINE);
- SetItemData(InsertItem(1, _T("传真资源"), 0), IDI_ICON_FAX);
- pWnd->OnNewPane(&m_Pane);
- return true;
- }
- /*****************************************************************
- **【函数名称】 newSize
- **【函数功能】 调整控件大小
- **【参数】
- **【返回值】
- ****************************************************************/
- void CViewRes::newSize( CRect& Rect )
- {
- if(IsWindow(GetSafeHwnd()))
- SetWindowPos(NULL, Rect.left, Rect.top, Rect.Width(), Rect.Height(), SWP_NOACTIVATE | SWP_NOZORDER);
- }
- void CViewRes::OnNMClick(NMHDR *pNMHDR, LRESULT *pResult)
- {
- LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
- // TODO: 在此添加控件通知处理程序代码
- if(pNMItemActivate->iItem != -1)
- {
- UINT ResType = GetItemData(pNMItemActivate->iItem);
- if(ResType == IDI_ICON_LINE)
- CViewMgr::GetInstance().showLineView();
- else
- CViewMgr::GetInstance().showFaxView();
- SetItemState(pNMItemActivate->iItem, LVIS_SELECTED, LVIF_STATE);
- *pResult = 0;
- }
- }
|