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

            力為的技術博客

            聯系 聚合 管理
              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 力為 閱讀(2010) 評論(0)  編輯 收藏 引用 所屬分類: 6. COM&ATL&WTL
            99久久夜色精品国产网站| 精品伊人久久大线蕉色首页| 久久99精品久久久久子伦| 国产精品久久久久…| 国产午夜电影久久| 久久99精品国产麻豆宅宅| 99久久精品免费国产大片| 久久精品免费全国观看国产| 久久久久久免费一区二区三区| 久久亚洲欧洲国产综合| 久久精品国产亚洲AV麻豆网站| 久久www免费人成看国产片| 久久综合狠狠综合久久综合88| 久久e热在这里只有国产中文精品99| 亚洲愉拍99热成人精品热久久| 久久国产精品波多野结衣AV| 久久精品国产亚洲av影院| 亚洲日本va午夜中文字幕久久| 久久不射电影网| AV色综合久久天堂AV色综合在| 久久久久久久精品成人热色戒| 国产午夜电影久久| 亚洲国产成人久久综合一| 精品久久8x国产免费观看| 国内精品人妻无码久久久影院导航| 久久久久亚洲精品中文字幕| 国内精品久久久久久中文字幕| 国产精品久久久久9999高清| 新狼窝色AV性久久久久久| 久久夜色精品国产亚洲| 中文字幕精品久久久久人妻| 亚洲欧美一区二区三区久久| 久久国产三级无码一区二区| 国产巨作麻豆欧美亚洲综合久久 | 狠狠综合久久AV一区二区三区| 蜜桃麻豆www久久国产精品| 久久综合精品国产一区二区三区| 久久久久久国产精品无码下载 | 思思久久99热免费精品6| 久久综合丁香激情久久| 亚洲国产成人久久综合碰碰动漫3d |