[發明專利]一種長文本顯示方法有效
| 申請號: | 201310720949.4 | 申請日: | 2013-12-24 |
| 公開(公告)號: | CN104731445B | 公開(公告)日: | 2018-11-30 |
| 發明(設計)人: | 陳秋龍;程時宋;黃東豹;懷保勝 | 申請(專利權)人: | 惠州市德賽西威汽車電子股份有限公司 |
| 主分類號: | G06F3/0481 | 分類號: | G06F3/0481;G06F3/0484;G06F3/0487 |
| 代理公司: | 廣州粵高專利商標代理有限公司 44102 | 代理人: | 任海燕 |
| 地址: | 516006 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 文本 顯示 方法 | ||
本發明公開了一種長文本顯示方法,包括:鼠標消息響應步驟,監控鼠標操作,判斷是否需要發出重新描繪消息,由系統調用重畫函數,對控件重新描繪;寬度可描繪字符數計算步驟:計算在fwidth的寬度上可以描繪的前n個完整字符,其中n為計算后的返回值;文字描繪步驟:根據待顯示字符信息、鼠標消息響應單元以及寬度可描繪字符數計算單元返回的數據通過DrawText對待顯示字符進行顯示。本發明效率高且復雜度低,便于應用;文字隨鼠標滑動而滾動顯示的視覺效果良好,且可保證每個字符均完整顯示;根據用戶的拖動動作,顯示不同部分的文字,在用戶不作操作時,靜態顯示,為用戶提供更多選擇,提高用戶體驗。
技術領域
本發明涉及汽車領域,尤其涉及一種長文本顯示方法。
背景技術
在計算機系統中,特別對于顯示區域較小的嵌入式系統,常常需要在指定寬度的顯示區域內顯示一定長度的字符串,而這個字符串的長度往會超出顯示區域的寬度;如:某個文件的文件名很長,在顯示這個文件名時,在指定的顯示區域內無法完全顯示這個字符串。針對這個問題,目前常用的方案有兩種:(1)截斷超出指定區域的字符并添加省略號表示有部分文字被截斷,無法顯示,用戶只能閱讀到顯示出來的文字。(2)字符串自動周期性的滾動顯示,這種方式雖然能夠是用戶到所有的文字內容,但是文字的不停滾動,特別是同一屏幕上有多個文本顯示區域的文字同時一起滾動,使得用戶眼花繚亂,從而是閱讀變得更加困難。
發明內容
為了解決上述問題,本發明提供一種長文本顯示方法的設計方案。
一種長文本顯示方法,包括:鼠標消息響應步驟,監控鼠標操作,判斷是否需要發出重新描繪消息,由系統調用重畫函數,對控件重新描繪。寬度可描繪字符數計算步驟:計算在fwidth的寬度上可以描繪的前n個完整字符,其中n為計算后的返回值。文字描繪步驟:根據待顯示字符信息、鼠標消息響應單元以及寬度可描繪字符數計算單元返回的數據通過DrawText對待顯示字符進行顯示。
具體的,所述鼠標消息響應步驟包括:(11)鼠標壓下動作記錄步驟,設置壓下標志bIsPress=True,記錄鼠標壓下時的坐標pressPos;(12)鼠標移動動作記錄步驟,計算鼠標移動偏移量MoveOffSet = 當前鼠標坐標X值currMousePos.x - 鼠標壓下時的坐標X值pressPos.x;(13)鼠標釋放動作記錄步驟,設置壓下標志為bIspress = false。
更具體的,寬度可描繪字符數計算步驟包括:(21)設置臨時變量sOK為空,并使用DrawText計算完整描繪待顯示字符str所需的范圍Width;(22)判斷Width是否小于等于可進行字符描繪的寬度fWidth,如是,則返回待顯示字符str的字符長度并退出。(23)若Width>fWidth, 將待顯示字符str對半拆分成sLeft、sRight, 利用DrawText計算描繪sLeft所需寬度lWidth;(24)若lWidth>fWidth,則令str=sLeft,執行步驟(23)否則令str=sRight,,并設置fWidth=fWidth–lWidth,sOK=sOK+sLeft;以上步驟中,若sRight或sLeft為空,則直接返回sOK的Length的值。
更具體的,所述文字描繪步驟包括:(31)判斷指定顯示區域的寬度是否能完整顯示待顯示字符;若是則直接對待顯示字符進行描繪顯示,并跳過以下步驟,否則進入步驟(32);(32)當待顯示字符左對齊顯示時,初始化字符顯示的起始位置Pos為0;(33)當通過鼠標對指定顯示區域進行操作時,創建一個寬度為等于待顯示字符寬度的臨時畫布,令臨時畫布的起始位置為-Pos,大小與指定顯示區域一致,并根據鼠標的操作,不斷調整Pos值并截取從-Pos開始寬度等于顯示區域寬度的畫布區域,拷貝至指定顯示區域;(34)當鼠標沒有對指定顯示區域進行操作時,根據Pos值,判斷左側或右側是否有字符被截斷,在指定顯示區域的左側或右側添加省略號,計算減去省略號所占寬度后指定顯示區域剩余的可描繪寬度,描繪顯示從Pos開始的完整的字符。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于惠州市德賽西威汽車電子股份有限公司,未經惠州市德賽西威汽車電子股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310720949.4/2.html,轉載請聲明來源鉆瓜專利網。





