第三章向控制臺(tái)中添加按鈕事件_第1頁(yè)
第三章向控制臺(tái)中添加按鈕事件_第2頁(yè)
第三章向控制臺(tái)中添加按鈕事件_第3頁(yè)
第三章向控制臺(tái)中添加按鈕事件_第4頁(yè)
第三章向控制臺(tái)中添加按鈕事件_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第三章第三章 向控制臺(tái)中向控制臺(tái)中添加按鈕事件添加按鈕事件n第一部分第一部分 n頻率調(diào)節(jié)頻率調(diào)節(jié)操作步驟:n1、打開(kāi)任務(wù)二所完成的工程n2、打開(kāi)IDD_REC_DIALOG控制臺(tái)n3、向控制臺(tái)中添加用來(lái)實(shí)現(xiàn)頻率調(diào)節(jié)的按鈕事件n4、向recDlg.cpp和recDlg.h中添加源程序n5、編譯n6、運(yùn)行n7、講解步驟三:向控制臺(tái)中添加用來(lái)實(shí)現(xiàn)步驟三:向控制臺(tái)中添加用來(lái)實(shí)現(xiàn)頻率調(diào)節(jié)的控件頻率調(diào)節(jié)的控件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改為T(mén)ruenB、屬性“ID”:IDC_SLIDER1改為n IDC_SLIDER_FREQ補(bǔ)充:Slider Control控件n含義:表示滑塊控件,也稱(chēng)跟蹤條。n作用:滑塊控件是一個(gè)包含一個(gè)滑塊和可選刻度線的窗口,當(dāng)用戶使用鼠標(biāo)或者箭頭鍵移動(dòng)滑塊時(shí),滑塊控件發(fā)送通知消息以指示此更改。n3、向“property”group box中添加事件“Edit Control”n操作:A、屬性“Read Only”:False改為T(mén)r

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、添加函數(shù)1nvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)nnCDialog:DoDataExchange(pDX

4、);n3、在2下面添加程序nBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)nEND_MESSAGE_MAP()n4、在函數(shù)CrecDlg:CrecDlg(CWnd* pParent )n : CDialog(CrecDlg:IDD, pParent)后添加n , m_EditFreq(0)n5、在4下面添加函數(shù)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下面添加函數(shù)nBOOL CrecDlg:OnInitDialog()nnCDialog:OnInitDialog();nLoadSettings(); nreturn TRUE;nn7、在6下面添加函數(shù)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下添加函數(shù)nvoid CrecDlg:SaveSettings(void)nnCWinApp *pApp=AfxGetApp();npApp-WriteProfileInt(_T(DRC_MANAGER_V11),n_T(FREQUENCY) , m_SlideFreq.GetPos();nn9、在8下添加函數(shù)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、打開(kāi)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步驟六:運(yùn)行n第二部分第二部分n連接藍(lán)牙連接藍(lán)牙操作步驟:n1、打開(kāi)任務(wù)三完成的工程n2、添加控件n3、添加源代碼并講解n4、編譯n5、運(yùn)行n6、驗(yàn)收步驟二:添加控件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四、運(yùn)行程序步驟三:添加源代碼并講解n一、雙擊Combo Box控件進(jìn)入到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、運(yùn)行程序n二、在recDlg.cpp中添加源程序n1、在函數(shù)nvoid CrecDlg:DoDataExchangen(CDataExchange* pDX)中添加nDDX_Control(pDX, IDC_COMBO1, m_ctrCOMBO_COM);n2、在函數(shù)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五、運(yùn)行程序六、在recDlg.cpp中添加源程序n1、在函數(shù)void CrecDlg:LoadSettings(void)中添加nm_nSettingPort = pApp-GetProfileIntn(_T(DRC_MANAGER_V11), _T(COMPORTNUM) , 0);nm_ctrCOMBO_COM.SetCurSel(m_nSettingPort);n2、在函數(shù)void CrecDlg:

13、SaveSettings(void)中添加npApp-WriteProfileIntn(_T(DRC_MANAGER_V11), _T(COMPORTNUM) , m_nSettingPort);n3、編譯程序n4、運(yùn)行程序七、雙擊控件CONNECT (Bluetooth)進(jìn)入到recDlg.cpp文件中n1、在函數(shù)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、添加新函數(shù)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、添加函數(shù)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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論