• <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  評(píng)論-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ù)想的工作的, 因?yàn)榛卣{(diào)函數(shù)接收的2個(gè)參數(shù)是用SetItemData傳入的值,而不是Item的Index!
            posted on 2007-02-28 22:59 shaker(太子) 閱讀(1823) 評(píng)論(3)  編輯 收藏 引用 所屬分類: C++

            評(píng)論:
            # 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ù)  更多評(píng)論
              
            # re: MSDN的Bug! 2007-03-01 22:49 | shaker
            @mzh
            你看函數(shù)用法雖然是這么說(shuō)明的,
            但是你看例子中的用法是錯(cuò)了的!  回復(fù)  更多評(píng)論
              
            # re: MSDN的Bug! 2007-06-06 08:29 | Mickey Mouse
            看來(lái)msdn也不是萬(wàn)能的  回復(fù)  更多評(píng)論
              
            国产高清国内精品福利99久久| 久久亚洲国产精品123区| 国产69精品久久久久99尤物| 亚洲欧美精品伊人久久| 久久精品免费网站网| 国产精品99久久久精品无码| 久久精品国产亚洲AV无码娇色| 午夜不卡888久久| 亚洲国产小视频精品久久久三级 | 亚洲精品无码久久久久去q| 99国内精品久久久久久久| 亚洲国产成人久久综合碰| 久久精品水蜜桃av综合天堂 | 国产AⅤ精品一区二区三区久久| 麻豆国内精品久久久久久| 久久99精品久久久久久久久久| 日韩久久无码免费毛片软件| 91精品国产91久久久久久蜜臀| 少妇被又大又粗又爽毛片久久黑人 | 久久久噜噜噜久久| 精品久久久久久久无码| 亚洲精品国产综合久久一线| 欧美久久综合性欧美| 国产精品久久精品| 精品亚洲综合久久中文字幕| 成人久久久观看免费毛片| 亚洲国产精品成人久久| 久久精品桃花综合| 2021最新久久久视精品爱| 久久精品国产亚洲av麻豆图片| 久久亚洲AV无码精品色午夜麻豆| 国产成人香蕉久久久久| 久久se精品一区二区| 国产精品久久永久免费| 99精品国产在热久久| 久久精品国产福利国产秒| 91久久精品视频| 久久伊人中文无码| 久久国产精品无| 亚洲国产精品18久久久久久| 亚洲精品无码专区久久久|