• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-145  評(píng)論-173  文章-70  trackbacks-0

            首先介紹,有兩種方式來(lái)實(shí)現(xiàn)。

            方法1:通過(guò)自己編寫代碼來(lái)實(shí)現(xiàn)。
            步驟:
            1,添加一個(gè)菜單Menu,其中,由于是右鍵菜單,所以只能有一列其作用,經(jīng)過(guò)我的實(shí)踐,如果有多列的話,只能夠第一列起作用,而后面的幾列都不能顯示,那么,如果要實(shí)現(xiàn)多個(gè)菜單怎么辦?需要添加多級(jí)目錄,具體來(lái)說(shuō)就是在第一列中添加多行,每一行在添加子菜單,可以設(shè)計(jì)多級(jí)菜單,利用ID來(lái)區(qū)分。注意,要新建下一級(jí)菜單的話,需要選中“Pop Up”選項(xiàng)。

            2,實(shí)現(xiàn)代碼的編寫。在Classwizard中,在View(特別注意是這個(gè)類下面,而不是CMainFrame下面)實(shí)現(xiàn)WM_RBUTTONDOW的消息的函數(shù)。
            添加下面的這個(gè)代碼:
            void CTest7_3View::OnRButtonDown(UINT nFlags, CPoint point) 
            {
                
            // TODO: Add your message handler code here and/or call default
                CMenu menu;
                menu.LoadMenu(IDR_MENU1);
                CMenu 
            *pPopup = menu.GetSubMenu(0);
                ClientToScreen(
            &point);
                pPopup
            ->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);

                CView::OnRButtonDown(nFlags, point);
            }
            上面loadMenu中的參數(shù)就是新建的那個(gè)菜單的ID。

            3.添加想要的消息函數(shù)。每選中一個(gè)菜單項(xiàng),都要由對(duì)應(yīng)的函數(shù),這個(gè)就是我們個(gè)性化的設(shè)計(jì),需要在View下面找到這些消息,然后對(duì)應(yīng)的ID的消息,產(chǎn)生對(duì)應(yīng)的函數(shù),然后在函數(shù)中添加相應(yīng)的響應(yīng)。比如這里僅僅是一個(gè)輸出的Message。
            void CTest7_3View::OnMenu11()
            {
             // TODO: Add your command handler code here
             MessageBox("菜單1");
            }

            至此,就完成了全部的步驟。。。。
            ===============================================================================================================================
            下面講解第二種方法,利用現(xiàn)有的工具生成。


            Project-----Add to Project ------Compenents and Controls-----Visual C+ Compenents----Pop Up Menu-----
            選中后insert后,就會(huì)出現(xiàn)相應(yīng)的代碼。然后運(yùn)行,就會(huì)出現(xiàn)對(duì)應(yīng)的菜單了。
            要修改的話,只需要添加ID,然后添加ID對(duì)應(yīng)的消息就可以了。而實(shí)現(xiàn)那個(gè)右鍵菜單的函數(shù)代碼,根本不需要你來(lái)編寫。

            此種方法,減輕了工作量,僅僅需要你編寫菜單對(duì)應(yīng)的代碼而已,標(biāo)記簡(jiǎn)單,而且不容易出錯(cuò)。在自己編寫右鍵菜單的時(shí)候,很容易出現(xiàn)錯(cuò)誤,造成右鍵不出菜單或者出錯(cuò)的情況。而一旦右鍵出了菜單,編寫菜單項(xiàng)代碼就是比較容易的事情了。。。
            posted on 2010-02-10 17:21 deercoder 閱讀(353) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            亚洲欧美日韩精品久久| 久久亚洲精精品中文字幕| 欧美久久一区二区三区| 免费观看成人久久网免费观看| 久久国产热精品波多野结衣AV| 久久亚洲精精品中文字幕| 久久久无码精品亚洲日韩蜜臀浪潮| 久久久国产精品福利免费 | 国产亚洲欧美成人久久片| 99久久精品国产高清一区二区| 九九精品99久久久香蕉| 精品久久人人爽天天玩人人妻| 亚洲国产成人久久笫一页| 国产精品美女久久久| 国产偷久久久精品专区| 国内精品久久久久影院网站 | 亚洲αv久久久噜噜噜噜噜| 久久精品夜夜夜夜夜久久| 色综合久久久久综合99| 久久精品无码专区免费| 亚洲狠狠综合久久| 91视频国产91久久久| 久久综合综合久久综合| 欧美一级久久久久久久大| 久久久WWW成人免费毛片| 精品免费久久久久国产一区 | 亚洲精品tv久久久久久久久久| 国产美女久久精品香蕉69| 久久精品中文騷妇女内射| 久久99久久99精品免视看动漫| 亚洲国产欧洲综合997久久| 亚洲va久久久噜噜噜久久天堂| 久久人人爽人人爽人人片AV不| 久久国产一区二区| 久久久午夜精品福利内容| 久久久久99精品成人片直播| 久久久久综合网久久| 久久性精品| 国产福利电影一区二区三区久久老子无码午夜伦不 | 精品国际久久久久999波多野| 中文精品99久久国产|