• <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也不是萬能的  回復  更多評論
              
            亚洲中文字幕伊人久久无码| 久久精品天天中文字幕人妻| 亚洲午夜久久久| 久久强奷乱码老熟女网站| 久久亚洲精精品中文字幕| 色综合久久天天综合| 中文国产成人精品久久不卡| 精品亚洲综合久久中文字幕| 噜噜噜色噜噜噜久久| 国产一区二区三区久久| 18禁黄久久久AAA片| 久久亚洲精品视频| 久久精品国产亚洲精品2020| 亚洲国产成人精品无码久久久久久综合 | 欧美激情精品久久久久久久九九九 | 久久精品国产亚洲77777| 人妻中文久久久久| 香港aa三级久久三级| 久久综合噜噜激激的五月天| 久久亚洲AV无码西西人体| 精品久久久久久综合日本| 久久亚洲中文字幕精品有坂深雪| 久久久久亚洲AV成人网人人软件| 久久久久久免费一区二区三区| 久久综合久久自在自线精品自| 久久人人爽人人爽人人爽 | 热综合一本伊人久久精品| 久久久国产精品网站| 国产精品99久久免费观看| www性久久久com| 国产精品久久久天天影视| 久久久久无码精品国产| 三上悠亚久久精品| 久久66热人妻偷产精品9| 精品熟女少妇av免费久久| jizzjizz国产精品久久| 久久久久免费看成人影片| 精品人妻久久久久久888| 久久大香香蕉国产| 久久久国产精品网站| 久久精品亚洲乱码伦伦中文|