中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      編程實習心得

      時間:2024-08-04 06:45:04 實習心得 我要投稿

      編程實習心得

      編程實習心得

      編程實習心得

      來公司實習已一個多月了,在這段時間里,我主要學習EVC下的MFC編程,下面主要談談學習的經(jīng)驗以及心得體會。

      在編程過程中遇到了較多的問題,解決問題的過程是漫長而艱苦的,然而在問題得到解決的一剎那是很快樂的。在此舉出數(shù)個例子與大家分享:

      1.     音樂播放—>滾動條的繪制

      在開始繪制滾動條的時候,為了簡便以及縮短開發(fā)時間,我打算直接從VC默認的標準滾動條CScrollBar派生,然后對其進行所有者自繪(Owrner Draw),將圖片貼上去,然而CScrollBar并不如CButton般好繪制,在經(jīng)過近一天的嘗試后始終無果,很是煩躁,后來在聽從陳曦老師的建議后,決定還是從CStatic派生自繪,然后再加上一些鼠標、鍵盤的相應消息響應處理函數(shù)以實現(xiàn)滾動條的功能。

      在確定這一思路后,我便開始著手代碼的實現(xiàn):首先實現(xiàn)了一個圖片繪制函數(shù)LoadBitmapToScroll(),用于將滾動條的滑塊、上下箭頭以及滾動條底色畫到確定的區(qū)域。由于滑塊的位置會不斷的發(fā)生變化,因此將不能簡單地將滾動條底色先畫好,然后將滑塊放到某一固定位置,因此我定義了一個類成員變量nThumbTop用于確定滑塊頂部到滾動條頂部的距離并截取了一小塊滾動條底色將其填充到滑塊到兩側箭頭的所有區(qū)域以實現(xiàn)滾動條的變化。然后捕獲WM_PAINT消息調(diào)用LoadBitmapToScroll()使對窗口進行重繪時將滾動條顯示出來。這樣當創(chuàng)建一個滾動條對象的時候,便能夠將其簡單地顯示出來了。

      要響應用戶的外部輸入,則只需要捕獲消息即可,比如WM_LBUTTONDOWN便可以判斷是否有鼠標左鍵按下并可通過鼠標位置判斷點擊的是向上的箭頭、向下的箭頭還是滑塊。另外由于滾動條是不獨立存在的,它一般會與一個窗口做伴,比如列表以控制其顯示內(nèi)容或區(qū)域。因此,我在滾動條類中定義了一個pList指針變量指向滾動條要控制的窗口對象,在鼠標點擊滾動條的上下箭頭時,通過向pList指向的對象發(fā)送WM_VSCROLL消息以控制窗口區(qū)域的上翻或下翻。

      如此,一個具有美觀界面及基本功能的滾動條大體上已經(jīng)實現(xiàn)了。整個滾動條的繪制耗費了將近兩天時間,盡管時間較長,但還是受益匪淺,整個繪制過程讓我明白了:“一切皆有可能”,沒有什么是不能實現(xiàn)的,只要它在現(xiàn)實生活中存在,很多東西表面上看起來很復雜,就象這個自定義的滾動條,只要將其功能進行分解然后一步步實現(xiàn)便可以了。

      2.       透明文字的實現(xiàn)

      由于嵌入式系統(tǒng)的特殊性,EVC并不具備VC的所有功能,透明文字的輸出就是其中一例。VC下只要簡單地通過SetBkmode(TRANSPARENT),然后在控件窗口區(qū)域內(nèi)獲取設備上下文DC,通過該DC調(diào)用DrawText()即可將想要顯示的文字在給定位置顯示,然而EVC在CStatic、CListBox等一般控件下設置背景為透明色是不可行的,在糾纏了數(shù)個小時后,發(fā)現(xiàn)EVC雖然不能簡單地設置背景模式為透明,卻可以設置背景顏色為一給定的顏色,最后還是采用“先截取背景顏色,然后繪制文字,最后以原背景色設置為背景色”的方式解決。即:

      dc.SetBkColor( COLORREF );         //設置背景顏色

      dc.SetTextColor(COLORREF );        //設置字體顏色

      dc.DrawText( … );                 // 繪制文字

      3.       模塊功能的設計

      在軟件設計的過程中,我深刻地體會到:一個模塊對擴展是開放的,對修改是關閉的。在剛開始編程的時候,只是簡單地將一些應該實現(xiàn)的功能予以實現(xiàn),以致于后來在得知UI有所變化時又得重新編寫代碼浪費了較多時間,因此在進行軟件設計的時候必須考慮到軟件需求是一直在變更的。同時應當優(yōu)先使用聚合,而不是繼承,否則就會出現(xiàn)類層次很深的問題,從而造成所謂的類爆炸。比如:在我進行各類自定義控件的設計過程中,將一些類剝離開來,在使用的時候直接定義各個類對象便可,從而避免了類層次過深的現(xiàn)象。

      總而言之,來公司的這個月,是我最充實的一個月,在這里學會的不僅僅是EVC的MFC編程技能,更重要的是我學會了如何學習,體會到了一個產(chǎn)品應有的嚴謹(界面美觀、功能強大以及差錯率較小等)以及產(chǎn)品開發(fā)過程中問題考慮的周到充分。

      在這里我要感謝大家一個月對我無微不至的關懷與幫助!再次感謝!

      【編程實習心得】相關文章:

      編程崗位的實習心得范文09-21

      編程實習心得體會08-14

      軟件編程實習周記08-21

      數(shù)控編程的實習報告參考08-02

      編程培訓心得體會02-10

      數(shù)控編程的學習與心得(精選20篇)10-18

      大學生數(shù)控編程實習報告04-01

      計算機編程實習報告范文03-14

      編程簡歷09-20

      主站蜘蛛池模板: 精品午夜一区二区三区| 精品久久精品久久99| 亚洲国产精品黑人久久久| 美女被射视频在线观看91| 中文字幕久久精品波多野结百度| 99riav精品国产| 亚洲熟女一区二区三区精品| 久久久精品人妻一区二| 在线免费av一区二区| 国产激情啪啪自拍视频| 午夜福利不卡无码视频| 国产综合色婷婷精品久久| 国产成人综合亚洲av| 鞍山市| av无码一区二区三| 色就色中文字幕在线视频| 亚洲嫩模一区二区三区视频| 香蕉久久av一区二区三区| 国产精彩刺激对白视频| 河北省| 日本一区二区三区在线播放| 调兵山市| 午夜亚洲国产精品福利| 看黄色亚洲看黄色亚洲| 招远市| 缙云县| 亚洲女同系列高清在线观看 | 91麻豆精品国产大片免费看| 久久激情人妻中文字幕| 人妻少妇精品视频中文字幕国语 | 亚洲中文字幕在线第二页| 日本一区二区在线资源| 国产一级a爱做片一女多男| 97精品国产高清自在线看超| 国产品精品久久久久中文| 久久一区av蜜桃人妻| 久久99精品久久久久九色| 亚洲区精品久久一区二区三区女同 | 人妻丰满少妇一二三区| 一区二区在线亚洲av蜜桃| 青龙|