freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

實(shí)時(shí)短信互動(dòng)平臺(tái)設(shè)計(jì)(編輯修改稿)

2025-07-26 23:11 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 m(IDC_CHECK1)。PNCheckSetCheck(1)。使“顯示延時(shí)”文本編輯框中顯示默認(rèn)數(shù)字:GetDlgItem(IDC_EDIT2)SetWindowText(L10)。 為使“狀態(tài)顯示”中的文字更加突出,需要將Static中的文字顏色改變,為達(dá)到這種效果,可在CCIS2Dlg::OnCtlColor()事件響應(yīng)中添加下列代碼:if(pWndGetDlgCtrlID()==IDC_STASTA){ pDCSetTextColor(RGB(255,0,0))。 pDCSetBkMode(TRANSPARENT)。 pDCSelectObject(amp。m_StaFont)。}改變“狀態(tài)顯示”中的文字也非常簡(jiǎn)單, 如:GetDlgItem(IDC_STASTA)SetWindowText(L系統(tǒng)已關(guān)閉)。 顯示窗口設(shè)計(jì)顯示窗口用來(lái)顯示系統(tǒng)接收到的短信等內(nèi)容,其前期設(shè)計(jì)非常簡(jiǎn)單,只需要新建一個(gè)對(duì)話框,“屬性”中去掉邊框,并擺放4個(gè)Button類控件即可,如圖32.圖32 顯示窗口的初步設(shè)計(jì) 顯示窗口UI程序相比主窗口來(lái)說(shuō),顯示窗口的程序設(shè)計(jì)要復(fù)雜得多。首先,顯示窗口在需要在彈出后置于其他所有窗口的頂端,并且為了盡量少地遮蓋后方窗口,顯示窗口需要根據(jù)要顯示的內(nèi)容自動(dòng)調(diào)整大小并居中。得到顯示文字的大小可以用MFC中的CDC::GetTextMetrics()函數(shù)取得。具體代碼如下:(amp。m_ShowFont)。(amp。tm)。tsize=(m_ShowText)。得到文本的大小參數(shù)后,可以用CWnd::SetWindowPos()函數(shù)來(lái)設(shè)置窗口的大小,函數(shù)的第一個(gè)參數(shù)是設(shè)置窗口的顯示方式,如果將該參數(shù)改為amp。wndTopMost,則可以將顯示窗口置于其他窗口的頂端。具體代碼如下:SetWindowPos(amp。wndTopMost, 0,0,*24,(()/12+1)*+30+25,SWP_NOMOVE)。其他的參數(shù)是根據(jù)多次試驗(yàn)湊試出來(lái)的最佳值。調(diào)整好窗口的大小后,四個(gè)按鈕控件的位置也需要改變到窗口的右下角,實(shí)現(xiàn)該功能同樣可以用CWnd::SetWindowPos()函數(shù)實(shí)現(xiàn)。在調(diào)整控件位置之前,需要獲取窗口的位置和大小,從而得到窗口最右下角的大小,這個(gè)功能可以用CWnd:: GetWindowRect()函數(shù)實(shí)現(xiàn)。以上具體代碼如下:CRect DlgRect。GetWindowRect(amp。DlgRect)。(,30,25)。(,30,25)。(,30,25)。(,30,25)。 第一次開(kāi)啟窗口時(shí),最好將窗口置于屏幕最中央,得到屏幕分辨率等信息可用::GetSystemMetics()函數(shù)實(shí)現(xiàn),代碼如下:CRect DlgRect。 ResizeDlg()。 GetWindowRect(amp。DlgRect)。 SetWindowPos(amp。wndTopMost, (::GetSystemMetrics(SM_CXSCREEN)())/2, (::GetSystemMetrics(SM_CYSCREEN)())/2, 0,0,SWP_NOSIZE)。為使窗口更加漂亮,需改變現(xiàn)實(shí)窗口的背景圖片和文字的字體、顏色。加入背景圖片需要先在工程資源中加入要顯示背景的Bitmap文件。然后將資源加載到畫(huà)刷中,可用如下代碼完成:CBitmap bitmap。(IDB_BITMAP1)。CBrush brush(amp。bitmap)。CPen pen(PS_SOLID,8,RGB(37,239,0))。(amp。brush)。(amp。pen)。(ShowRect)。字體的選擇代碼:CFont *pOldFont=(amp。m_ShowFont)。(RGB(255,0,0))。(TRANSPARENT)。在一個(gè)固定區(qū)域中顯示多行文字最好的方法是用CDC::DrawText()函數(shù),函數(shù)的參數(shù)3為設(shè)置文本顯示方式,DT_CENTER為在區(qū)域中居中顯示,DT_WORDBREAK為自動(dòng)換行:(m_ShowText,ShowRect,DT_CENTER | DT_WORDBREAK)。 顯示窗口還有一個(gè)問(wèn)題,就是它沒(méi)有標(biāo)題欄,無(wú)法移動(dòng)窗口的位置。解決這個(gè)問(wèn)題的方法是將窗口的客戶區(qū)域非控件的位置模擬成標(biāo)題欄,為達(dá)到目標(biāo),可以重載CDialog::OnNcTest()響應(yīng),在事件響應(yīng)中加入如下代碼:LRESULT nHitTest = CDialog::OnNcHitTest(point)。if (nHitTest == HTCLIENT amp。amp。 GetAsyncKeyState(MK_LBUTTON) 0 ) nHitTest = HTCAPTION。return nHitTest。加入以上代碼后,顯示窗口的最終顯示效果如圖33:圖33 顯示窗口加入代碼后的效果 其他窗口UI除了以上兩個(gè)主要窗口外,還有“關(guān)于”窗口和“字體設(shè)置”窗口,這兩個(gè)窗口沒(méi)有特別復(fù)雜的代碼,只需要完成大體設(shè)計(jì)即可?!瓣P(guān)于”窗口和“字體設(shè)置”窗口的效果如圖34和圖35:圖34 “關(guān)于”窗口圖35 “字體設(shè)置”窗口 串口程序設(shè)計(jì) MSComm控件的使用MSComm控件使用前先在“菜單項(xiàng)目添加類”中加入Microsoft Communication Control ,之后在工具箱中點(diǎn)擊右鍵,在彈出菜單中點(diǎn)“選擇項(xiàng)”,把相應(yīng)控件加入到工具箱并拖動(dòng)到窗口里。最后右鍵點(diǎn)擊控件為該控件在CCIS2Dlg類中創(chuàng)建一個(gè)控制變量m_Comm. 串口初始化可根據(jù)需要設(shè)置不同的串口參數(shù)并初始化串口。在本例中,由實(shí)驗(yàn)得到GSM模塊的最佳波特率為38400bps,串口幀格式為8位,無(wú)奇偶校驗(yàn),1位停止位。因不同的計(jì)算機(jī)使用串口的端口不一樣,這可由用戶在主界面的一個(gè)下拉菜單中選擇,選擇代碼如下:UINT PortNum=()+1。得到串口號(hào)后,就可以用MSComm類中的成員函數(shù)對(duì)所使用的串口進(jìn)行初始化:(PortNum)。 //設(shè)置串口號(hào)(1)。 //文本輸入 輸出(1024)。 //設(shè)置輸入緩沖區(qū)大小(1024)。 //設(shè)置輸出緩沖區(qū)大小(L38400,n,8,1)。 //設(shè)置波特率,數(shù)據(jù)格式if(!()) //打開(kāi)串口 (TRUE)。(1)。 (0)。()。 串口數(shù)據(jù)的收發(fā)MSComm串口數(shù)據(jù)收發(fā)較為簡(jiǎn)單,但是由于串口通常使用ASCII碼或16進(jìn)制代碼作為發(fā)送接收的統(tǒng)一編碼,而本程序?yàn)榱颂幚矸奖闶褂玫氖荱nicode編碼,提取和轉(zhuǎn)換這些編碼是一件非常麻煩的事情。關(guān)于Unicode及其他編碼的轉(zhuǎn)換和處理會(huì)在之后的章節(jié)中單獨(dú)說(shuō)明,在此只描述串口數(shù)據(jù)的基本收發(fā)程序。串口數(shù)據(jù)的發(fā)送使用MSComm::put_Output()函數(shù)來(lái)實(shí)現(xiàn),每次只能收發(fā)一個(gè)字節(jié)的數(shù)據(jù),因此需要對(duì)數(shù)據(jù)進(jìn)行處理。以下是CCIS2Dlg::SendData()函數(shù):void CCIS2Dlg::SendData(void){//發(fā)送m_TxBuf中的數(shù)據(jù) char *CharString=NULL。 DWORD Count=WideCharToMultiByte(CP_OEMCP,NULL,m_TxBuf,1,NULL,0,NULL,FALSE)。 CharString=new char[Count]。 WideCharToMultiByte(CP_OEMCP,NULL,m_TxBuf,1,CharString,Count,NULL,FALSE)。 CByteArray BArray。 ()。 (Count)。 for(DWORD i=0。iCount。i++) (i,(byte)CharString[i])。 (COleVariant(BArray))。 delete [] CharString。}本例中串口接收是用中斷來(lái)實(shí)現(xiàn)。中斷的配置是在串口初始化程序中實(shí)現(xiàn)的:(1)。語(yǔ)句就是每接收完一組任意長(zhǎng)的數(shù)據(jù)后就進(jìn)入中斷程序。其它的中斷,如發(fā)送中斷、錯(cuò)誤中斷在本程序中并不需要,因此可以省略。MSComm的中斷響應(yīng)事件的響應(yīng)函數(shù)可用以下方法進(jìn)行配置:首先在CCIS2Dlg類中添加成員函數(shù):afx_msg void OnComm()。DECLARE_EVENTSINK_MAP()之后添加事件映射:BEGIN_EVENTSINK_MAP(CCIS2Dlg, CView) //{{AFX_EV
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1