1 #include "win32/Edit.h"
2 #include "win32/DefaultFonts.h"
3 #include <CommCtrl.h>
4 
5 using namespace Framework;
6 using namespace Framework::Win32;
7 
CEdit(HWND hWnd)8 CEdit::CEdit(HWND hWnd)
9 {
10 	m_hWnd = hWnd;
11 }
12 
CEdit(HWND hParent,const RECT & rect,const TCHAR * sText,unsigned long nStyle,unsigned long nStyleEx)13 CEdit::CEdit(HWND hParent, const RECT& rect, const TCHAR* sText, unsigned long nStyle, unsigned long nStyleEx)
14 {
15 	Create(nStyleEx, WC_EDIT, sText, WS_VISIBLE | WS_CHILD | nStyle, rect, hParent, NULL);
16 	SetFont(CDefaultFonts::GetMessageFont());
17 }
18 
operator =(CEdit && rhs)19 CEdit& CEdit::operator =(CEdit&& rhs)
20 {
21 	CWindow::Reset();
22 	CWindow::MoveFrom(std::move(rhs));
23 	return (*this);
24 }
25 
SetSelection(int nStart,int nEnd)26 void CEdit::SetSelection(int nStart, int nEnd)
27 {
28 	SendMessage(m_hWnd, EM_SETSEL, nStart, nEnd);
29 }
30 
ReplaceSelectionA(bool nCanBeUndone,const char * sText)31 void CEdit::ReplaceSelectionA(bool nCanBeUndone, const char* sText)
32 {
33 	SendMessageA(m_hWnd, EM_REPLACESEL, nCanBeUndone, (LPARAM)sText);
34 }
35 
SetTextLimit(int nLimit)36 void CEdit::SetTextLimit(int nLimit)
37 {
38 	SendMessage(m_hWnd, EM_LIMITTEXT, nLimit, 0);
39 }
40 
SetLeftMargin(unsigned int nMargin)41 void CEdit::SetLeftMargin(unsigned int nMargin)
42 {
43 	SendMessage(m_hWnd, EM_SETMARGINS, EC_LEFTMARGIN, MAKEWORD(nMargin, 0));
44 }
45