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


            例子中的代碼是不能按照預(yù)想的工作的, 因為回調(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.”  回復(fù)  更多評論
              
            # re: MSDN的Bug! 2007-03-01 22:49 | shaker
            @mzh
            你看函數(shù)用法雖然是這么說明的,
            但是你看例子中的用法是錯了的!  回復(fù)  更多評論
              
            # re: MSDN的Bug! 2007-06-06 08:29 | Mickey Mouse
            看來msdn也不是萬能的  回復(fù)  更多評論
              
            99久久精品国产一区二区三区| 无码乱码观看精品久久| 少妇久久久久久被弄到高潮| 久久国产精品国语对白| 国产亚洲精午夜久久久久久| 国内精品久久久久久中文字幕| 久久se精品一区二区| 久久精品国产精品亚洲精品| 国产美女久久久| 亚洲国产精品热久久| 久久精品无码av| 狠狠色婷婷久久一区二区 | 精品亚洲综合久久中文字幕| 欧美日韩中文字幕久久伊人| 国产精品综合久久第一页| 久久国产成人亚洲精品影院| 开心久久婷婷综合中文字幕| 久久精品无码一区二区WWW | 中文字幕日本人妻久久久免费| 久久人人爽人人人人爽AV| 久久精品国产久精国产一老狼| 久久久精品人妻一区二区三区蜜桃| 久久九九有精品国产23百花影院| 久久久中文字幕日本| 一本色综合网久久| 久久九九有精品国产23百花影院| 久久久久久国产精品无码下载 | 国产精品99久久精品| 久久精品国产精品亚洲| 伊人久久大香线蕉av不卡| 久久99精品国产99久久| 亚洲午夜无码久久久久小说| 狠狠色丁香久久综合婷婷| 久久综合久久性久99毛片| 久久久精品人妻一区二区三区蜜桃| 久久精品亚洲福利| 久久超乳爆乳中文字幕| 少妇无套内谢久久久久| 精品久久久久久国产三级| 97精品久久天干天天天按摩| 综合久久一区二区三区 |