HistoryEdit.cpp
上传用户:czfddz
上传日期:2013-03-20
资源大小:1517k
文件大小:2k
源码类别:

酒店行业

开发平台:

C/C++

  1. /*
  2.  *  HistoryEdit.cpp
  3.  *
  4.  *  Description:
  5.  *    CHistoryEdit implementation
  6.  *
  7.  *    A CEdit subclass that allows you to display a text history
  8.  *    of events.
  9.  *
  10.  *  Author:
  11.  *    Ravi Bhavnani (ravib@datablast.net)
  12.  *
  13.  *  Revision History:
  14.  *    15 Mar 1998   rab   Original version
  15.  */
  16. #include "stdafx.h"
  17. #include "HistoryEdit.h"
  18. #ifdef _DEBUG
  19. #define new DEBUG_NEW
  20. #undef THIS_FILE
  21. static char THIS_FILE[] = __FILE__;
  22. #endif
  23. /////////////////////////////////////////////////////////////////////////////
  24. // CHistoryEdit
  25. CHistoryEdit::CHistoryEdit()
  26. {
  27.   m_bSelectable = FALSE;
  28. }
  29. CHistoryEdit::~CHistoryEdit()
  30. {
  31. }
  32. BEGIN_MESSAGE_MAP(CHistoryEdit, CEdit)
  33. //{{AFX_MSG_MAP(CHistoryEdit)
  34. ON_WM_SETFOCUS()
  35. //}}AFX_MSG_MAP
  36. END_MESSAGE_MAP()
  37. /////////////////////////////////////////////////////////////////////////////
  38. // CHistoryEdit operations
  39. void CHistoryEdit::AppendString
  40.   (CString str1,CString str2,CRect rect)//  [5/22/2003]
  41. //
  42. //  Purpose:
  43. //    Appends a text string to the history buffer.
  44. {
  45. CString   strBuffer;    // current contents of edit control
  46.   // Append string
  47.   GetWindowText (strBuffer);
  48.   CDC* pDC=this->GetDC();
  49.   CSize size1=pDC->GetTextExtent(str1);
  50.   CSize size2=pDC->GetTextExtent(str2);
  51.   if (!strBuffer.IsEmpty())
  52.      strBuffer += "rn";
  53.   strBuffer += str1;
  54.   int nsize=rect.Width()-size1.cx-size2.cx;
  55.   CSize sizenull=pDC->GetTextExtent(" ");
  56.   for(int i=0;i<(nsize/sizenull.cx);i++)
  57.   {
  58.       strBuffer+=" ";
  59.   }
  60.   strBuffer+=str2;
  61.   SetWindowText (strBuffer);
  62.   // Scroll the edit control
  63. //  LineScroll (GetLineCount(), 0);
  64. }
  65. /////////////////////////////////////////////////////////////////////////////
  66. // CHistoryEdit message handlers
  67. void CHistoryEdit::OnSetFocus(CWnd* pOldWnd) 
  68. {
  69.   // Don't allow user to select text
  70.   if (m_bSelectable)
  71.      CEdit::OnSetFocus (pOldWnd);
  72.   else
  73.      pOldWnd->SetFocus();
  74. }
  75. // End EditHistroy.cpp