HistoryEdit.cpp
上传用户:sunh8215
上传日期:2010-02-13
资源大小:1616k
文件大小:2k
- /*
- * HistoryEdit.cpp
- *
- * Description:
- * CHistoryEdit implementation
- *
- * A CEdit subclass that allows you to display a text history
- * of events.
- *
- * Author:
- * Ravi Bhavnani (ravib@datablast.net)
- *
- * Revision History:
- * 15 Mar 1998 rab Original version
- */
- #include "stdafx.h"
- #include "HistoryEdit.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CHistoryEdit
- CHistoryEdit::CHistoryEdit()
- {
- m_bSelectable = FALSE;
- }
- CHistoryEdit::~CHistoryEdit()
- {
- }
- BEGIN_MESSAGE_MAP(CHistoryEdit, CEdit)
- //{{AFX_MSG_MAP(CHistoryEdit)
- ON_WM_SETFOCUS()
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CHistoryEdit operations
- void CHistoryEdit::AppendString
- (CString str1,CString str2,CRect rect)// [5/22/2003]
- //
- // Purpose:
- // Appends a text string to the history buffer.
- {
- CString strBuffer; // current contents of edit control
- // Append string
- GetWindowText (strBuffer);
- CDC* pDC=this->GetDC();
- CSize size1=pDC->GetTextExtent(str1);
- CSize size2=pDC->GetTextExtent(str2);
- if (!strBuffer.IsEmpty())
- strBuffer += "rn";
- strBuffer += str1;
- int nsize=rect.Width()-size1.cx-size2.cx;
- CSize sizenull=pDC->GetTextExtent(" ");
- for(int i=0;i<(nsize/sizenull.cx);i++)
- {
- strBuffer+=" ";
- }
- strBuffer+=str2;
- SetWindowText (strBuffer);
- // Scroll the edit control
- // LineScroll (GetLineCount(), 0);
- }
- /////////////////////////////////////////////////////////////////////////////
- // CHistoryEdit message handlers
- void CHistoryEdit::OnSetFocus(CWnd* pOldWnd)
- {
- // Don't allow user to select text
- if (m_bSelectable)
- CEdit::OnSetFocus (pOldWnd);
- else
- pOldWnd->SetFocus();
- }
- // End EditHistroy.cpp