当前位置: 首页 > news >正文

做公司网站需要多久做网站编辑有前途

做公司网站需要多久,做网站编辑有前途,房地产 网站模板,网站建设讯美MFC实现点击列表头排序 1、添加消息处理函数 在列表窗口右键#xff0c;类向导。选择 IDC_LIST1#xff08;我的列表控件的ID#xff09;#xff0c;消息选择LVN_COLUMNCLICK。 2、消息映射如下 然后会在 cpp 文件中生成以下函数 void CFLashSearchDlg::OnLvnColumnclic…MFC实现点击列表头排序 1、添加消息处理函数 在列表窗口右键类向导。选择 IDC_LIST1我的列表控件的ID消息选择LVN_COLUMNCLICK。 2、消息映射如下 然后会在 cpp 文件中生成以下函数 void CFLashSearchDlg::OnLvnColumnclickFlashConfigList(NMHDR *pNMHDR, LRESULT *pResult) {LPNMLISTVIEW pNMLV reinterpret_castLPNMLISTVIEW(pNMHDR);*pResult 0; }3、定义两个全局变量用于存储参数一个全局静态函数用作比较回调 // 在对应的 cpp 文件中定义 DWORD dwSelColID 0; // 选择的列 bool bASC FALSE; // 是否升序 static int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort); // 点击列表头进行升/降排序的比较函数4、具体实现消息处理函数 // 点击列表头进行升序或降序排序 void CFLashSearchDlg::OnLvnColumnclickFlashConfigList(NMHDR *pNMHDR, LRESULT *pResult) {LPNMLISTVIEW pNMLV reinterpret_castLPNMLISTVIEW(pNMHDR);// TODO: 在此添加控件通知处理程序代码if(dwSelColID ! pNMLV-iSubItem){dwSelColID pNMLV-iSubItem;bASC bASC;}elsebASC !bASC;int count m_flashConfigList.GetItemCount();for(int i 0; i count; i)m_flashConfigList.SetItemData(i, i);m_flashConfigList.SortItems(CompareFunc, (LPARAM)(m_flashConfigList));*pResult 0; }这段代码是一个消息处理函数处理了列表控件的列点击消息 LVN_COLUMNCLICK。 首先通过 reinterpret_cast 将传递给消息处理函数的 NMHDR 结构体指针转换为 LPNMLISTVIEW 类型这是因为列表控件的列点击消息 LVN_COLUMNCLICK 使用的是 NMLISTVIEW 结构体。 接着根据列点击的子项索引 pNMLV-iSubItem 和之前保存的当前列索引 dwSelColID 进行比较。如果当前列索引与点击的子项索引不同则更新当前列索引为点击的子项索引并保持排序顺序不变bASC bASC。如果当前列索引与点击的子项索引相同则切换排序顺序bASC !bASC。 然后获取列表控件中项的总数并为每个项设置与其相同的数据这样在排序后可以保持项的数据与列表控件中的位置对应。 最后调用列表控件的 SortItems 函数对列表进行排序。作为参数传递给 SortItems 函数的是静态成员函数 CompareFunc 的地址以及一个参数即列表控件本身的地址。CompareFunc 函数会根据列点击的子项索引和排序顺序来进行排序。 将 pResult 设置为 0表示消息处理已经完成。 总的来说这段代码的作用是在列表控件的列点击事件发生时根据点击的列索引以及当前的排序顺序对列表项进行排序。 5、添加回调函数 // 按列表头升序或逆序比较函数 static int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort) {CListCtrl* pListCtrl (CListCtrl*)lParamSort;LVFINDINFO findInfo;findInfo.flags LVFI_PARAM;findInfo.lParam lParam1;int iItem1 pListCtrl-FindItem(findInfo, -1);findInfo.lParam lParam2;int iItem2 pListCtrl-FindItem(findInfo, -1);CString strItem1 pListCtrl-GetItemText(iItem1, dwSelColID);CString strItem2 pListCtrl-GetItemText(iItem2, dwSelColID);if (bASC)return strItem1.Compare(strItem2);elsereturn strItem2.Compare(strItem1); }这段代码是用于比较两个列表项的函数用于在排序时确定它们的顺序。 static int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort): 这是一个静态成员函数用于比较两个列表项的回调函数。它接受三个参数 lParam1: 第一个列表项的自定义数据通常是列表项的索引或其他标识符。lParam2: 第二个列表项的自定义数据同样是列表项的索引或其他标识符。lParamSort: 对列表控件的指针用于访问列表控件以获取列表项的文本。 CListCtrl* pListCtrl (CListCtrl*)lParamSort;: 将 lParamSort 转换为 CListCtrl* 类型的指针以便在比较函数中访问列表控件。 LVFINDINFO findInfo; findInfo.flags LVFI_PARAM; findInfo.lParam lParam1; int iItem1 pListCtrl-FindItem(findInfo, -1);: 使用 lParam1 和 lParam2 查找它们对应的列表项索引。这是通过设置 LVFINDINFO 结构体中的 lParam 字段来进行的然后调用 FindItem 函数来查找列表中第一个匹配项的索引。 CString strItem1 pListCtrl-GetItemText(iItem1, dwSelColID);: 使用列表控件指针和列表项索引获取第一个列表项的文本。dwSelColID 是当前选择的列的索引。 同样的步骤也适用于第二个列表项只是使用了 lParam2 来查找索引并获取其文本。 : 使用列表控件指针和列表项索引获取第一个列表项的文本。dwSelColID 是当前选择的列的索引。 同样的步骤也适用于第二个列表项只是使用了 lParam2 来查找索引并获取其文本。 if (bASC) return strItem1.Compare(strItem2); else return strItem2.Compare(strItem1);: 根据当前排序顺序决定返回哪个字符串比较结果。如果是升序排序则直接返回两个字符串的比较结果如果是降序排序则将两个字符串的比较结果反转再返回。
http://www.hkea.cn/news/14574757/

相关文章:

  • 苏州h5网站建设价格深圳企业网站制作推广运营
  • 网站建设谁家好建手机网站
  • 有没有哪种网站推荐一下wordpress增强编辑器
  • 兴润建设集团有限公司网站05网答案大全
  • 公主岭市住房和城乡建设局网站招投标网
  • seo网站优化及网站推广新乡做网站推广的
  • 网站制作公司站建设上海网络营销推广服务
  • 商贸公司寮步网站建设在虚拟主机上建设多个网站
  • 类模板模板下载网站有哪些设计作品欣赏网站
  • 厦门市同安区建设局公开网站怎么做网站调研
  • 昆明做网站建设价位google play store
  • app和手机网站的区别怎样建设公司网站
  • wordpress创建企业网站wordpress家谱
  • 要建设企业网站郑州网站建设找智巢
  • 廊坊网站建设总部在哪里网站建设基础服务
  • 吉林教育网站建设方案酒店网站的开发及其设计方案
  • 做网站外网可访问网站服务器一年多少钱
  • 建设部职称证书查询官方网站godaddy托管wordpress
  • 专业图库网站 西安越秀seo搜索引擎优化
  • 西安网站建设聂卫系统官网网站模板下载地址
  • 域名怎么做网站一见钟情 网站
  • 国外的包装设计网站网络广告投放的主要方式有
  • 大连 响应式网站制作西安电商平台网站建设
  • 做分享衣服网站的初衷是什么意思楚雄建网站
  • 如何打破违法网站莱芜做网站的公司
  • 广州公司营销型网站建设域名可以做网站名吗
  • 北京高端网站建设公司浩森宇特开发个app多少钱
  • 查公司信息的网站中国十大企业培训公司
  • 浙江嘉兴建设局网站外贸网站建设公司方案
  • 大连建设网官网首页关键词优化公司兴田德润优惠吗