• <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);
            }


            例子中的代碼是不能按照預想的工作的, 因為回調(diào)函數(shù)接收的2個參數(shù)是用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
            你看函數(shù)用法雖然是這么說明的,
            但是你看例子中的用法是錯了的!  回復  更多評論
              
            # re: MSDN的Bug! 2007-06-06 08:29 | Mickey Mouse
            看來msdn也不是萬能的  回復  更多評論
              
            国产无套内射久久久国产| 亚洲AV无码久久| 亚洲AV无码久久精品蜜桃| 久久涩综合| 久久精品国产亚洲AV久| 久久精品亚洲乱码伦伦中文| 国产美女亚洲精品久久久综合| 久久青青色综合| 亚洲va久久久久| 久久久免费观成人影院| 久久青青草原精品国产软件| 久久妇女高潮几次MBA| 99久久香蕉国产线看观香| 久久国产精品77777| 久久久无码精品午夜| 狠狠干狠狠久久| 久久综合给久久狠狠97色 | 亚洲AV无码久久寂寞少妇| 国产精品美女久久久| 亚洲精品高清一二区久久| 久久超碰97人人做人人爱| 国产三级精品久久| 久久精品国产99久久丝袜 | www性久久久com| 亚洲欧美国产精品专区久久| 国产成人精品久久| 亚洲午夜久久影院| 久久亚洲精品国产精品| 久久九九亚洲精品| 狠狠人妻久久久久久综合蜜桃| 狠狠色丁香久久婷婷综合五月| 久久久久久久久久久久久久| 国产成人精品久久一区二区三区av | 国内精品久久久久伊人av| 狠狠色丁香婷婷久久综合 | 91精品国产高清91久久久久久| 91精品观看91久久久久久| 尹人香蕉久久99天天拍| 成人综合伊人五月婷久久| 激情综合色综合久久综合| 一本一本久久A久久综合精品 |