2024-12-21 10:04:04 +08:00
// EventEditView_CreateModifySignal.cpp : <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Դϴ<D4B4> .
//
# include "stdafx.h"
# include "EtActionTool.h"
# include "EventEditView_CreateModifySignal.h"
# include "SignalManager.h"
// CEventEditView_CreateModifySignal
IMPLEMENT_DYNCREATE ( CEventEditView_CreateModifySignal , CFormView )
CEventEditView_CreateModifySignal : : CEventEditView_CreateModifySignal ( )
: CFormView ( CEventEditView_CreateModifySignal : : IDD )
, m_szSignalName ( _T ( " " ) )
, m_bHasLength ( FALSE )
{
m_pmemDC = NULL ;
m_pdcBitmap = NULL ;
}
CEventEditView_CreateModifySignal : : ~ CEventEditView_CreateModifySignal ( )
{
DeleteMemDC ( ) ;
}
void CEventEditView_CreateModifySignal : : DoDataExchange ( CDataExchange * pDX )
{
CFormView : : DoDataExchange ( pDX ) ;
DDX_Text ( pDX , IDC_EDIT1 , m_szSignalName ) ;
DDX_Check ( pDX , IDC_CHECK1 , m_bHasLength ) ;
DDX_Control ( pDX , IDC_BUTTON1 , m_InitialsColorBtn ) ;
DDX_Control ( pDX , IDC_BUTTON2 , m_BackgroundColorBtn ) ;
DDX_XTColorPicker ( pDX , IDC_BUTTON1 , m_InitialsColor ) ;
DDX_XTColorPicker ( pDX , IDC_BUTTON2 , m_BackgroundColor ) ;
DDV_MaxChars ( pDX , m_szSignalName , 32 ) ;
}
BEGIN_MESSAGE_MAP ( CEventEditView_CreateModifySignal , CFormView )
ON_WM_PAINT ( )
ON_CPN_XT_SELENDOK ( IDC_BUTTON1 , OnSelEndOkInitialsClr )
ON_CPN_XT_SELENDOK ( IDC_BUTTON2 , OnSelEndOkBackgroundClr )
ON_WM_SIZE ( )
ON_BN_CLICKED ( IDC_CHECK1 , & CEventEditView_CreateModifySignal : : OnBnClickedCheck1 )
ON_EN_CHANGE ( IDC_EDIT1 , & CEventEditView_CreateModifySignal : : OnEnChangeEdit1 )
END_MESSAGE_MAP ( )
// CEventEditView_CreateModifySignal <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Դϴ<D4B4> .
# ifdef _DEBUG
void CEventEditView_CreateModifySignal : : AssertValid ( ) const
{
CFormView : : AssertValid ( ) ;
}
# ifndef _WIN32_WCE
void CEventEditView_CreateModifySignal : : Dump ( CDumpContext & dc ) const
{
CFormView : : Dump ( dc ) ;
}
# endif
# endif //_DEBUG
// CEventEditView_CreateModifySignal <20> <EFBFBD> <DEBD> <EFBFBD> ó<> <C3B3> <EFBFBD> <EFBFBD> <EFBFBD> Դϴ<D4B4> .
void CEventEditView_CreateModifySignal : : PreProcess ( )
{
m_szSignalName = s_pCurrentSignalItem - > GetName ( ) ;
m_InitialsColor = s_pCurrentSignalItem - > GetInitialsColor ( ) ;
m_BackgroundColor = s_pCurrentSignalItem - > GetBackgroundColor ( ) ;
m_bHasLength = s_pCurrentSignalItem - > IsHasLength ( ) ;
UpdateData ( FALSE ) ;
}
bool CEventEditView_CreateModifySignal : : PostProcess ( )
{
UpdateData ( ) ;
if ( m_szSignalName . IsEmpty ( ) ) {
MessageBox ( " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ñ׳ <C3B1> <20> ̸<EFBFBD> <CCB8> <EFBFBD> <20> Է<EFBFBD> <D4B7> <EFBFBD> <20> ּ<EFBFBD> <D6BC> <EFBFBD> ." , " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " , MB_OK ) ;
return false ;
}
bool bImpossibleChar = false ;
for ( int i = 0 ; i < m_szSignalName . GetLength ( ) ; i + + ) {
if ( m_szSignalName [ i ] < ' A ' | | m_szSignalName [ i ] > ' z ' ) {
bImpossibleChar = true ;
break ;
}
}
if ( bImpossibleChar ) {
MessageBox ( " <EFBFBD> ̸<EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> Ұ<EFBFBD> <D2B0> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ڰ<EFBFBD> <20> ֽ<EFBFBD> <D6BD> ϴ<EFBFBD> ." , " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " , MB_OK ) ;
return false ;
}
if ( CSignalManager : : GetInstance ( ) . IsExistSignalItem ( m_szSignalName , ( s_nStartType = = 1 ) ? s_szCurrentSignalName : " " ) = = true ) {
MessageBox ( " <EFBFBD> ߺ <EFBFBD> <EFBFBD> Ǵ<EFBFBD> <20> ̸<EFBFBD> <CCB8> <EFBFBD> <20> ֽ<EFBFBD> <D6BD> ϴ<EFBFBD> ." , " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " , MB_OK ) ;
return false ;
}
s_pCurrentSignalItem - > SetName ( m_szSignalName ) ;
s_pCurrentSignalItem - > SetInitialsColor ( m_InitialsColor ) ;
s_pCurrentSignalItem - > SetBackgroundColor ( m_BackgroundColor ) ;
s_pCurrentSignalItem - > SetHasLength ( ( m_bHasLength ) ? true : false ) ;
return true ;
}
void CEventEditView_CreateModifySignal : : OnPaint ( )
{
CPaintDC dc ( this ) ; // device context for painting
CreateMemDC ( ) ;
CRect rcRect = CRect ( 0 , 0 , 170 , 110 ) ;
CBitmap * pOldBitmap ;
pOldBitmap = m_pmemDC - > SelectObject ( m_pdcBitmap ) ;
m_pmemDC - > FillSolidRect ( & rcRect , RGB ( 255 , 255 , 255 ) ) ;
CRect rcGrid = CRect ( 10 , 10 , 21 , rcRect . bottom - 10 ) ;
COLORREF Col = RGB ( 100 , 100 , 100 ) ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϱ <EFBFBD> <20> <> 3dRect <20> <> <20> <EFBFBD> <D7B8> <EFBFBD>
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
for ( int i = 0 ; i < 14 ; i + + ) {
m_pmemDC - > Draw3dRect ( & rcGrid , Col , Col ) ;
rcGrid . left + = 10 ;
rcGrid . right + = 10 ;
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
rcGrid = CRect ( 10 , 10 , rcRect . right - 10 , 30 ) ;
for ( int i = 0 ; i < 4 ; i + + ) {
m_pmemDC - > Draw3dRect ( & rcGrid , Col , Col ) ;
rcGrid . top + = 19 ;
rcGrid . bottom + = 19 ;
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ֱ<EFBFBD>
rcGrid = CRect ( 10 , rcRect . bottom - 11 , rcRect . right - 10 , rcRect . bottom - 10 ) ;
m_pmemDC - > Draw3dRect ( & rcGrid , RGB ( 255 , 255 , 255 ) , RGB ( 255 , 255 , 255 ) ) ;
rcGrid = CRect ( rcRect . right - 11 , 10 , rcRect . right - 10 , rcRect . bottom - 10 ) ;
m_pmemDC - > Draw3dRect ( & rcGrid , RGB ( 255 , 255 , 255 ) , RGB ( 255 , 255 , 255 ) ) ;
// <20> <EFBFBD> <D7B8> <EFBFBD> .
rcGrid = CRect ( 10 + ( 10 * 4 ) , 10 + ( 19 * 2 ) , 0 , 0 ) ;
if ( m_bHasLength ) rcGrid . right = rcGrid . left + 90 ;
else rcGrid . right = rcGrid . left + 10 ;
rcGrid . bottom = rcGrid . top + 19 ;
m_pmemDC - > FillSolidRect ( & rcGrid , m_BackgroundColor ) ;
m_pmemDC - > SetBkMode ( TRANSPARENT ) ;
m_pmemDC - > SelectStockObject ( DEFAULT_GUI_FONT ) ;
char szStr [ 2048 ] = { 0 , } ;
if ( m_bHasLength ) {
sprintf_s ( szStr , m_szSignalName ) ;
}
else {
szStr [ 0 ] = m_szSignalName [ 0 ] ;
_strupr_s ( szStr ) ;
}
rcGrid + = CPoint ( 1 , 1 ) ;
m_pmemDC - > SetTextColor ( RGB ( 0 , 0 , 0 ) ) ;
m_pmemDC - > DrawText ( szStr , & rcGrid , DT_SINGLELINE | DT_CENTER | DT_VCENTER ) ;
rcGrid - = CPoint ( 1 , 1 ) ;
m_pmemDC - > SetTextColor ( m_InitialsColor ) ;
m_pmemDC - > DrawText ( szStr , & rcGrid , DT_SINGLELINE | DT_CENTER | DT_VCENTER ) ;
CRect rcStatic , rcWnd ;
CPoint cPoint ;
CWnd * pStatic = GetDlgItem ( IDC_STATIC_PREVIEW ) ;
pStatic - > GetWindowRect ( & rcStatic ) ;
GetWindowRect ( & rcWnd ) ;
cPoint . x = rcStatic . left - rcWnd . left ;
cPoint . y = rcStatic . top - rcWnd . top ;
cPoint + = CPoint ( 15 , 25 ) ;
dc . BitBlt ( cPoint . x , cPoint . y , rcRect . Width ( ) , rcRect . Height ( ) , m_pmemDC , 0 , 0 , SRCCOPY ) ;
m_pmemDC - > SelectObject ( pOldBitmap ) ;
}
void CEventEditView_CreateModifySignal : : OnSelEndOkInitialsClr ( )
{
UpdateData ( ) ;
Invalidate ( ) ;
}
void CEventEditView_CreateModifySignal : : OnSelEndOkBackgroundClr ( )
{
UpdateData ( ) ;
Invalidate ( ) ;
}
void CEventEditView_CreateModifySignal : : CreateMemDC ( )
{
if ( m_pdcBitmap | | m_pmemDC ) return ;
m_pmemDC = new CDC ;
m_pdcBitmap = new CBitmap ;
CRect rcRect = CRect ( 0 , 0 , 170 , 110 ) ;
CDC * pDC = GetDC ( ) ;
m_pmemDC - > CreateCompatibleDC ( pDC ) ;
m_pdcBitmap - > CreateCompatibleBitmap ( pDC , rcRect . Width ( ) , rcRect . Height ( ) ) ;
ReleaseDC ( pDC ) ;
}
void CEventEditView_CreateModifySignal : : DeleteMemDC ( )
{
if ( m_pdcBitmap ) {
m_pdcBitmap - > DeleteObject ( ) ;
SAFE_DELETE ( m_pdcBitmap ) ;
}
if ( m_pmemDC ) {
m_pmemDC - > DeleteDC ( ) ;
SAFE_DELETE ( m_pmemDC ) ;
}
}
void CEventEditView_CreateModifySignal : : OnSize ( UINT nType , int cx , int cy )
{
__super : : OnSize ( nType , cx , cy ) ;
// TODO: <20> <> <EFBFBD> <20> <EFBFBD> <DEBD> <EFBFBD> ó<> <C3B3> <EFBFBD> <EFBFBD> <20> ڵ带 <20> ߰<EFBFBD> <DFB0> մϴ<D5B4> .
DeleteMemDC ( ) ;
CreateMemDC ( ) ;
}
void CEventEditView_CreateModifySignal : : OnBnClickedCheck1 ( )
{
// TODO: <20> <> <EFBFBD> <20> <> Ʈ<EFBFBD> <C6AE> <20> ˸ <EFBFBD> ó<> <C3B3> <EFBFBD> <EFBFBD> <20> ڵ带 <20> ߰<EFBFBD> <DFB0> մϴ<D5B4> .
UpdateData ( ) ;
Invalidate ( ) ;
}
void CEventEditView_CreateModifySignal : : OnEnChangeEdit1 ( )
{
// TODO: RICHEDIT <20> <> Ʈ<EFBFBD> <C6AE> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> , <20> <> <20> <> Ʈ<EFBFBD> <C6AE> <EFBFBD> <EFBFBD>
// __super::OnInitDialog() <20> Լ<EFBFBD> <D4BC> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϰ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> ũ<EFBFBD> <C5A9> OR <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ͽ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
// ENM_CHANGE <20> ÷<EFBFBD> <C3B7> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ͽ<EFBFBD> CRichEditCtrl().SetEventMask()<29> <> ȣ <> <C8A3> <EFBFBD> ؾ߸<D8BE>
// <20> ش<EFBFBD> <20> ˸ <EFBFBD> <20> <EFBFBD> <DEBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> .
// TODO: <20> <> <EFBFBD> <20> <> Ʈ<EFBFBD> <C6AE> <20> ˸ <EFBFBD> ó<> <C3B3> <EFBFBD> <EFBFBD> <20> ڵ带 <20> ߰<EFBFBD> <DFB0> մϴ<D5B4> .
UpdateData ( ) ;
Invalidate ( FALSE ) ;
}
BOOL CEventEditView_CreateModifySignal : : PreTranslateMessage ( MSG * pMsg )
{
// TODO: Add your specialized code here and/or call the base class
return FALSE ;
// return __super::PreTranslateMessage(pMsg);
}