listctrl的自动排序问题 1.listctrl的自动排序如何实现?????listctrl风格中有自动排序的,我要在listctrl创建好后,改变他的风格,加上排序的,可是我改变了后,没有什么反映.2.listctrl对齐到网格如何实现>??????这个真的不知道怎么去做 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://support.microsoft.com/kb/250614/en-us listctrl对齐到网格 ???? 排序功能的实现 列表控制有一个特殊的功能,当以详细资料方式显示时,列表顶部的表头可以当作按钮来使用,这可以通过列表控制创建时的风格来控制。当鼠标点击列表头名称时,列表控制就会向其父窗口发送一个LNV_COLUMNCLICK消息,利用类导向中列表控制 IDC_LISTCTRL对应的LNV_COLUMNCLICK消息加入相应处理函数,就可将表列按照特定顺序进行排列。其函数使用方法见程序,其中 iSort为排序的表列索引号,(PFNLVCOMPARE)CompareFunc为进行具体排序的回调函数,也就是说,通过鼠标点击表头实现的排序过程是由第三方开发的专用排序函数来实现的,排序函数只是实现表项的具体比较操作,而整个排序过程是由SortItemS属性通过不断调用这个函数来实现的。正常的排序过程是升序方式,通过调换排序函数中的参数值,就可实现降序排列,即将PARAM1与PARAM2调换位置。这个回调函数的前两个参数为表列中表项的索引号,第三个参数为排序的表列索引号。void CVCLISTDlg::OnColumnclickListctrl(NMHDR* pNMHDR, LRESULT* pResult){ //鼠标左键单击表头处理函数NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;// TODO: Add your control notification handler code herestatic int iSorted=-1;//排列序号if (pNMListView->iSubItem==iSorted) return;iSorted=pNMListView->iSubItem;m_ListCtrl.SortItems((PFNLVCOMPARE)CompareFunc,iSorted);*pResult = 0;}//排序时比较表项的回调函数int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2,LPARAM lParamSort){ char *text1,*text2;switch (lParamSort){case 0L:text1=Sps[lParam1].szPm;text2=Sps[lParam2].szPm;break;case 1L:text1=Sps[lParam1].szSl;text2=Sps[lParam2].szSl;break;case 2L:text1=Sps[lParam1].szDj;text2=Sps[lParam2].szDj;break;case 3L:text1=Sps[lParam1].szJe;text2=Sps[lParam2].szJe;break;}return (strcmp(text1,text2));//结果为>0 =0 <0} 十万火急求帮助啊 Dubug assertion failed line146 有没有那位同行发现过有那个开源的图像处理软件能够保存图像为DDS格式的啊? vc6树形控件问题 如何在单文档里实现多行文本输出? 如何能修改VS2005中代码的字体? 文件数据读取后如何填加到列表 电压不稳,伤机几何? VC++ 中如何实现自动拨号 怎样使我的对话框一打开就处于屏幕的右上角? 请教!怎样实现文档输入? 求助怎样从usb读取数据? 熟悉datacombo控件的进来看一下好吗?跪谢
????