260 lines
6.9 KiB
C++
260 lines
6.9 KiB
C++
|
|
// 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);
|
|||
|
|
}
|