📄 d046.bmp.txt
字号:
表2-8串口设置对话框中控件和变量对应关系
┏━━━━━━━━┳━━━━━━┳━━━━━━━━┓
┃ ControIIDs ┃ 耐pe ┃ Member ┃
┣━━━━━━━━╋━━━━━━╋━━━━━━━━┫
┃ ┃ CString ┃ m_strBaud ┃
┃ IDC_BAUD ┃ ┃ ┃
┃ ┣━━━━━━╋━━━━━━━━┫
┃ ┃ CComboBox ┃m_ctrlBaud ┃
┣━━━━━━━━╋━━━━━━╋━━━━━━━━┫
┃ ┃ CString ┃ m_strDatabits ┃
┃IDC_DATABITS ┃ ┃ ┃
┃ ┣━━━━━━╋━━━━━━━━┫
┃ ┃CComboBox ┃m ctrIDatabits ┃
┣━━━━━━━━╋━━━━━━╋━━━━━━━━┫
┃ IDC_ECHO ┃ BOOL ┃ m_bEcho ┃
┣━━━━━━━━╋━━━━━━╋━━━━━━━━┫
┃ ┃ CButton ┃ m_ctrIFlowCtrl ┃
┃ IDC FLOWCTRL ┃ ┃ ┃
┃ ┣━━━━━━╋━━━━━━━━┫
┃ ┃int ┃ m nFlowCtrl ┃
┣━━━━━━━━╋━━━━━━╋━━━━━━━━┫
┃IDC_NEWLINE ┃ BOOL ┃ m bNewline ┃
┣━━━━━━━━╋━━━━━━╋━━━━━━━━┫
┃ IDC_PARITY ┃ CComboBox ┃m_ctrIParity ┃
┣━━━━━━━━╋━━━━━━╋━━━━━━━━┫
┃ ┃ CString ┃ m_strPort ┃
┃Ⅱ)C_PORT ┃ ┃ ┃
┃ ┣━━━━━━╋━━━━━━━━┫
┃ ┃ CComboBox ┃ m_ctrIPmt ┃
┣━━━━━━━━╋━━━━━━╋━━━━━━━━┫
┃Ⅱ)C_STOPBITS ┃CComboBox ┃ m_ctrIStopbits ┃
┗━━━━━━━━┻━━━━━━┻━━━━━━━━┛
再在ClassWizard中为CSetupDlg类添加为OnInitDialog成员函数(见图2-16),并加入
以下代码:
图2-16 在CSetupDlg类中添加OnInitDialog成员函数
CSetupDlg的主要任务是配置通信参数。在OnInitDialog函数中,程序要根据当前是否
已连接到串口来决定允许/禁止Port组合框。囡为在打开一个连接后,显然不能随便改变端
口。具体源代码见随书光盘“Chapter 2\Example 2\”。
3.编写CTermDoc类的相关代码
CTermDoc类是本程序的重点,读者要认真体会。该类负责Term的通信任务,主要包
括设置通信参数、打开和关闭串口、建立和终止辅助工作线程、用辅助线程监视串口等。
首先,在TermDoc.h中添加下列变量:
CWinThread* m_pThread;
volatile BOOL m_bConnected;
volatile HWND m_hTermWnd;
volatile HANDLE m_hPostMsgEvent;
OVERLAPPED m_osRead, m_osWrite;
,,代表辅助线程
,,串口是否连接
,,保存视图的窗口句柄
,,用于WM_COMMNOTIFY消息的事件对象
,,用于重叠读,写
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -