?? 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 + -