TestTPWDlg.cpp
上传用户:cuiyan8037
上传日期:2007-01-01
资源大小:215k
文件大小:3k
源码类别:

ListView/ListBox

开发平台:

Visual C++

  1. // TestTPWDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "TitledPicsWndTest.h"
  5. #include "TitledPicsWnd.h"
  6. #include "TestTPWDlg.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CTestTPWDlg dialog
  14. CTestTPWDlg::CTestTPWDlg(CWnd* pParent /*=NULL*/)
  15. : CDialog(CTestTPWDlg::IDD, pParent)
  16. {
  17. //{{AFX_DATA_INIT(CTestTPWDlg)
  18. m_strMouseEvents = _T("");
  19. m_strSelectionChange = _T("");
  20. //}}AFX_DATA_INIT
  21. }
  22. void CTestTPWDlg::DoDataExchange(CDataExchange* pDX)
  23. {
  24. CDialog::DoDataExchange(pDX);
  25. //{{AFX_DATA_MAP(CTestTPWDlg)
  26. DDX_Control(pDX, ID_PIC_FRAME, m_picFrame);
  27. DDX_Text(pDX, ID_LBL_MOUSEEVENTS, m_strMouseEvents);
  28. DDX_Text(pDX, ID_LBL_SELCHANGE, m_strSelectionChange);
  29. //}}AFX_DATA_MAP
  30. }
  31. BEGIN_MESSAGE_MAP(CTestTPWDlg, CDialog)
  32. //{{AFX_MSG_MAP(CTestTPWDlg)
  33. ON_CONTROL(TPWN_SELCHANGE, ID_WND_PICLIST, OnSelChange)
  34. ON_CONTROL(TPWN_CLICK, ID_WND_PICLIST, OnClick)
  35. ON_CONTROL(TPWN_RCLICK, ID_WND_PICLIST, OnRClick)
  36. ON_CONTROL(TPWN_DBLCLK, ID_WND_PICLIST, OnDblClk)
  37. //}}AFX_MSG_MAP
  38. END_MESSAGE_MAP()
  39. /////////////////////////////////////////////////////////////////////////////
  40. // CTestTPWDlg message handlers
  41. BOOL CTestTPWDlg::OnInitDialog() 
  42. {
  43. CRect rctWindow ;
  44. CString strTemp ;
  45. HBITMAP hBmp ;
  46. HINSTANCE hInst ;
  47. int n ;
  48. CDialog::OnInitDialog();
  49. // Load file bitmaps.
  50. hInst = AfxGetInstanceHandle();
  51. for (n = 0 ; n < 9 ; n++)
  52. {
  53. strTemp.Format("BMP%d.BMP", n + 1);
  54. hBmp = (HBITMAP)LoadImage(hInst,(LPCTSTR)strTemp, IMAGE_BITMAP, 0, 0, 
  55. LR_LOADFROMFILE);
  56. m_bmpPics[n].Attach(hBmp);
  57. }
  58. // Work out where to position the window.
  59. m_picFrame.GetWindowRect(&rctWindow);
  60. ScreenToClient(&rctWindow);
  61. m_pWndPicList = new CTitledPicsWnd ;
  62. m_pWndPicList->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, rctWindow, this, 
  63. ID_WND_PICLIST);
  64. m_pWndPicList->StretchBitmaps();
  65. m_pWndPicList->SetSectionSize(84, 150);
  66. // Add the file bitmaps.
  67. for (n = 0 ; n < 9 ; n++)
  68. {
  69. strTemp.Format("Bitmap Number %d", n + 1);
  70. m_pWndPicList->Add(&m_bmpPics[n], strTemp);
  71. }
  72. // Add the resource bitmap.
  73. m_pWndPicList->Add(ID_BMP10,"Bitmap number 10");
  74. m_pWndPicList->SetSel(3);
  75. return TRUE;  // return TRUE unless you set the focus to a control
  76.               // EXCEPTION: OCX Property Pages should return FALSE
  77. }
  78. void CTestTPWDlg::OnSelChange(void)
  79. {
  80. int iIndex ;
  81. iIndex = m_pWndPicList->GetSel();
  82. m_strSelectionChange.Format("Selected item is now %d", iIndex);
  83. UpdateData(FALSE);
  84. }
  85. void CTestTPWDlg::OnClick(void)
  86. {
  87. m_strMouseEvents = "Item was left-clicked";
  88. UpdateData(FALSE);
  89. }
  90. void CTestTPWDlg::OnRClick(void)
  91. {
  92. m_strMouseEvents = "Item was right-clicked";
  93. UpdateData(FALSE);
  94. }
  95. void CTestTPWDlg::OnDblClk(void)
  96. {
  97. m_strMouseEvents = "Item was double-clicked";
  98. UpdateData(FALSE);
  99. }