• <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>
            隨筆-60  評論-111  文章-0  trackbacks-0
            msdn原文

            CListCtrl::SortItems

            This method sorts list view items using an application-defined comparison function. The index of each item changes to reflect the new sequence.

            BOOL SortItems( PFNLVCOMPARE pfnCompare, DWORD dwData);
            Parameters
            pfnCompare
            Specifies the address of the application-defined comparison function. The comparison function is called during the sort operation each time the relative order of two list items needs to be compared. The comparison function must be either a static member of a class or a standalone function that is not a member of any class.
            dwData
            Specifies the application-defined value that is passed to the comparison function.
            Return Value

            Nonzero if it is successful; otherwise, it is zero. Remarks
            The comparison function has the following form:
            int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, ??LPARAM lParamSort);

            The comparison function must return a negative value if the first item should precede the second, a positive value if the first item should follow the second, or zero if the two items are equivalent.
            The lParam1 and lParam2 parameters specify the item data for the two items being compared. The lParamSort parameter is the same as the dwData value.

            Example


            //?Sort?the?item?in?reverse?alphabetical?order.
            static?int?CALLBACK?
            MyCompareProc(LPARAM?lParam1,?LPARAM?lParam2,?LPARAM?lParamSort)
            {
            ???
            //?lParamSort?contains?a?pointer?to?the?list?view?control.
            ???CListCtrl*?pListCtrl?=?(CListCtrl*)?lParamSort;
            ???CString????strItem1?
            =?pListCtrl->GetItemText(lParam1,?0);
            ???CString????strItem2?
            =?pListCtrl->GetItemText(lParam2,?0);

            ???
            return?strcmp(strItem2,?strItem1);
            }

            void?snip_CListCtrl_SortItems()
            {
            ???
            //?The?pointer?to?my?list?view?control.
            ???extern?CListCtrl*?pmyListCtrl;

            ???
            //?Sort?the?list?view?items?using?my?callback?procedure.
            ???pmyListCtrl->SortItems(MyCompareProc,?(LPARAM)?pmyListCtrl);
            }


            例子中的代碼是不能按照預想的工作的, 因為回調函數接收的2個參數是用SetItemData傳入的值,而不是Item的Index!
            posted on 2007-02-28 22:59 shaker(太子) 閱讀(1820) 評論(3)  編輯 收藏 引用 所屬分類: C++

            評論:
            # re: MSDN的Bug! 2007-03-01 09:07 | mzh
            “The lParam1 and lParam2 parameters specify the item data for the two items being compared.”  回復  更多評論
              
            # re: MSDN的Bug! 2007-03-01 22:49 | shaker
            @mzh
            你看函數用法雖然是這么說明的,
            但是你看例子中的用法是錯了的!  回復  更多評論
              
            # re: MSDN的Bug! 2007-06-06 08:29 | Mickey Mouse
            看來msdn也不是萬能的  回復  更多評論
              
            国产精品久久久久久久久鸭 | aaa级精品久久久国产片| 亚洲国产精品高清久久久| 狠狠88综合久久久久综合网| 999久久久免费国产精品播放| 精品久久久久久国产免费了| 亚洲精品乱码久久久久久蜜桃| 久久影院综合精品| 久久久精品视频免费观看| 亚洲午夜久久久久妓女影院| 99久久99久久精品国产| 亚洲精品国精品久久99热一| 丰满少妇人妻久久久久久4| 久久精品国产久精国产果冻传媒 | 精品国产乱码久久久久软件| 久久久久久久波多野结衣高潮 | 无码任你躁久久久久久久| 久久91精品国产91久| 人妻精品久久久久中文字幕| 精品永久久福利一区二区| 欧美亚洲国产精品久久| 99久久精品九九亚洲精品| 蜜臀久久99精品久久久久久小说| 久久激情五月丁香伊人| 国产成年无码久久久久毛片| 久久精品一区二区三区不卡| 久久久久波多野结衣高潮| 久久93精品国产91久久综合| 久久综合狠狠色综合伊人| 东京热TOKYO综合久久精品| 久久精品中文无码资源站| 久久精品无码一区二区三区日韩 | 亚洲精品无码久久久久去q | 久久精品亚洲乱码伦伦中文| 人人狠狠综合88综合久久| 久久久久久国产精品无码超碰| 亚洲伊人久久成综合人影院| 亚洲欧美国产精品专区久久| 精品久久久久久久国产潘金莲| 伊人色综合久久天天人守人婷| 亚洲v国产v天堂a无码久久|