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

            力為的技術(shù)博客

            聯(lián)系 聚合 管理
              154 Posts :: 1 Stories :: 561 Comments :: 0 Trackbacks

            It's said in MSDN that:“Microsoft Windows assumes that all of a toolbar's bitmapped images are the same size. ” So the question is : How can we implement a toolbar?with different sized images, which is just like as Google Toolbar?


            There are two ways:

            1.To use double ImageLists

            You should note that the image's size of the toolbar is decided by?the first ImageList, even though the second one is different from the first one. So after registering double ImageLists, you also have to reset the button's size to suit the second imagelist.
            This is the code segment:

            a. setting double imagelist
            ????//1st?ImageList, with normal images
            ????m_hImage1st?=?ImageList_Create(16,?16,?ILC_COLOR24,?1,?0);
            ????
            int?nIdx11?=?ImageList_Add(m_hImageFirst,,NULL);
            ????
            int?nIdx12?=??ImageList_Add(m_hImageFirst,,NULL);

            ????????
            //2nd?ImageList, with bigger image
            ????m_hImage2nd?=?ImageList_Create(48,?16,?ILC_COLOR24,?2,?0);
            ????
            int?nIdx21?=ImageList_Add(m_hImage2nd?,,NULL);

            ????
            //?add?imagelists, the order is very important
            ????::SendMessage(m_hWnd,?CCM_SETVERSION,?(WPARAM)?5,?0);
            ????::SendMessage(m_hWnd,?TB_SETIMAGELIST,?
            0,?(LPARAM)m_hImage1st);
            ????::SendMessage(m_hWnd,?TB_SETIMAGELIST,?
            1,?(LPARAM)m_hImage2nd);

            ????
            //?set?button?image
            ????pTBBtn[0].iBitmap?=?MAKELONG(nIdx21,?1);
            ????pTBBtn[
            1].iBitmap?=?MAKELONG(nIdx11,?0);
            ????pTBBtn[
            2].iBitmap?=?MAKELONG(nIdx12,?0);

            b. resize the button with bigger image
            ????TBBUTTONINFO?tbi;????????????
            ????tbi.cbSize?
            =?sizeof(TBBUTTONINFO);
            ????tbi.dwMask?
            =?TBIF_STYLE?|?TBIF_SIZE;
            ????tbi.fsStyle?
            =?pTBBtn[0].fsStyle;
            ????tbi.cx?
            =?48;
            ????????::SendMessage(m_hWnd,?TB_SETBUTTONINFO,?nID,?(LPARAM)
            &tbi);

            And now, ?the first button of the toolbar has different sized image from others.

            2. To use Rebar control

            A rebar?control?may have many toolbars, so you can create two toolbars with different sized imagelist.(See MSDN.). But we can only create one toolbar in WTL by default, so it's a little complex to implement?using WTL in this method. You can try?this?in MFC.
            posted on 2006-06-11 15:39 力為 閱讀(2011) 評論(0)  編輯 收藏 引用 所屬分類: 6. COM&ATL&WTL
            日韩精品久久久久久| 久久精品国产99久久久| 久久精品18| 欧美久久一级内射wwwwww.| 亚洲精品无码久久毛片| 亚洲精品无码成人片久久| 国产精品18久久久久久vr | 尹人香蕉久久99天天拍| 久久这里只有精品18| 国产成人无码精品久久久久免费 | 亚洲国产二区三区久久| 亚洲欧洲久久av| 国产99久久九九精品无码| 久久久久99这里有精品10| 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲 | 久久久久亚洲AV无码专区体验| 久久精品一本到99热免费| 777久久精品一区二区三区无码| 久久久久久久久波多野高潮| 激情综合色综合久久综合| 99久久精品国产免看国产一区| 亚洲精品无码专区久久同性男 | 亚洲综合久久夜AV | 国产精自产拍久久久久久蜜| 国内精品久久久久影院优| 久久WWW免费人成一看片| 麻豆国内精品久久久久久| 国产91久久综合| 99久久国产亚洲高清观看2024 | 久久精品国产精品亚洲毛片| 久久99久国产麻精品66| 久久精品成人欧美大片| 久久久久99精品成人片三人毛片| 亚洲欧美精品伊人久久| 一本久久久久久久| 中文字幕亚洲综合久久2| 99久久综合狠狠综合久久| 久久国产精品免费| 免费一级做a爰片久久毛片潮| 国产亚洲成人久久| 亚洲国产高清精品线久久|