• <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(太子) 閱讀(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
            你看函數用法雖然是這么說明的,
            但是你看例子中的用法是錯了的!  回復  更多評論
              
            # re: MSDN的Bug! 2007-06-06 08:29 | Mickey Mouse
            看來msdn也不是萬能的  回復  更多評論
              
            精品国产综合区久久久久久| 欧美国产成人久久精品| 午夜久久久久久禁播电影| 久久人人爽人人爽人人片AV不| 国产精品成人久久久| 97精品伊人久久大香线蕉| 东方aⅴ免费观看久久av| 久久成人国产精品二三区| 人妻少妇精品久久| 国产91色综合久久免费| 香蕉99久久国产综合精品宅男自 | 97久久精品无码一区二区| 亚洲国产天堂久久综合网站| 色天使久久综合网天天| 国产精品热久久无码av| 久久丫精品国产亚洲av| 亚洲国产精品无码久久久久久曰| 国产精品99精品久久免费| 欧美日韩精品久久免费| 91精品免费久久久久久久久| 无码人妻久久一区二区三区免费| 久久99精品免费一区二区| 国产婷婷成人久久Av免费高清 | 国内精品伊人久久久久网站| 久久久久久久精品妇女99| 99久久国产亚洲高清观看2024 | 狠狠色丁香久久婷婷综| 99久久无色码中文字幕人妻| 香蕉99久久国产综合精品宅男自 | 久久免费视频观看| 狠狠色婷婷久久综合频道日韩 | 99久久精品国产一区二区蜜芽| 亚洲愉拍99热成人精品热久久| 一本色道久久综合狠狠躁篇| 久久精品国产第一区二区| 国产精久久一区二区三区| 99久久国产免费福利| 精品久久久久久无码中文字幕| 国产精品久久久久一区二区三区| 久久久精品午夜免费不卡| 久久久久久久综合日本亚洲|