資源簡介
基于Modbus通信協議的串口通信程序。通過串口和單片機通信。程序主要分為串口類,Modbus類,和主界面操作類,有詳細的注釋。類封裝的很好,可重用。
代碼片段和文件信息
//?CxSkinButton.cpp?:?implementation?file
/**?15/03/2001?v1.00
?*?first?release?(c)?davide?pizzolato
?**?29/03/2001?v1.10
?*?-?mouse?tracking?(thanks?to?Milan(dot)Gardian(at)LEIBINGER(dot)com)
?**?02/04/2001?v1.20
?*?-?new?CreateRgnFromBitmap
?**?14/04/2001?v1.21
?*?-?onmouseleave?cast?fixed
?*?-?Over?bitmap?consistency?check
?**?25/04/2001?v1.30
?*?-?ExtCreateRegion?replacement?(thanks?to?Fable(at)aramszu(dot)net)
?**?24/06/2001?v1.40
?*?-?check?&?radio?button?add?on
?*?-?added?“focus“?bitmap
?*?-?fixed?CreateRgnFromBitmap?bug
?*?-?fixed?shortcut?bug
?**?27/10/2001?v1.41
?*?-?fixed?memory?leakage?in?CreateRgnFromBitmap
?**?07/07/2008?v1.50
?*?-?fixed?memory?leaks?using?Selectobject?and?GetDC?(thanks?to?sachelis?and?Bernd?Giesen)
?*?-?added?SetToolTipColor?(thanks?to?Mykel)
?*/
#include?“stdafx.h“
#include?“xSkinButton.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//?CxSkinButton
CxSkinButton::CxSkinButton()
{
m_DrawMode=1; //?normal?drawing?mode
m_FocusRectMargin=0; //?disable?focus?dotted?rect
hClipRgn=NULL; //?no?clipping?region
m_TextColor=GetSysColor(COLOR_BTNTEXT);?//?default?button?text?color
m_button_down?=?m_tracking?=?m_Checked?=?false;
}
/////////////////////////////////////////////////////////////////////////////
CxSkinButton::~CxSkinButton()
{
if?(hClipRgn)?Deleteobject(hClipRgn); //?free?clip?region
}
/////////////////////////////////////////////////////////////////////////////
BEGIN_MESSAGE_MAP(CxSkinButton?CButton)
//{{AFX_MSG_MAP(CxSkinButton)
ON_WM_ERASEBKGND()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_MOUSEMOVE()
ON_WM_LBUTTONDBLCLK()
ON_WM_KILLFOCUS()
//ON_CONTROL_REFLECT_EX(BN_CLICKED?onclicked)
ON_WM_KEYDOWN()
//}}AFX_MSG_MAP
????ON_MESSAGE(WM_MOUSELEAVE?onmouseleave)
ON_MESSAGE(WM_CXSHADE_RADIO??OnRadioInfo)
ON_MESSAGE(BM_SETCHECK??OnBMSetCheck)
ON_MESSAGE(BM_GETCHECK??OnBMGetCheck)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//?CxSkinButton?message?handlers
/////////////////////////////////////////////////////////////////////////////
void?CxSkinButton::PreSubclassWindow()?
{
m_style=GetButtonstyle(); ///get?specific?BS_?styles
if?((m_style?&?BS_AUTOCHECKBOX)==BS_AUTOCHECKBOX)
// ||((m_style?&?BS_CHECKBOX)==BS_CHECKBOX))
m_style=BS_CHECKBOX;
else?if?((m_style?&?BS_AUTORADIOBUTTON)==BS_AUTORADIOBUTTON)
// ||((m_style?&?BS_RADIOBUTTON)==BS_RADIOBUTTON))
m_style=BS_RADIOBUTTON;
else?{?m_style=BS_PUSHBUTTON;?}
CButton::PreSubclassWindow();
Modifystyle(0?BS_OWNERDRAW);
}
/////////////////////////////////////////////////////////////////////////////
BOOL?CxSkinButton::OnEraseBkgnd(CDC*?pDC)?
{ return?1;?} //?doesn‘t?erase?the?button?background
/////////////////////////////////////////////////////////////////////////////
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-08-24?21:52??Modbus\
?????目錄???????????0??2012-07-26?09:52??Modbus\Button\
?????文件????????5850??2012-06-13?13:09??Modbus\Button\1.bmp
?????文件????????5850??2012-06-13?13:09??Modbus\Button\2.bmp
?????文件????????5850??2012-06-13?13:09??Modbus\Button\3.bmp
?????文件????????5850??2012-06-13?13:09??Modbus\Button\4.bmp
?????文件????????5850??2012-06-13?13:09??Modbus\Button\5.bmp
?????文件???????10752??2012-06-13?13:09??Modbus\Button\Thumbs.db
?????文件???????27062??2012-06-13?13:09??Modbus\Button\xSkinButton.cpp
?????文件????????3695??2012-06-13?13:09??Modbus\Button\xSkinButton.h
?????目錄???????????0??2012-07-26?09:52??Modbus\Modbus_Test\
?????目錄???????????0??2013-08-24?21:51??Modbus\Modbus_Test\Debug\
?????文件??????480578??2013-08-24?21:51??Modbus\Modbus_Test\Debug\CL.read.1.tlog
?????文件???????32160??2013-08-24?21:51??Modbus\Modbus_Test\Debug\CL.write.1.tlog
?????文件???????15751??2013-08-24?21:51??Modbus\Modbus_Test\Debug\Modbus.obj
?????文件????????3988??2012-06-13?13:09??Modbus\Modbus_Test\Debug\Modbus_Test.Build.CppClean.log
?????文件?????????667??2012-06-13?13:09??Modbus\Modbus_Test\Debug\Modbus_Test.exe.em
?????文件?????????732??2013-08-24?21:51??Modbus\Modbus_Test\Debug\Modbus_Test.exe.em
?????文件?????????381??2013-08-24?21:51??Modbus\Modbus_Test\Debug\Modbus_Test.exe.intermediate.manifest
?????文件??????????58??2013-08-24?21:51??Modbus\Modbus_Test\Debug\Modbus_Test.lastbuildstate
?????文件???????20637??2013-08-24?21:51??Modbus\Modbus_Test\Debug\Modbus_Test.log
?????文件???????26157??2013-08-24?21:51??Modbus\Modbus_Test\Debug\Modbus_Test.obj
?????文件????33882112??2013-08-24?21:51??Modbus\Modbus_Test\Debug\Modbus_Test.pch
?????文件???????99984??2013-08-24?21:51??Modbus\Modbus_Test\Debug\Modbus_Test.res
?????文件???????79135??2013-08-24?21:51??Modbus\Modbus_Test\Debug\Modbus_TestDlg.obj
?????文件?????????212??2012-06-13?13:09??Modbus\Modbus_Test\Debug\Modbus_Test_manifest.rc
?????文件???????36978??2013-08-24?21:51??Modbus\Modbus_Test\Debug\SerialPort.obj
?????文件???????36106??2013-08-24?21:51??Modbus\Modbus_Test\Debug\cl.command.1.tlog
?????文件???????????2??2013-08-24?21:51??Modbus\Modbus_Test\Debug\li
?????文件???????????2??2013-08-24?21:51??Modbus\Modbus_Test\Debug\li
?????文件???????????2??2013-08-24?21:51??Modbus\Modbus_Test\Debug\li
............此處省略55個文件信息
- 上一篇:EMWin 5.36
- 下一篇:組態王
評論
共有 條評論