mirror of
https://github.com/reactos/reactos.git
synced 2024-08-28 14:18:41 +00:00
60 lines
2 KiB
C++
60 lines
2 KiB
C++
/*
|
|
* PROJECT: PAINT for ReactOS
|
|
* LICENSE: LGPL
|
|
* FILE: base/applications/mspaint/textedit.cpp
|
|
* PURPOSE: Text editor and font chooser for the text tool
|
|
* PROGRAMMERS: Benedikt Freisen
|
|
*/
|
|
|
|
/* INCLUDES *********************************************************/
|
|
|
|
#include "precomp.h"
|
|
|
|
/* FUNCTIONS ********************************************************/
|
|
LRESULT CTextEditWindow::OnCreate(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
{
|
|
/* creating the edit control within the editor window */
|
|
RECT editControlPos = {0, 0, 0 + 100, 0 + 100};
|
|
editControl.Create(_T("EDIT"), m_hWnd, editControlPos, NULL,
|
|
WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL | WS_VSCROLL | ES_MULTILINE | ES_NOHIDESEL | ES_AUTOHSCROLL | ES_AUTOVSCROLL,
|
|
WS_EX_CLIENTEDGE);
|
|
return 0;
|
|
}
|
|
|
|
LRESULT CTextEditWindow::OnSize(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
{
|
|
RECT clientRect;
|
|
GetClientRect(&clientRect);
|
|
editControl.MoveWindow(clientRect.left, clientRect.top, RECT_WIDTH(clientRect), RECT_HEIGHT(clientRect), TRUE);
|
|
return 0;
|
|
}
|
|
|
|
LRESULT CTextEditWindow::OnClose(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
{
|
|
ShowWindow(SW_HIDE);
|
|
return 0;
|
|
}
|
|
|
|
LRESULT CTextEditWindow::OnCommand(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
{
|
|
switch(HIWORD(wParam))
|
|
{
|
|
case EN_UPDATE:
|
|
{
|
|
HeapFree(GetProcessHeap(), 0, textToolText);
|
|
textToolTextMaxLen = editControl.GetWindowTextLength() + 1;
|
|
textToolText = (LPTSTR) HeapAlloc(GetProcessHeap(), HEAP_GENERATE_EXCEPTIONS, sizeof(TCHAR) * textToolTextMaxLen);
|
|
editControl.GetWindowText(textToolText, textToolTextMaxLen);
|
|
ForceRefreshSelectionContents();
|
|
break;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
LRESULT CTextEditWindow::OnToolsModelToolChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
{
|
|
ShowWindow((wParam == TOOL_TEXT) ? SW_SHOW : SW_HIDE);
|
|
return 0;
|
|
}
|