色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語(yǔ)言lcd上創(chuàng)建菜單的對(duì)象化實(shí)例分享

Linux閱碼場(chǎng) ? 來(lái)源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-11-14 05:23 ? 次閱讀

這是我十三年前讀研究生的時(shí)候?qū)懙南盗形恼隆?a href="http://m.1cnz.cn/soft/data/21-24/" target="_blank">C語(yǔ)言嵌入式系統(tǒng)編程修煉》系列文章中的一小節(jié),是一個(gè)用面向?qū)ο螅袻CD上面菜單,對(duì)象化的例子。

菜單操作無(wú)數(shù)人為之絞盡腦汁的問(wèn)題終于出現(xiàn)了,在這一節(jié)里,我們將看到,在C語(yǔ)言中哪怕用到一丁點(diǎn)的面向?qū)ο笏枷耄浖Y(jié)構(gòu)將會(huì)有何等的改觀(guān)!筆者曾經(jīng)是個(gè)笨蛋,被菜單搞暈了,給出這樣的一個(gè)系統(tǒng):

要求以鍵盤(pán)上的"← →"鍵切換菜單焦點(diǎn),當(dāng)用戶(hù)在焦點(diǎn)處于某菜單時(shí),若敲擊鍵盤(pán)上的OK、CANCEL鍵則調(diào)用該焦點(diǎn)菜單對(duì)應(yīng)之處理函數(shù)。我曾經(jīng)傻傻地這樣做著:

/* 按下OK鍵 */void onOkKey(){/* 判斷在什么焦點(diǎn)菜單上按下Ok鍵,調(diào)用相應(yīng)處理函數(shù) */Switch(currentFocus){case MENU1:menu1OnOk();break;case MENU2:menu2OnOk();break;…}}/* 按下Cancel鍵 */void onCancelKey(){/* 判斷在什么焦點(diǎn)菜單上按下Cancel鍵,調(diào)用相應(yīng)處理函數(shù) */Switch(currentFocus){case MENU1:menu1OnCancel();break;case MENU2:menu2OnCancel();break;…}}

終于有一天,我這樣做了:

/* 將菜單的屬性和操作"封裝"在一起 */typedef struct tagSysMenu{char *text; /* 菜單的文本 */BYTE xPos; /* 菜單在LCD上的x坐標(biāo) */BYTE yPos; /* 菜單在LCD上的y坐標(biāo) */void (*onOkFun)(); /* 在該菜單上按下ok鍵的處理函數(shù)指針 */void (*onCancelFun)(); /* 在該菜單上按下cancel鍵的處理函數(shù)指針 */}SysMenu, *LPSysMenu;

當(dāng)我定義菜單時(shí),只需要這樣:

static SysMenu menu[MENU_NUM] ={{"menu1", 0, 48, menu1OnOk, menu1OnCancel},{" menu2", 7, 48, menu2OnOk, menu2OnCancel},{" menu3", 7, 48, menu3OnOk, menu3OnCancel},{" menu4", 7, 48, menu4OnOk, menu4OnCancel}…};

OK鍵和CANCEL鍵的處理變成:

/* 按下OK鍵 */void onOkKey(){menu[currentFocusMenu].onOkFun();}/* 按下Cancel鍵 */void onCancelKey(){menu[currentFocusMenu].onCancelFun();}

程序被大大簡(jiǎn)化了,也開(kāi)始具有很好的可擴(kuò)展性!我們僅僅利用了面向?qū)ο笾械姆庋b思想,就讓程序結(jié)構(gòu)清晰,其結(jié)果是幾乎可以在無(wú)需修改程序的情況下在系統(tǒng)中添加更多的菜單,而系統(tǒng)的按鍵處理函數(shù)保持不變。面向?qū)ο螅嫔窳耍?

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    34

    文章

    4438

    瀏覽量

    168118
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7614

    瀏覽量

    137440
  • 嵌入式編程
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    10344

原文標(biāo)題:C語(yǔ)言對(duì)象化設(shè)計(jì)的實(shí)例——LCD菜單

文章出處:【微信號(hào):LinuxDev,微信公眾號(hào):Linux閱碼場(chǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語(yǔ)言設(shè)計(jì)學(xué)習(xí),教你如何將LCD菜單對(duì)象

    這是我十三年前讀研究生的時(shí)候?qū)懙南盗形恼隆?b class='flag-5'>C語(yǔ)言嵌入式系統(tǒng)編程修煉》系列文章中的一小節(jié),是一個(gè)用面向對(duì)象,把LCD上面菜單
    的頭像 發(fā)表于 11-17 06:11 ?5684次閱讀

    LCD液晶顯示屏實(shí)現(xiàn)多級(jí)嵌套菜單

    摘要: 介紹了在C 語(yǔ)言環(huán)境下,在LCD 液晶顯示屏實(shí)現(xiàn)多級(jí)嵌套菜單的一種簡(jiǎn)便方法,提出了一個(gè)結(jié)構(gòu)緊湊、實(shí)用的程序模型。關(guān)鍵詞: 液晶顯示
    發(fā)表于 07-14 08:41

    c語(yǔ)言實(shí)現(xiàn)面向對(duì)象編程 精選資料分享

    差異。在語(yǔ)法C語(yǔ)言支持的oop(面向對(duì)象)機(jī)制比較薄弱,但完全可以使用c語(yǔ)言寫(xiě)出面向
    發(fā)表于 09-02 07:46

    單片機(jī)c語(yǔ)言下如何實(shí)現(xiàn)lcd多級(jí)菜單

    萌新求助,關(guān)于單片機(jī)c語(yǔ)言lcd多級(jí)菜單的一種實(shí)現(xiàn)方法
    發(fā)表于 10-15 06:36

    怎樣用C語(yǔ)言去實(shí)現(xiàn)LCD多級(jí)菜單

    LCD菜單實(shí)現(xiàn)的功能有哪些?怎樣用C語(yǔ)言去實(shí)現(xiàn)LCD多級(jí)菜單呢?
    發(fā)表于 10-19 08:13

    解讀rtt的c的面向對(duì)象對(duì)象創(chuàng)建及其啟動(dòng)初始流程

    解讀rtt的c的面向對(duì)象對(duì)象創(chuàng)建及其啟動(dòng)初始流程,最后總結(jié)面向對(duì)象
    發(fā)表于 07-05 11:01

    單片機(jī)C語(yǔ)言LCD菜單的方法實(shí)現(xiàn)

    由于C語(yǔ)言的結(jié)構(gòu)性和模塊,采用C語(yǔ)言編寫(xiě)的程序容易閱讀和維護(hù),還有很好的可移植性。本文介紹一種用C
    發(fā)表于 03-14 11:32 ?400次下載

    單片機(jī)C語(yǔ)言LCD菜單的實(shí)現(xiàn)

    介紹了在C 語(yǔ)言環(huán)境下,在LCD 液晶顯示屏實(shí)現(xiàn)多級(jí)嵌套菜單的一種簡(jiǎn)便方法,提出了一個(gè)結(jié)構(gòu)緊湊、實(shí)用的程序模型。
    發(fā)表于 09-28 13:57 ?556次下載

    C語(yǔ)言接口與實(shí)現(xiàn):創(chuàng)建可重用軟件的技術(shù)》電子教材免費(fèi)下載

    C語(yǔ)言接口與實(shí)現(xiàn):創(chuàng)建可重用軟件的技術(shù)》概念清晰、實(shí)例詳盡,是一本有關(guān)設(shè)計(jì)、實(shí)現(xiàn)和有效使用C語(yǔ)言
    發(fā)表于 08-27 08:00 ?32次下載

    使用C語(yǔ)言實(shí)現(xiàn)LCD多級(jí)菜單的方法資料和程序免費(fèi)下載

    由于C 語(yǔ)言的結(jié)構(gòu)性和模塊,采用C 語(yǔ)言編寫(xiě)的程序容易閱讀和維護(hù),還有很好的可移植性。本文介紹一種用C
    發(fā)表于 08-06 17:33 ?20次下載
    使用<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>實(shí)現(xiàn)<b class='flag-5'>LCD</b>多級(jí)<b class='flag-5'>菜單</b>的方法資料和程序免費(fèi)下載

    如何使用單片機(jī)C語(yǔ)言實(shí)現(xiàn)LCD的多級(jí)菜單

    介紹了在C 語(yǔ)言環(huán)境下,在LCD 液晶顯示屏實(shí)現(xiàn)多級(jí)嵌套菜單的一種簡(jiǎn)便方法,提出了一個(gè)結(jié)構(gòu)緊湊、實(shí)用的程序模型。
    發(fā)表于 12-04 17:15 ?35次下載
    如何使用單片機(jī)<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>實(shí)現(xiàn)<b class='flag-5'>LCD</b>的多級(jí)<b class='flag-5'>菜單</b>

    C語(yǔ)言是如何實(shí)現(xiàn)面向對(duì)象

    C++是 面向對(duì)象 的編程語(yǔ)言,但面向對(duì)象的概念是在C語(yǔ)言階段就有了,而且應(yīng)用到了很多地方,比
    的頭像 發(fā)表于 12-24 17:08 ?2w次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>是如何實(shí)現(xiàn)面向<b class='flag-5'>對(duì)象</b>的

    基于單片機(jī)及C語(yǔ)言LCD多級(jí)菜單

    介紹了在C 語(yǔ)言環(huán)境下,在LCD 液晶顯示屏實(shí)現(xiàn)多級(jí)嵌套菜單的一種簡(jiǎn)便方法,提出了一個(gè)結(jié)構(gòu)緊湊、實(shí)用的程序模型。
    發(fā)表于 05-24 11:00 ?64次下載

    在JavaScript中動(dòng)態(tài)的創(chuàng)建QML對(duì)象

    在實(shí)際QML應(yīng)用開(kāi)發(fā)中,我們可以在JavaScript中動(dòng)態(tài)的創(chuàng)建QML對(duì)象。這樣做可以延遲對(duì)象實(shí)例,當(dāng)我們?cè)谛枰?/div>
    的頭像 發(fā)表于 09-01 10:42 ?1603次閱讀

    如何選擇創(chuàng)建c語(yǔ)言c++

    選擇創(chuàng)建 C 語(yǔ)言C++ 都需要綜合考慮多個(gè)因素。在決定使用哪種語(yǔ)言之前,我們需要對(duì)這兩種語(yǔ)言
    的頭像 發(fā)表于 11-27 15:58 ?655次閱讀
    主站蜘蛛池模板: 麻豆国产精品久久人妻 | 北原多香子qvod | 24小时日本高清免费看 | 最新日本免费一区 | 秋霞电影网午夜免费鲁丝片 | 四虎影视库永久免费 | 欧美性极品黑人hd | 国内精品蜜汁乔依琳视频 | 国产啪精品视频网免费 | 2021久久99国产熟女人妻 | 久久久国产精品免费A片蜜芽广 | 国产1769一七六九视频在线 | 中国老太婆xxxxx | 亚洲AV久久无码精品国产网站 | 果冻传媒APP免费网站在线观看 | 俄罗斯孩交精品 | 九九热视频在线观看 | 国产探花在线精品一区二区 | 精品国内自产拍在线观看视频 | 亚洲薄码区 | 伊人久久大香线蕉avapp下载 | 男女车车的车车网站W98免费 | 国产精品日本一区二区在线播放 | 亚洲va精品中文字幕 | 色99蜜臀AV无码 | aaa级黄影片 | 久草在线在线精品观看99 | 二次元美女扒开内裤喷水 | 色欲人妻无码AV精品一区二区 | 日本夜夜夜 | 欧美14videosex性欧美成人 | 成 人 动漫3d 在线看 | 一个人色导航 | 亚洲 在线 日韩 欧美 | 国产精品系列在线一区 | 把极品白丝班长啪到腿软 | 国产成人亚洲综合无 | 丰满饥渴老太性hd | 青青青久久久 | 一级做a爰片久久免费 | 97人人添人人澡人人澡人人澡 |