第三章向控制台中添加按钮事件_第1页
第三章向控制台中添加按钮事件_第2页
第三章向控制台中添加按钮事件_第3页
第三章向控制台中添加按钮事件_第4页
第三章向控制台中添加按钮事件_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章第三章 向控制台中向控制台中添加按钮事件添加按钮事件n第一部分第一部分 n频率调节频率调节操作步骤:n1、打开任务二所完成的工程n2、打开IDD_REC_DIALOG控制台n3、向控制台中添加用来实现频率调节的按钮事件n4、向recDlg.cpp和recDlg.h中添加源程序n5、编译n6、运行n7、讲解步骤三:向控制台中添加用来实现步骤三:向控制台中添加用来实现频率调节的控件频率调节的控件n1、向“property”group box中添加事件“Static Text”n操作:A、属性“Caption”:Static改为Wireless FrequencynB、属性“Align Tex

2、t”:Left改为Centern2、向“property”group box中添加事件“Slider Control”n操作:A、属性“Auto Ticks”:False改为TruenB、属性“ID”:IDC_SLIDER1改为n IDC_SLIDER_FREQ补充:Slider Control控件n含义:表示滑块控件,也称跟踪条。n作用:滑块控件是一个包含一个滑块和可选刻度线的窗口,当用户使用鼠标或者箭头键移动滑块时,滑块控件发送通知消息以指示此更改。n3、向“property”group box中添加事件“Edit Control”n操作:A、属性“Read Only”:False改为Tr

3、uenB、属性“ID”:IDC_EDIT3改为IDC_EDIT_FREQn如图3-1所示图3-1步骤四:向recDlg.cpp和recDlg.h中添加源程序一、在recDlg.cpp中添加源程序n1、在recDlg.cpp中的第13行添加nprotected:n virtual void DoDataExchange(CDataExchange* pDX); nprotected:nDECLARE_MESSAGE_MAP()n2、添加函数1nvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)nnCDialog:DoDataExchange(pDX

4、);n3、在2下面添加程序nBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)nEND_MESSAGE_MAP()n4、在函数CrecDlg:CrecDlg(CWnd* pParent )n : CDialog(CrecDlg:IDD, pParent)后添加n , m_EditFreq(0)n5、在4下面添加函数nvoid CrecDlg:DoDataExchange(CDataExchange* pDX)nnCDialog:DoDataExchange(pDX);nDDX_Text(pDX, IDC_EDIT_FREQ, m_EditFreq);nDDX_Contr

5、ol(pDX, IDC_SLIDER_FREQ, m_SlideFreq);nn6、在5下面添加函数nBOOL CrecDlg:OnInitDialog()nnCDialog:OnInitDialog();nLoadSettings(); nreturn TRUE;nn7、在6下面添加函数nvoid CrecDlg:LoadSettings(void)nnCWinApp *pApp=AfxGetApp();nint freq=pApp-GetProfileInt(_T(DRC_MANAGER_V11),n_T(FREQUENCY) , 14);nm_SlideFreq.SetRange(0,2

6、5); nm_SlideFreq.SetPos(freq);nm_EditFreq= 2400+m_SlideFreq.GetPos()*5;nUpdateData(FALSE);nn8、在7下添加函数nvoid CrecDlg:SaveSettings(void)nnCWinApp *pApp=AfxGetApp();npApp-WriteProfileInt(_T(DRC_MANAGER_V11),n_T(FREQUENCY) , m_SlideFreq.GetPos();nn9、在8下添加函数nvoid CrecDlg:OnHScroll(UINT nSBCode, UINT nPos,

7、 CScrollBar* pScrollBar)nnm_EditFreq= 2400+m_SlideFreq.GetPos()*5;nSaveSettings();nUpdateData(FALSE);nInvalidate(FALSE);nCDialog:OnHScroll(nSBCode, nPos, pScrollBar);n二、向recDlg.h中添加源程序n1、打开recDlg.h文件n2、在程序的第12行添加nvoid LoadSettings(void);n3、在2的后面添加nvoid SaveSettings(void);n4、在enum IDD = IDD_REC_DIALO

8、G ;的下面添加nprotected:nvirtual void DoDataExchange(CDataExchange* pDX);n5、接着添加nprotected:nvirtual BOOL OnInitDialog();n6、在5下面添加nDECLARE_MESSAGE_MAP()n7、在6下面添加npublic:nint m_EditFreq;n8、在7下面添加nCSliderCtrl m_SlideFreq;n9、在8下面添加nafx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);n步骤五:

9、编译n步骤六:运行n第二部分第二部分n连接蓝牙连接蓝牙操作步骤:n1、打开任务三完成的工程n2、添加控件n3、添加源代码并讲解n4、编译n5、运行n6、验收步骤二:添加控件n一、向“Property”group box中添加事件:“Static Text”n操作:A、属性“Caption”:Static改为 n Port NumbernB、属性“Align Text”:Left改为Centern二.向“Property”group box中添加事件:“Combo box”n操作:A、属性“Data”:COM1;COM2; COM3;COM4;COM5;COM6;COM7;n三.向“Proper

10、ty”group box中添加控件“Button”n操作:A、属性“Caption”:Button1改为 n CONNECT (Bluetooth)nB、属性“ID”:IDC_BUTTON改为n IDC_BUTTON_COMn如图3-2所示图3-2n三、编译程序n四、运行程序步骤三:添加源代码并讲解n一、双击Combo Box控件进入到redDlg.cpp文件中n1、在recDlg.cpp中添加源代码:nm_nSettingPort=m_ctrCOMBO_COM.GetCurSel();nSaveSettings();n2、在recDlg.h中添加源程序nint m_nSettingPort;

11、 (18行)nCComboBox m_ctrCOMBO_COM;(31行)n3、编译程序n4、运行程序n二、在recDlg.cpp中添加源程序n1、在函数nvoid CrecDlg:DoDataExchangen(CDataExchange* pDX)中添加nDDX_Control(pDX, IDC_COMBO1, m_ctrCOMBO_COM);n2、在函数BOOL CrecDlg:OnInitDialog()中添加nBT_Ack_Flag=0; ngMFTimer=0;gMFTimerFlag=0;gTimer=0;nheadAngle=0;n三、向recDlg.h中添加源程序(19行)n

12、 int headAngle;nunsigned long gTimer;nint gMFTimer;nint gMFTimerFlag;n int BT_Ack_Flag;n四、编译程序n五、运行程序六、在recDlg.cpp中添加源程序n1、在函数void CrecDlg:LoadSettings(void)中添加nm_nSettingPort = pApp-GetProfileIntn(_T(DRC_MANAGER_V11), _T(COMPORTNUM) , 0);nm_ctrCOMBO_COM.SetCurSel(m_nSettingPort);n2、在函数void CrecDlg:

13、SaveSettings(void)中添加npApp-WriteProfileIntn(_T(DRC_MANAGER_V11), _T(COMPORTNUM) , m_nSettingPort);n3、编译程序n4、运行程序七、双击控件CONNECT (Bluetooth)进入到recDlg.cpp文件中n1、在函数void CrecDlg:OnBnClickedButtonCom()中添加n CString str;nif(m_OpenSatus=false)nm_nSettingPort=m_ctrCOMBO_COM.GetCurSel();nstr.Format(_T(COM%d), m

14、_nSettingPort+1);nif( !m_CommPort.OpenPort( str, CBR_4800,m_nSettingPort )nnstr.Format(_T(COM%d open fail rn Please check port), m_nSettingPort+1);nAfxMessageBox(str);nGetDlgItem(IDC_BUTTON_COM)-SetWindowText(_T(CONNECT (Blurtooth);nGetDlgItem(IDC_BUTTON_MOTION)-EnableWindow(FALSE);nm_OpenSatus=fals

15、e;nnelsenstr.Format(_T(COM%d open ok), m_nSettingPort+1);nGetDlgItem(IDC_BUTTON_COM)-SetWindowText(_T(DISCONNECT (Blurtooth);nGetDlgItem(IDC_BUTTON_MOTION)-EnableWindow(TRUE);nm_OpenSatus=true;nSendHead2BT(70);nnnnelsenstr.Format(_T(COM%d), m_nSettingPort+1);nm_CommPort.ClosePort();nGetDlgItem(IDC_B

16、UTTON_COM)-SetWindowText(_T(CONNECT (Blurtooth);nGetDlgItem(IDC_BUTTON_MOTION)-EnableWindow(FALSE);nm_OpenSatus=false;nnBT_Ack_Flag=0;nSaveSettings();nhCommWnd = m_hWnd;n2、添加新函数nvoid CrecDlg:SendHead2BT(BYTE command)nnint i;nDWORD nCount =2;nfor( i=1; iEnableWindow(FALSE);nnif(InitUSB1(robotdata63)=

17、0)nnGetDlgItem(IDC_BUTTON_CON)-EnableWindow(TRUE);nnreturn ;n/GetDlgItem(IDC_BUTTON_CON)-EnableWindow(TRUE);nSetTimer(1,50,NULL); /50ms timer inter- OnTimerGetDlgItem(IDC_SLIDER_FREQ)-EnableWindow(FALSE);nnnelse /connect statusn AfxMessageBox(_T(Reboot Vision Station &Softwarern),MB_OK,0);nnSendMess

18、age(WM_CLOSE,0,0); nnnInvalidate(FALSE); n3、添加函数nint CrecDlg:InitUSB1(BYTE Freg) nnunsigned long msgWritten;nBYTE txMsg128=0;nBYTE rxMsg10000=0;nint con_flag=1; nCString str;nnbConnectedDevices = GetUsbDeviceListName(&strConnectedDevices1);nif(!nbConnectedDevices)nnAfxMessageBox(_T(Please Turn on th

19、e Vision station),MB_OK,0);nreturn 0;nnusb_flag=1; nnnptDevice1 = (PDEVICE) malloc(sizeof(DEVICE);nptDevice1-name = _strdup(strConnectedDevices10);nptDevice1-txrate = 0;nptDevice1-number = deviceNumber+;nptDevice1-next = listOfDevice1;nptDevice1-active = Y;nn/ open the devicenif (pipe1.Open(ptDevice1-name)nstr.Format(_T( Err : Can not open device %dn%s rn), ptDevice1-number, ptDevice1-name);nAfxMessageBox(_T(Reboot Vision Station & Softwarer

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论