561 lines
14 KiB
C++
561 lines
14 KiB
C++
// CustomThemesView.cpp : implementation of the CCustomThemesView class
|
|
//
|
|
// This file is a part of the XTREME TOOLKIT PRO MFC class library.
|
|
// (c)1998-2008 Codejock Software, All Rights Reserved.
|
|
//
|
|
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
|
|
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
|
|
// CONSENT OF CODEJOCK SOFTWARE.
|
|
//
|
|
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
|
|
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
|
|
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
|
|
// SINGLE COMPUTER.
|
|
//
|
|
// CONTACT INFORMATION:
|
|
// support@codejock.com
|
|
// http://www.codejock.com
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#include "stdafx.h"
|
|
#include "CustomThemes.h"
|
|
|
|
#include "CustomThemesDoc.h"
|
|
#include "CustomThemesView.h"
|
|
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CCustomThemesView
|
|
|
|
IMPLEMENT_DYNCREATE(CCustomThemesView, CRichEditView)
|
|
|
|
BEGIN_MESSAGE_MAP(CCustomThemesView, CRichEditView)
|
|
//{{AFX_MSG_MAP(CCustomThemesView)
|
|
// NOTE - the ClassWizard will add and remove mapping macros here.
|
|
// DO NOT EDIT what you see in these blocks of generated code!
|
|
ON_WM_CONTEXTMENU()
|
|
ON_WM_RBUTTONDOWN()
|
|
//}}AFX_MSG_MAP
|
|
|
|
ON_COMMAND(ID_TOOLS_HEX, OnToolsHex)
|
|
ON_UPDATE_COMMAND_UI(ID_TOOLS_HEX, OnUpdateToolsHex)
|
|
|
|
ON_UPDATE_COMMAND_UI(ID_SELECTOR_TEXT, OnUpdateSelectorText)
|
|
ON_XTP_EXECUTE(ID_SELECTOR_TEXT, OnSelectorText)
|
|
|
|
ON_UPDATE_COMMAND_UI(ID_BUTTON_TEXT, OnUpdateText)
|
|
ON_COMMAND(ID_BUTTON_TEXT, OnButtonText)
|
|
|
|
ON_UPDATE_COMMAND_UI(ID_SELECTOR_BACK, OnUpdateSelectorBack)
|
|
|
|
ON_XTP_EXECUTE(ID_SELECTOR_BACK, OnSelectorBack)
|
|
|
|
ON_UPDATE_COMMAND_UI(ID_BUTTON_BACK, OnUpdateBack)
|
|
ON_COMMAND(ID_BUTTON_BACK, OnButtonBack)
|
|
|
|
ON_UPDATE_COMMAND_UI(ID_TEXT_AUTO, OnUpdateTextAuto)
|
|
ON_COMMAND(ID_TEXT_AUTO, OnTextAuto)
|
|
|
|
ON_UPDATE_COMMAND_UI(ID_BACK_NONE, OnUpdateBackNone)
|
|
ON_COMMAND(ID_BACK_NONE, OnBackNone)
|
|
|
|
ON_COMMAND(ID_TEXT_MORE, OnTextMore)
|
|
ON_COMMAND(ID_BACK_MORE, OnBackMore)
|
|
|
|
ON_UPDATE_COMMAND_UI(ID_EDIT_FIND, OnUpdateEditFind)
|
|
|
|
|
|
// Standard printing commands
|
|
ON_COMMAND(ID_FILE_PRINT, CRichEditView::OnFilePrint)
|
|
ON_COMMAND(ID_FILE_PRINT_EX, CRichEditView::OnFilePrint)
|
|
|
|
ON_COMMAND(ID_FILE_PRINT_DIRECT, CRichEditView::OnFilePrint)
|
|
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRichEditView::OnFilePrintPreview)
|
|
|
|
ON_NOTIFY(XTP_FN_SETFORMAT, ID_COMBO_OWNERDRAW, OnSetCharFormat)
|
|
ON_UPDATE_COMMAND_UI(ID_COMBO_OWNERDRAW, OnUpdateComboFont)
|
|
|
|
ON_NOTIFY(XTP_FN_SETFORMAT, ID_COMBO_OWNERDRAW, OnSetCharFormat)
|
|
ON_NOTIFY(XTP_FN_SETFORMAT, ID_COMBO_OWNERDRAW, OnSetCharFormat)
|
|
|
|
ON_XTP_EXECUTE(ID_EDIT_FIND, OnEditFind)
|
|
ON_NOTIFY(CBN_DROPDOWN, ID_EDIT_FIND, OnDropdownFindCombo)
|
|
ON_NOTIFY(CBN_CLOSEUP, ID_EDIT_FIND, OnCloseupFindCombo)
|
|
ON_NOTIFY(CBN_SELCHANGE, ID_EDIT_FIND, OnSelchangeFindCombo)
|
|
ON_NOTIFY(CBN_SELENDOK, ID_EDIT_FIND, OnSelendokFindCombo)
|
|
ON_NOTIFY(CBN_SETFOCUS, ID_EDIT_FIND, OnSetfocusFindCombo)
|
|
ON_NOTIFY(CBN_SELENDCANCEL, ID_EDIT_FIND, OnSelendcancelFindCombo)
|
|
ON_NOTIFY(CBN_KILLFOCUS, ID_EDIT_FIND, OnKillfocusFindCombo)
|
|
ON_NOTIFY(CBN_EDITCHANGE, ID_EDIT_FIND, OnEditchangeFindCombo)
|
|
|
|
ON_UPDATE_COMMAND_UI(ID_PARA_INDENT, OnUpdateIndentLeft)
|
|
ON_XTP_EXECUTE(ID_PARA_INDENT, OnIndentLeft)
|
|
ON_NOTIFY(XTP_FN_SPINUP, ID_PARA_INDENT, OnIndentLeftSpin)
|
|
ON_NOTIFY(XTP_FN_SPINDOWN, ID_PARA_INDENT, OnIndentLeftSpin)
|
|
|
|
|
|
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CCustomThemesView construction/destruction
|
|
|
|
CCustomThemesView::CCustomThemesView()
|
|
{
|
|
m_bCheck = TRUE;
|
|
m_clr = RGB(255, 0, 0);
|
|
m_clrBack = RGB(255, 255, 100);
|
|
|
|
|
|
}
|
|
|
|
CCustomThemesView::~CCustomThemesView()
|
|
{
|
|
}
|
|
|
|
BOOL CCustomThemesView::PreCreateWindow(CREATESTRUCT& cs)
|
|
{
|
|
// TODO: Modify the Window class or styles here by modifying
|
|
// the CREATESTRUCT cs
|
|
|
|
return CRichEditView::PreCreateWindow(cs);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CCustomThemesView drawing
|
|
|
|
void CCustomThemesView::OnDraw(CDC* /*pDC*/)
|
|
{
|
|
CCustomThemesDoc* pDoc = GetDocument();
|
|
ASSERT_VALID(pDoc);
|
|
// TODO: add draw code for native data here
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CCustomThemesView printing
|
|
|
|
BOOL CCustomThemesView::OnPreparePrinting(CPrintInfo* pInfo)
|
|
{
|
|
// default preparation
|
|
return DoPreparePrinting(pInfo);
|
|
}
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CCustomThemesView diagnostics
|
|
|
|
#ifdef _DEBUG
|
|
void CCustomThemesView::AssertValid() const
|
|
{
|
|
CRichEditView::AssertValid();
|
|
}
|
|
|
|
void CCustomThemesView::Dump(CDumpContext& dc) const
|
|
{
|
|
CRichEditView::Dump(dc);
|
|
}
|
|
|
|
CCustomThemesDoc* CCustomThemesView::GetDocument() // non-debug version is inline
|
|
{
|
|
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CCustomThemesDoc)));
|
|
return (CCustomThemesDoc*)m_pDocument;
|
|
}
|
|
#endif //_DEBUG
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CCustomThemesView message handlers
|
|
|
|
|
|
|
|
|
|
void CCustomThemesView::OnToolsHex()
|
|
{
|
|
m_bCheck = !m_bCheck;
|
|
}
|
|
|
|
void CCustomThemesView::OnUpdateToolsHex(CCmdUI *pCmdUI)
|
|
{
|
|
pCmdUI->SetCheck(m_bCheck);
|
|
|
|
}
|
|
|
|
void CCustomThemesView::ShowContextMenu(CPoint point)
|
|
{
|
|
ClientToScreen(&point);
|
|
|
|
((CXTPMDIFrameWnd*)AfxGetMainWnd())->GetCommandBars()->
|
|
TrackPopupMenu(IDR_CONTEXT_MENU, TPM_RIGHTBUTTON, point.x, point.y);
|
|
}
|
|
|
|
void CCustomThemesView::OnRButtonDown(UINT /*nFlags*/, CPoint point)
|
|
{
|
|
ShowContextMenu(point);
|
|
}
|
|
|
|
void CCustomThemesView::OnContextMenu(CWnd* /*pWnd*/, CPoint point)
|
|
{
|
|
ShowContextMenu(point);
|
|
}
|
|
|
|
void CCustomThemesView::OnUpdateSelectorText(CCmdUI* pCmdUI)
|
|
{
|
|
CXTPControlColorSelector* pSelector = DYNAMIC_DOWNCAST(CXTPControlColorSelector, CXTPControl::FromUI(pCmdUI));
|
|
|
|
if (pSelector)
|
|
{
|
|
CHARFORMAT& cfm = GetCharFormatSelection( );
|
|
|
|
pSelector->SetColor(cfm.dwEffects & CFE_AUTOCOLOR? -1: cfm.crTextColor);
|
|
}
|
|
pCmdUI->Enable(TRUE);
|
|
}
|
|
|
|
void CCustomThemesView::OnButtonText()
|
|
{
|
|
CHARFORMAT& cfm = GetCharFormatSelection( );
|
|
cfm.dwMask |= CFM_COLOR;
|
|
cfm.dwEffects &= ~CFE_AUTOCOLOR ;
|
|
cfm.crTextColor = m_clr;
|
|
GetRichEditCtrl().SetSelectionCharFormat(cfm);
|
|
|
|
}
|
|
void CCustomThemesView::OnSelectorText(NMHDR* pNMHDR, LRESULT* pResult)
|
|
{
|
|
NMXTPCONTROL* tagNMCONTROL = (NMXTPCONTROL*)pNMHDR;
|
|
|
|
CXTPControlColorSelector* pControl = (CXTPControlColorSelector*)tagNMCONTROL->pControl;
|
|
m_clr = pControl->GetColor();
|
|
|
|
OnButtonText();
|
|
|
|
*pResult = 1;
|
|
}
|
|
|
|
|
|
void CCustomThemesView::OnUpdateText(CCmdUI* pCmdUI)
|
|
{
|
|
|
|
CXTPControlPopupColor* pPopup = DYNAMIC_DOWNCAST(CXTPControlPopupColor, CXTPControl::FromUI(pCmdUI));
|
|
if (pPopup)
|
|
{
|
|
pPopup->SetColor(m_clr);
|
|
}
|
|
|
|
pCmdUI->Enable(TRUE);
|
|
}
|
|
|
|
|
|
///////////////////
|
|
|
|
|
|
void CCustomThemesView::OnUpdateSelectorBack(CCmdUI* pCmdUI)
|
|
{
|
|
CXTPControlColorSelector* pSelector = DYNAMIC_DOWNCAST(CXTPControlColorSelector, CXTPControl::FromUI(pCmdUI));
|
|
|
|
if (pSelector)
|
|
{
|
|
|
|
CHARFORMAT2 cfm;
|
|
cfm.cbSize = sizeof(CHARFORMAT2);
|
|
::SendMessage(GetRichEditCtrl().GetSafeHwnd(), EM_GETCHARFORMAT, 1, (LPARAM)&cfm);
|
|
|
|
pSelector->SetColor(cfm.dwEffects & CFE_AUTOBACKCOLOR? -1: cfm.crBackColor);
|
|
}
|
|
pCmdUI->Enable(TRUE);
|
|
}
|
|
|
|
void CCustomThemesView::OnButtonBack()
|
|
{
|
|
CHARFORMAT2 cfm;
|
|
cfm.cbSize = sizeof(CHARFORMAT2);
|
|
::SendMessage(GetRichEditCtrl().GetSafeHwnd(), EM_GETCHARFORMAT, 1, (LPARAM)&cfm);
|
|
|
|
cfm.dwMask |= CFM_BACKCOLOR;
|
|
cfm.dwEffects &= ~CFE_AUTOBACKCOLOR ;
|
|
cfm.crBackColor = m_clrBack;
|
|
::SendMessage(GetRichEditCtrl().GetSafeHwnd(), EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cfm);
|
|
|
|
}
|
|
void CCustomThemesView::OnSelectorBack(NMHDR* pNMHDR, LRESULT* pResult)
|
|
{
|
|
NMXTPCONTROL* tagNMCONTROL = (NMXTPCONTROL*)pNMHDR;
|
|
|
|
CXTPControlColorSelector* pControl = (CXTPControlColorSelector*)tagNMCONTROL->pControl;
|
|
m_clrBack = pControl->GetColor();
|
|
|
|
OnButtonBack();
|
|
|
|
*pResult = 1;
|
|
}
|
|
|
|
|
|
|
|
void CCustomThemesView::OnUpdateBack(CCmdUI* pCmdUI)
|
|
{
|
|
|
|
CXTPControlPopupColor* pPopup = DYNAMIC_DOWNCAST(CXTPControlPopupColor, CXTPControl::FromUI(pCmdUI));
|
|
if (pPopup)
|
|
{
|
|
pPopup->SetColor(m_clrBack);
|
|
}
|
|
|
|
pCmdUI->Enable(TRUE);
|
|
}
|
|
|
|
|
|
|
|
void CCustomThemesView::OnTextAuto()
|
|
{
|
|
CHARFORMAT& cfm = GetCharFormatSelection( );
|
|
cfm.dwMask |= CFM_COLOR;
|
|
cfm.dwEffects |= CFE_AUTOCOLOR ;
|
|
GetRichEditCtrl().SetSelectionCharFormat(cfm);
|
|
}
|
|
|
|
void CCustomThemesView::OnUpdateTextAuto(CCmdUI* pCmd)
|
|
{
|
|
CHARFORMAT& cfm = GetCharFormatSelection( );
|
|
pCmd->SetCheck(cfm.dwEffects & CFE_AUTOCOLOR? TRUE: FALSE);
|
|
}
|
|
|
|
|
|
void CCustomThemesView::OnBackNone()
|
|
{
|
|
CHARFORMAT2 cfm;
|
|
cfm.cbSize = sizeof(CHARFORMAT2);
|
|
::SendMessage(GetRichEditCtrl().GetSafeHwnd(), EM_GETCHARFORMAT, 1, (LPARAM)&cfm);
|
|
|
|
cfm.dwMask |= CFM_BACKCOLOR;
|
|
cfm.dwEffects |= CFE_AUTOBACKCOLOR ;
|
|
::SendMessage(GetRichEditCtrl().GetSafeHwnd(), EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cfm);
|
|
|
|
}
|
|
|
|
void CCustomThemesView::OnUpdateBackNone(CCmdUI* pCmd)
|
|
{
|
|
CHARFORMAT2 cfm;
|
|
cfm.cbSize = sizeof(CHARFORMAT2);
|
|
::SendMessage(GetRichEditCtrl().GetSafeHwnd(), EM_GETCHARFORMAT, 1, (LPARAM)&cfm);
|
|
|
|
pCmd->SetCheck(cfm.dwEffects & CFE_AUTOBACKCOLOR? TRUE: FALSE);
|
|
}
|
|
|
|
void CCustomThemesView::OnTextMore()
|
|
{
|
|
CColorDialog cd(m_clr);
|
|
if (cd.DoModal())
|
|
{
|
|
m_clr = cd.GetColor();
|
|
OnButtonText();
|
|
}
|
|
|
|
}
|
|
|
|
void CCustomThemesView::OnBackMore()
|
|
{
|
|
CColorDialog cd(m_clrBack);
|
|
if (cd.DoModal())
|
|
{
|
|
m_clrBack = cd.GetColor();
|
|
OnButtonBack();
|
|
}
|
|
|
|
}
|
|
|
|
void SendTrace(CString str)
|
|
{
|
|
TRACE(_T("Find combo notification: ") + str + "\n");
|
|
}
|
|
|
|
|
|
void CCustomThemesView::OnEditFind(NMHDR* pNMHDR, LRESULT* pResult)
|
|
{
|
|
SendTrace(_T("CBN_XTP_EXECUTE"));
|
|
|
|
NMXTPCONTROL* tagNMCONTROL = (NMXTPCONTROL*)pNMHDR;
|
|
|
|
CXTPControlComboBox* pControl = (CXTPControlComboBox*)tagNMCONTROL->pControl;
|
|
if (pControl->GetType() == xtpControlComboBox)
|
|
{
|
|
CString strFind = pControl->GetEditText();
|
|
|
|
if (!strFind.IsEmpty() && (pControl->GetEditHint() != strFind) && !FindText(strFind, TRUE,FALSE))
|
|
{
|
|
AfxMessageBox(_T("String not Found"));
|
|
}
|
|
|
|
*pResult = 1; // Handled;
|
|
}
|
|
}
|
|
|
|
void CCustomThemesView::OnUpdateEditFind(CCmdUI* pCmd)
|
|
{
|
|
pCmd->Enable(TRUE);
|
|
}
|
|
|
|
|
|
void CCustomThemesView::OnSetCharFormat(NMHDR* pNMHDR, LRESULT* pRes)
|
|
{
|
|
ASSERT(pNMHDR != NULL);
|
|
ASSERT(pRes != NULL);
|
|
|
|
#if (_MSC_VER < 1300)
|
|
CHARFORMAT& cf = ((NMXTPCHARHDR*)pNMHDR)->cf;
|
|
#else
|
|
CHARFORMAT2 cf;
|
|
MEMCPY_S(&cf, &((NMXTPCHARHDR*)pNMHDR)->cf, sizeof(((NMXTPCHARHDR*)pNMHDR)->cf));
|
|
#endif
|
|
SetCharFormat(cf);
|
|
*pRes = 1;
|
|
}
|
|
|
|
void CCustomThemesView::OnUpdateComboFont(CCmdUI* pCmd)
|
|
{
|
|
CXTPControlFontComboBox* pFontCombo = (CXTPControlFontComboBox*)CXTPControl::FromUI(pCmd);
|
|
|
|
if (pFontCombo && pFontCombo->GetType() == xtpControlComboBox)
|
|
{
|
|
pFontCombo->SetCharFormat((CHARFORMAT&)GetCharFormatSelection());
|
|
}
|
|
pCmd->Enable(TRUE);
|
|
}
|
|
|
|
|
|
|
|
void CCustomThemesView::OnDropdownFindCombo(NMHDR* /*pNMHDR*/, LRESULT* /*pRes*/)
|
|
{
|
|
SendTrace(_T("CBN_DROPDOWN"));
|
|
|
|
}
|
|
|
|
void CCustomThemesView::OnCloseupFindCombo(NMHDR* /*pNMHDR*/, LRESULT* /*pRes*/)
|
|
{
|
|
SendTrace(_T("CBN_CLOSEUP"));
|
|
|
|
}
|
|
|
|
void CCustomThemesView::OnSelchangeFindCombo(NMHDR* /*pNMHDR*/, LRESULT* /*pRes*/)
|
|
{
|
|
SendTrace(_T("CBN_SELCHANGE"));
|
|
|
|
}
|
|
|
|
void CCustomThemesView::OnSelendokFindCombo(NMHDR* /*pNMHDR*/, LRESULT* /*pRes*/)
|
|
{
|
|
SendTrace(_T("CBN_SELENDOK"));
|
|
|
|
}
|
|
|
|
void CCustomThemesView::OnSetfocusFindCombo(NMHDR* /*pNMHDR*/, LRESULT* /*pRes*/)
|
|
{
|
|
SendTrace(_T("CBN_SETFOCUS"));
|
|
|
|
}
|
|
|
|
void CCustomThemesView::OnSelendcancelFindCombo(NMHDR* /*pNMHDR*/, LRESULT* /*pRes*/)
|
|
{
|
|
SendTrace(_T("CBN_SELENDCANCEL"));
|
|
|
|
}
|
|
|
|
void CCustomThemesView::OnKillfocusFindCombo(NMHDR* /*pNMHDR*/, LRESULT* /*pRes*/)
|
|
{
|
|
SendTrace(_T("CBN_KILLFOCUS"));
|
|
|
|
}
|
|
|
|
void CCustomThemesView::OnEditchangeFindCombo(NMHDR* /*pNMHDR*/, LRESULT* /*pRes*/)
|
|
{
|
|
SendTrace(_T("CBN_EDITCHANGE"));
|
|
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
CString FormatIndent(int nIndent)
|
|
{
|
|
CString strIndent;
|
|
|
|
if (nIndent % 1000 == 0)
|
|
strIndent.Format(_T("%0.0f\""), (double)nIndent / 1000);
|
|
else if (nIndent % 100 == 0)
|
|
strIndent.Format(_T("%0.1f\""), (double)nIndent / 1000);
|
|
else
|
|
strIndent.Format(_T("%0.2f\""), (double)nIndent / 1000);
|
|
|
|
return strIndent;
|
|
}
|
|
|
|
void CCustomThemesView::SetIndentLeft(long nIndentLeft)
|
|
{
|
|
if (nIndentLeft < -11000)
|
|
nIndentLeft = -11000;
|
|
if (nIndentLeft > 22000)
|
|
nIndentLeft = 22000;
|
|
|
|
PARAFORMAT pf;
|
|
pf.cbSize = sizeof(PARAFORMAT);
|
|
pf.dwMask = PFM_STARTINDENT;
|
|
pf.dxStartIndent = nIndentLeft;
|
|
|
|
::SendMessage(m_hWnd, EM_SETPARAFORMAT, 0, (LPARAM)&pf);
|
|
}
|
|
long CCustomThemesView::GetIndentLeft()
|
|
{
|
|
PARAFORMAT pf;
|
|
pf.cbSize = sizeof(PARAFORMAT);
|
|
pf.dwMask = PFM_STARTINDENT;
|
|
|
|
::SendMessage(m_hWnd, EM_GETPARAFORMAT, 0, (LPARAM)&pf);
|
|
return pf.dxStartIndent;
|
|
}
|
|
|
|
void CCustomThemesView::OnUpdateIndentLeft(CCmdUI* pCmdUI)
|
|
{
|
|
CXTPControlEdit* pControl = DYNAMIC_DOWNCAST(CXTPControlEdit, CXTPControl::FromUI(pCmdUI));
|
|
if (pControl && !pControl->HasFocus())
|
|
{
|
|
pControl->SetEditText(FormatIndent(GetIndentLeft()));
|
|
}
|
|
pCmdUI->Enable(TRUE);
|
|
}
|
|
|
|
double _ttof(LPCTSTR lpszStr)
|
|
{
|
|
USES_CONVERSION;
|
|
return atof(T2A((LPTSTR)lpszStr));
|
|
}
|
|
|
|
void CCustomThemesView::OnIndentLeft(NMHDR* pNMHDR, LRESULT* pResult)
|
|
{
|
|
NMXTPCONTROL* tagNMCONTROL = (NMXTPCONTROL*)pNMHDR;
|
|
CXTPControlEdit* pControl = DYNAMIC_DOWNCAST(CXTPControlEdit, tagNMCONTROL->pControl);
|
|
|
|
if (pControl)
|
|
{
|
|
SetIndentLeft(int(_ttof(pControl->GetEditText()) * 1000));
|
|
}
|
|
|
|
*pResult = 1;
|
|
}
|
|
|
|
void CCustomThemesView::OnIndentLeftSpin(NMHDR* pNMHDR, LRESULT* pResult)
|
|
{
|
|
NMXTPUPDOWN* tagNMCONTROL = (NMXTPUPDOWN*)pNMHDR;
|
|
CXTPControlEdit* pControl = DYNAMIC_DOWNCAST(CXTPControlEdit, tagNMCONTROL->pControl);
|
|
|
|
if (pControl)
|
|
{
|
|
SetIndentLeft(int(_ttof(pControl->GetEditText()) * 1000) + tagNMCONTROL->iDelta * 100);
|
|
|
|
pControl->SetEditText(FormatIndent(GetIndentLeft()));
|
|
}
|
|
*pResult = 1;
|
|
}
|
|
|