TLabelList.cpp
上传用户:cnjubao
上传日期:2007-01-02
资源大小:34k
文件大小:1k
源码类别:

ListView/ListBox

开发平台:

Visual C++

  1. /************************************
  2.   REVISION LOG ENTRY
  3.   Revision By: Mihai Filimon
  4.   Revised on 8/23/98 19:33:30
  5.   Comments: TLabelComboBox.cpp: implementation of the CTLabelList class.
  6.  ************************************/
  7. #include "stdafx.h"
  8. #include "TLabelList.h"
  9. #ifdef _DEBUG
  10. #undef THIS_FILE
  11. static char THIS_FILE[]=__FILE__;
  12. #define new DEBUG_NEW
  13. #endif
  14. //////////////////////////////////////////////////////////////////////
  15. // Construction/Destruction
  16. //////////////////////////////////////////////////////////////////////
  17. CTLabelList::CTLabelList():m_sSeparator(_T(":"))
  18. {
  19. m_hWndList = NULL;
  20. }
  21. CTLabelList::~CTLabelList()
  22. {
  23. }
  24. CWnd* CTLabelList::GetWindowControl()
  25. {
  26. return CWnd::FromHandle(m_hWndList);
  27. }
  28. BOOL CTLabelList::IsEditDestroyable()
  29. {
  30. return FALSE;
  31. }
  32. void CTLabelList::Attach(HWND hwnd)
  33. {
  34. ASSERT (::IsWindow(hwnd));
  35. ASSERT (m_hWndList == NULL);
  36. m_hWndList = hwnd;
  37. CWnd* pWnd = GetWindowControl();
  38. CRect rectCenter; GetWindowRect(rectCenter);
  39. CRect rect; pWnd->GetWindowRect(rect);
  40. POINT p;
  41. p.x = rectCenter.left + (rectCenter.Width() - rect.Width())/2;
  42. p.y = rectCenter.top + (rectCenter.Height() - rect.Height())/2;
  43. GetParent()->ScreenToClient(&p);
  44. pWnd->SetWindowPos(0, p.x, p.y, 0, 0, SWP_NOZORDER | SWP_NOSIZE | SWP_HIDEWINDOW | SWP_FRAMECHANGED);
  45. }
  46. void CTLabelList::Attach(CWnd* pWnd)
  47. {
  48. ASSERT (pWnd && IsWindow(pWnd->m_hWnd));
  49. Attach(pWnd->m_hWnd);
  50. }