CWnd::OnCompareItem

afx_msg int OnCompareItem( int nIDCtl, LPCOMPAREITEMSTRUCT lpCompareItemStruct );

返回值:
指明两个项的相对位置。它可能是如下值之一:
含义
-1第一项排在第二项前面
0第一项与第二项顺序相同
1第一项排在第二项后面

参数:
nIDCtl发出WM_COMPAREITEM消息的控件的标识符。
lpCompareItemStruct包含了一个指向COMPAREITEMSTRUCT数据结构的长指针,其中包含了标识符和应用为组合框或列表框中的两项提供的数据。

说明:
框架调用这个成员函数以指定排序的自画组合框或列表框中新项的相对位置。
如果组合框或列表框是用CBS_SORT或LBS_SORT风格创建的,则当应用程序加入新项时,Windows向组合框或列表框的拥有者发送一条WM_COMPAREITEM消息。
组合框或列表框中的两项在lpCompareItemStruct指向的COMPAREITEMSTRUCT结构中改变形式。OnCompareItem必须返回一个能指明哪一项出现在另一项之前的值。通常,Windows调用这个函数若干次,直到它能够确定新项的确切位置。
如果COMPAREITEMSTRUCT结构的hwndItem成员属于ClistBox或CcomboBox对象,则将调用适当的类的虚拟函数CompareItem。在你继承的ClistBox或CcomboBox类中重载CcomboBox::CompareItem或ClistBox::CompareItem以实现项比较。

注意:
框架调用这个成员函数以允许你的应用程序处理一个Windows消息。传递给你的成员函数的参数反映了接收到消息时框架接收到的参数。如果你调用了这个函数的基类实现,则该实现将使用最初传递给消息的参数(而不是你提供给这个函数的参数)。

请参阅:
COMPAREITEMSTRUCT, WM_COMPAREITEM, CListBox::CompareItem, CComboBox::CompareItem