• <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毛片大| 久久国产免费直播| 93精91精品国产综合久久香蕉| 99久久精品国内| 久久无码一区二区三区少妇| 久久人爽人人爽人人片AV| 99久久婷婷国产综合精品草原| 久久夜色精品国产| 97久久精品无码一区二区天美| 久久一区二区免费播放| 久久国产热精品波多野结衣AV | 日本久久中文字幕| 伊人久久大香线蕉av不卡| 久久精品国产亚洲Aⅴ蜜臀色欲| 久久人人妻人人爽人人爽| 久久中文字幕视频、最近更新| 99久久无色码中文字幕| 亚洲中文字幕久久精品无码APP| 久久综合狠狠综合久久激情 | 无码国产69精品久久久久网站| 久久青青国产| 久久伊人色| 久久精品国产一区二区三区不卡| 狠狠精品久久久无码中文字幕| 看全色黄大色大片免费久久久| 国产精品久久久亚洲| 日本人妻丰满熟妇久久久久久| 国产香蕉久久精品综合网| 久久91精品综合国产首页| 九九久久精品国产| 久久99亚洲综合精品首页| 久久精品国产福利国产秒| 国产精品久久久久久| 国产69精品久久久久777| 丰满少妇人妻久久久久久| 色综合久久久久综合体桃花网 | 青青草原综合久久大伊人精品| 日产精品99久久久久久| 99国产欧美久久久精品蜜芽| 狠狠色丁香婷婷综合久久来| 狠狠久久亚洲欧美专区|