This commit is contained in:
romkazvo
2023-08-07 19:29:24 +08:00
commit 34d6c5d489
4832 changed files with 1389451 additions and 0 deletions

View File

@@ -0,0 +1,99 @@
////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2002.
// -------------------------------------------------------------------------
// File name: inplaceedit.cpp
// Version: v1.00
// Created: 5/6/2002 by Timur.
// Compilers: Visual Studio.NET
// Description:
// -------------------------------------------------------------------------
// History: Based on Stefan Belopotocan code.
//
////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "InPlaceEdit.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CInPlaceEdit
CInPlaceEdit::CInPlaceEdit( const CString& srtInitText,OnChange onchange )
{
m_strInitText = srtInitText;
m_onChange = onchange;
}
CInPlaceEdit::~CInPlaceEdit()
{
}
void CInPlaceEdit::SetText(const CString& strText)
{
m_strInitText = strText;
SetWindowText(strText);
SetSel(0, -1);
}
BOOL CInPlaceEdit::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN)
{
switch(pMsg->wParam)
{
case VK_ESCAPE:
case VK_RETURN:
::PeekMessage(pMsg, NULL, NULL, NULL, PM_REMOVE);
case VK_TAB:
GetParent()->SetFocus();
if (m_onChange)
m_onChange();
return TRUE;
default:
;
}
}
return CEdit::PreTranslateMessage(pMsg);
}
BEGIN_MESSAGE_MAP(CInPlaceEdit, CEdit)
//{{AFX_MSG_MAP(CInPlaceEdit)
ON_WM_CREATE()
ON_WM_KILLFOCUS()
ON_WM_ERASEBKGND()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CInPlaceEdit message handlers
int CInPlaceEdit::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if(CEdit::OnCreate(lpCreateStruct) == -1)
return -1;
CFont* pFont = GetParent()->GetFont();
SetFont(pFont);
SetWindowText(m_strInitText);
return 0;
}
void CInPlaceEdit::OnKillFocus(CWnd* pNewWnd)
{
CEdit::OnKillFocus(pNewWnd);
}
BOOL CInPlaceEdit::OnEraseBkgnd(CDC* /*pDC*/)
{
return TRUE;
}