📄 formtm.cpp
字号:
// FormTM.cpp : implementation file
//
#include "stdafx.h"
#include "MoblieX.h"
#include "FormTM.h"
#include "sms.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFormTM
IMPLEMENT_DYNCREATE(CFormTM, CFormView)
CFormTM::CFormTM()
: CFormView(CFormTM::IDD)
{
//{{AFX_DATA_INIT(CFormTM)
m_commandStr = _T("");
m_itemStr = _T("");
//}}AFX_DATA_INIT
}
CFormTM::~CFormTM()
{
}
void CFormTM::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFormTM)
DDX_Control(pDX, IDC_TM_LIST, m_TMListCtrl);
DDX_Control(pDX, IDC_SEND, m_sendCtrl);
DDX_Text(pDX, IDC_COMMAND_STR, m_commandStr);
DDX_Text(pDX, IDC_ITEM_STR, m_itemStr);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFormTM, CFormView)
//{{AFX_MSG_MAP(CFormTM)
ON_BN_CLICKED(IDC_SEND, OnSend)
ON_COMMAND(ID_TM_SEND_ESC, OnTmSendEsc)
ON_COMMAND(ID_TM_SEND_NEWLINE, OnTmSendNewline)
ON_COMMAND(ID_TM_SEND_RETURN, OnTmSendReturn)
ON_COMMAND(ID_TM_SEND_STR, OnTmSendStr)
ON_COMMAND(ID_TM_SEND_STR_RETURN, OnTmSendStrReturn)
ON_COMMAND(ID_LOG_OUTPUT, OnLogOutput)
ON_COMMAND(ID_CLEAR_LIST, OnClearList)
ON_LBN_SELCHANGE(IDC_TM_LIST, OnSelchangeTmList)
ON_COMMAND(ID_TEST_2, OnTest2)
ON_COMMAND(ID_TM_SEND_EOF, OnTmSendEof)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFormTM diagnostics
#ifdef _DEBUG
void CFormTM::AssertValid() const
{
CFormView::AssertValid();
}
void CFormTM::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CFormTM message handlers
void CFormTM::OnSend()
{
if( !GetDocument()->IsCommPortOpen() )
{
MessageBox( "尚未与手机建立连接" );
return;
}
CRect btnRect;
CMenu menu;
CMenu * pPopup;
CWnd * pWndPopupOwner = this;
UpdateData();
m_sendCtrl.GetWindowRect(btnRect);
VERIFY(menu.LoadMenu(IDR_SEND_COM_POP));
pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
while (pWndPopupOwner->GetStyle() & WS_CHILD)
pWndPopupOwner = pWndPopupOwner->GetParent();
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,
btnRect.left, btnRect.bottom-1, pWndPopupOwner);
}
void CFormTM::OnTmSendEsc()
{
GetDocument()->SendCommandStr( "\x01B", CW_TM, "TM>><ESC>" );
}
void CFormTM::OnTmSendEof()
{
GetDocument()->SendCommandStr( "\x01A", CW_TM, "TM>><EOF>" );
}
void CFormTM::OnTmSendStr()
{
GetDocument()->SendCommandStr( m_commandStr, CW_TM, "TM>>" + m_commandStr );
}
void CFormTM::OnTmSendNewline()
{
GetDocument()->SendCommandStr( "\n", CW_TM, "TM>><LF>" );
}
void CFormTM::OnTmSendReturn()
{
GetDocument()->SendCommandStr( "\r", CW_TM, "TM>><CR>" );
}
void CFormTM::OnTmSendStrReturn()
{
GetDocument()->SendCommandStr( m_commandStr + '\r', CW_TM, "TM>>" + m_commandStr + "<CR>" );
}
void CFormTM::OnLogOutput()
{
CStringArray & aStr = GetDocument()->m_logArray;
int i, size;
size = aStr.GetSize();
if( size <= 0 )
{
return;
}
for( i = 0; i < size; i++ )
{
m_TMListCtrl.AddString( aStr[i] );
}
m_TMListCtrl.SetCurSel( m_TMListCtrl.GetCount()-1 );
aStr.RemoveAll();
}
void CFormTM::OnClearList()
{
m_TMListCtrl.ResetContent();
}
void CFormTM::OnSelchangeTmList()
{
int i;
if( ( i = m_TMListCtrl.GetCurSel() ) == LB_ERR )
{
return;
}
m_TMListCtrl.GetText( i, m_itemStr );
UpdateData( FALSE );
}
void CFormTM::OnTest2()
{
CSMS sms;
UpdateData();
sms.Decode( m_itemStr );
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -