91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

通信協議之點陣的解析和showWindow問題的解決

發布時間:2020-06-18 02:55:16 來源:網絡 閱讀:254 作者:Nowind0121 欄目:開發技術

 經過幾天的學習,終于將點陣解析出來了,在這里總結一下,點陣的分布是一位Head,2位Length,一位Command,1217位Pargram,和2位checkNum,因此解析的時候只需要判斷1217位Pargram是不是Length的值就行了,頭是以0XAA開頭的,我們只要建立一個足夠大的數組存這1217位Pargram,unsigned char LatData[1216];//點陣數據(半屏),注意第一個字節為判斷上半屏或者下半屏,因此不存到這個數組里面,但是檢驗碼的時候需要把它加進去,這里完成后出現點陣分布很亂的局面,也就是顯示的并不是我要的點陣,經過檢查發現是我存的這個數組沒有初始化,還有一個原因是下半屏發的點陣中在內容里有0XAA,由于在判斷的時候沒有判斷好,導致只顯示了一半的內容,因此在判斷是不是點陣頭的時候要if(buf == 0XAA && m_index ==0),這樣點陣就解析完了。得到點陣解析的數據后將它放到一個結構體中,確定上半屏和下半屏的點陣數據都存放到這個結構體后,再將這個結構體存放到一個隊列中,接下來就要顯示點陣了,這里我們定義一個定時器,然后讓他顯示點陣,由于點陣半屏內容有1216*8= 9728個點,利用x=i%256;得到X軸的坐標,y=i/256;得到y軸的坐標,然后在點為1的地方畫::SetPixel(Latdc,x,y,RGB(0,255,255));這里只能畫256*76個點,因此我們要放大,利用TransparentBlt函數就能達到這個效果。這樣點陣就顯示完成了。而在我們的車載上有三種狀態,Radio、CD和Aux,我們點擊這幾個按鈕,從button中發送指定的十六進制命令給Can,寫入Can后,由于之前在Can中有一個線程在不停的讀串口中的數據,并且分析和解析數據,這樣就能解析出我發送的字符了,在這里有個問題就是我的showWindow經常會出現不可思議的問題,我讓他SW_SHOW或者SW_HIDE都沒有反應。

showWindow問題終于解決了,為什么經常Window顯示不出來的原因是在對窗口初始化的時候我用的是MoveWindow(0, 0, 800, 480);,而在這里我必須要用::SetWindowPos(this->m_hWnd,HWND_TOPMOST,0,0,800,480,SWP_HIDEWINDOW);這兩個的區別是:

MoveWindow只能設置窗口的大小和位置;SetWindowPos擁有MoveWindow的全部功能之外,還可以設置窗口的層疊關系(如,把指定的窗口放在所有窗口的最上層--alwaysontop就可以用這個函數、或者把指定的窗口放在另一個窗口的下層,等等)。你完全可以不用MoveWindow,而只用SetWindowPos;但是,在只要設置窗口大小或位置的情況下,你也完全可以使用MoveWindow。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

白玉县| 新干县| 奉节县| 乌兰县| 德钦县| 蕉岭县| 司法| 济南市| 高尔夫| 东阳市| 宜兰县| 灵山县| 台中市| 闸北区| 临沂市| 沁阳市| 陆良县| 腾冲县| 盈江县| 德保县| 崇左市| 石台县| 高淳县| 老河口市| 宜城市| 土默特左旗| 集贤县| 兴海县| 丁青县| 拜泉县| 西和县| 乐陵市| 渭南市| 马边| 镇远县| 德阳市| 浑源县| 虎林市| 黑山县| 福鼎市| 白朗县|