• <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(太子) 閱讀(1823) 評論(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也不是萬能的  回復  更多評論
              
            久久99精品国产麻豆婷婷| 久久黄色视频| 久久综合精品国产二区无码| 久久久久亚洲AV成人片| 国产激情久久久久影院老熟女 | av色综合久久天堂av色综合在| 亚洲伊人久久综合中文成人网| 久久久精品人妻一区二区三区四 | 26uuu久久五月天| 久久中文字幕精品| 精品国产一区二区三区久久蜜臀| 伊人久久大香线蕉亚洲五月天| 精品久久久久久国产牛牛app | 97久久超碰国产精品旧版| 久久天天躁狠狠躁夜夜不卡| 国产91色综合久久免费分享| 久久精品无码一区二区WWW| 久久成人国产精品一区二区| 97精品久久天干天天天按摩| 一本色道久久99一综合| 亚洲国产日韩综合久久精品| 久久人妻少妇嫩草AV无码蜜桃| 99久久国语露脸精品国产| 亚洲伊人久久精品影院| 精品久久久久久久国产潘金莲| 精品久久久久久无码中文野结衣| 精品久久香蕉国产线看观看亚洲| 久久精品国产亚洲AV高清热| 久久精品亚洲AV久久久无码| 久久人人爽人人人人爽AV | 久久久久亚洲AV成人网人人网站| 四虎亚洲国产成人久久精品| 久久精品国产清自在天天线| 久久综合伊人77777麻豆| 久久五月精品中文字幕| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 精品久久久久国产免费| 久久久久亚洲AV成人网人人网站 | 9久久9久久精品| 麻豆精品久久久一区二区| 久久婷婷久久一区二区三区|