ViewOutlook.cpp
上传用户:szcysw
上传日期:2013-03-11
资源大小:6752k
文件大小:4k
- // ViewOutlook.cpp : implementation file
- //
- #include "stdafx.h"
- #include "ViewOutlook.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CViewOutlook
- IMPLEMENT_DYNCREATE(CViewOutlook, CView)
- CViewOutlook::CViewOutlook()
- {
- }
- CViewOutlook::~CViewOutlook()
- {
- }
- BEGIN_MESSAGE_MAP(CViewOutlook, CView)
- //{{AFX_MSG_MAP(CViewOutlook)
- ON_WM_CREATE()
- ON_WM_SIZE()
- ON_WM_ERASEBKGND()
- ON_WM_CTLCOLOR_REFLECT()
- //}}AFX_MSG_MAP
- ON_MESSAGE( OBN_SELENDOK, OnSelEndOK )
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CViewOutlook drawing
- void CViewOutlook::OnDraw(CDC* pDC)
- {
- CDocument* pDoc = GetDocument();
- // TODO: add draw code here
- }
- /////////////////////////////////////////////////////////////////////////////
- // CViewOutlook diagnostics
- #ifdef _DEBUG
- void CViewOutlook::AssertValid() const
- {
- CView::AssertValid();
- }
- void CViewOutlook::Dump(CDumpContext& dc) const
- {
- CView::Dump(dc);
- }
- #endif //_DEBUG
- /////////////////////////////////////////////////////////////////////////////
- // CViewOutlook message handlers
- #include "resource.h"
- static UINT Icons[] =
- {
- IDI_ICON_OUTLOOK,
- IDI_ICON_INBOX,
- IDI_ICON_CALENDAR,
- IDI_ICON_CONTACTS,
- IDI_ICON_TASKS,
- IDI_ICON_JOURNAL,
- IDI_ICON_NOTES,
- IDI_ICON_DELETED,
- IDI_ICON_PUBLIC,
- IDI_ICON_DRAFTS,
- IDI_ICON_OUTBOX,
- IDI_ICON_SENT,
- };
- static LPCTSTR Title[] =
- {
- _T("今日"),
- _T("收件箱"),
- _T("日历"),
- _T("联系人"),
- _T("任务"),
- _T("安排"),
- _T("便笺"),
- _T("已删除"),
- _T("公用"),
- _T("草稿"),
- _T("发件箱"),
- _T("发送"),
- };
- CContentItems ContentInfo[] =
- {
- CContentItems ( 0, Title[ 0]),
- CContentItems ( 1, Title[ 1]),
- CContentItems ( 2, Title[ 2]),
- CContentItems ( 3, Title[ 3]),
- CContentItems ( 4, Title[ 4]),
- CContentItems ( 5, Title[ 5]),
- CContentItems ( 6, Title[ 6]),
- CContentItems ( 7, Title[ 7]),
- CContentItems ( 8, Title[ 8]),
- CContentItems ( 9, Title[ 9]),
- CContentItems (10, Title[10]),
- CContentItems (11, Title[11]),
- };
- int CViewOutlook::OnCreate(LPCREATESTRUCT lpCreateStruct)
- {
-
- if (CView::OnCreate(lpCreateStruct) == -1)
- return -1;
-
- //建立翻页箭头
- if (!m_Pager.Create(WS_CHILD|WS_VISIBLE|PGS_VERT,
- CRect(0,0,0,0), this, IDC_STATIC ))
- {
- TRACE0("建立翻页箭头出错n");
- return -1;
- }
- //设置列表框控件布局风格
- DWORD dwStyle = WS_CHILD | WS_VISIBLE | LBS_OWNERDRAWVARIABLE |
- LBS_NOINTEGRALHEIGHT | WS_TABSTOP;
- //建立列表框控件,设定其父窗口为建立翻页箭头
- if (!m_OutlookBar.Create( dwStyle, CRect(0,0,0,0),
- &m_Pager, IDC_OUTBAR ))
- {
- TRACE0("建立列表框控件出错n");
- return -1;
- }
-
- int nArraySize = sizeof(Icons)/sizeof(Icons[0]);
- //将列表框控件与视图关联
- m_OutlookBar.SetOwner (this);
- // 设置建立翻页箭头的滚动区间
- // 12*图标高
- m_Pager.SetScrollArea( NULL, nArraySize*OB_CYBUTTON );
- // 设置建立翻页箭头的滚动区间
- m_Pager.SetChild(m_OutlookBar.GetSafeHwnd());
- m_Pager.SetButtonSize(15);
-
- //建立图像列表并追加图标
- m_ImageList.Create (32, 32, TRUE, 2, 1);
- for (int i =0; i < nArraySize; ++i) {
- m_ImageList.Add(AfxGetApp()->LoadIcon(Icons[i]));
- }
- //设置图像列表
- m_OutlookBar.SetImageLists(&m_ImageList, &m_ImageList);
- //设置按钮项目
- m_OutlookBar.SetItems(ContentInfo, nArraySize);
-
- return 0;
- }
- void CViewOutlook::OnSize(UINT nType, int cx, int cy)
- {
- CView::OnSize(nType, cx, cy);
-
- if(m_Pager.GetSafeHwnd())
- {
- //显示翻页箭头
- m_Pager.MoveWindow(0,0,cx,cy-2);
- }
- }
- void CViewOutlook::OnSelEndOK(UINT lParam, LONG wParam)
- {
- UINT uIndex = lParam;
- //根据按钮的ID值进行消息响应
- switch( wParam )
- {
- case IDC_OUTBAR:
- AfxMessageBox(Title[uIndex]);
- break;
- }
- }
- BOOL CViewOutlook::OnEraseBkgnd(CDC* pDC)
- {
- //不进行默认的处理
- return 1;
- }
- HBRUSH CViewOutlook::CtlColor(CDC* pDC, UINT nCtlColor)
- {
- CBrush m_brHollow;
- m_brHollow.CreateStockObject(NULL_BRUSH);
- //NULL_BRUSH:不进行默认的处理
- return m_brHollow;
- }