• <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>

            brent's hut

            對wxWidgets中wxMenuItem的修改

            問題:
            用DialogBlocks設(shè)計(jì)了一個(gè)菜單,菜單中的圖標(biāo)大小為16X16,并在DialogBlocks自動(dòng)生成的代碼CreateControls()函數(shù)的后面設(shè)置所有菜單項(xiàng)的顏色為紅色。運(yùn)行后效果如圖。
            wxMenuOld.jpg
            兩個(gè)菜單項(xiàng):Page Setup和Exit不但沒有顯示紅色,而且與其它菜單項(xiàng)無法對齊。

            原因:
            查看了一下源代碼,發(fā)現(xiàn)menu item的ownerdraw屬性是在wxMenu::Append()時(shí)決定的。在調(diào)用wxMenu::Append()之后的代碼中對wxMenuItem的修改不會(huì)影響到實(shí)際物理菜單的ownerdraw屬性。

            解決:
            把所有非separator的所有菜單設(shè)置為owndraw。
            修改wxWidgets目錄下的 \src\msw\menu.cpp文件:
            bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos)
            {
            #if wxUSE_ACCEL
            ??? UpdateAccel(pItem);
            #endif // wxUSE_ACCEL

            ?pItem->SetOwnerDrawn(!pItem->IsSeparator()); //Brent
            ?...
            }

            效果:
            mywxMenu.jpg

            posted on 2006-07-17 11:03 brent 閱讀(889) 評(píng)論(0)  編輯 收藏 引用 所屬分類: wxWidgets

            99久久成人国产精品免费| 亚洲欧美成人久久综合中文网| 色欲久久久天天天综合网精品| 久久久久四虎国产精品| 久久青青草视频| 午夜不卡888久久| 久久亚洲春色中文字幕久久久| 国产亚洲美女精品久久久| 日韩人妻无码精品久久免费一| 国产综合精品久久亚洲| 国产精品禁18久久久夂久| 久久综合鬼色88久久精品综合自在自线噜噜| 久久天天躁狠狠躁夜夜96流白浆| 久久久久香蕉视频| 日本久久久精品中文字幕| 亚洲va中文字幕无码久久| 亚洲欧美一级久久精品| 久久91精品综合国产首页| 久久最近最新中文字幕大全 | 久久香蕉综合色一综合色88| 亚洲国产成人精品久久久国产成人一区二区三区综 | 国产成年无码久久久久毛片| 日韩av无码久久精品免费| 色偷偷88欧美精品久久久| 国产精品美女久久久免费| 99久久精品国产麻豆| 国产亚洲婷婷香蕉久久精品| 国产精品女同久久久久电影院| 欧美午夜精品久久久久免费视 | 久久久久亚洲精品男人的天堂| 国产午夜久久影院| 中文字幕一区二区三区久久网站| 99re这里只有精品热久久| 久久国产精品无码一区二区三区 | 久久精品国产一区二区三区不卡| 久久久久久狠狠丁香| 99久久精品国产毛片| 精品乱码久久久久久夜夜嗨| 久久激情五月丁香伊人| 伊人 久久 精品| 人妻少妇久久中文字幕一区二区|