`
hcmfys
  • 浏览: 363648 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

clistBoxCtrl

    博客分类:
  • c++
阅读更多
CListCtrl 风格设置:

 DWORD   dwStyle   =   m_ListCtrl.GetExtendedStyle();   
 dwStyle   |=   LVS_EX_FULLROWSELECT;    //选中某行使整行高亮(只适用与report风格的listctrl)   
 dwStyle   |=   LVS_EX_GRIDLINES;     //网格线(只适用与report风格的listctrl)   
 dwStyle   |=   LVS_EX_SUBITEMIMAGES;    // 设置图片
 dwStyle   |=   LVS_EX_ONECLICKACTIVATE;    // 点选一个活动行
 m_ListCtrl.SetExtendedStyle(dwStyle);    //设置扩展风格

CListCtrl 中的item插入图片

LVITEM   lvItem;   
memset(&lvItem,   0,   sizeof(LVITEM));   
 lvItem.iItem = nI;   
lvItem.iSubItem = 2; 
lvItem.mask = LVIF_IMAGE;

lvItem.iImage = 1;    // 不带钩的图片 

 m_ListCtrl.SetItem(&lvItem);

 

CListCtrl改变单个item的颜色

首先必须先重载CListCtrl中的OnNMCustomdraw(NMHDR *pNMHDR, LRESULT *pResult)函数,进行重绘,然后设置item颜色。

//*********************************************************************************
//** 函 数 名:OnNMCustomdraw
//** 功能描述:listctrl 控件自绘函数,用来修改控件中的颜色
//** 全局变量:
//** 调用模块:
//** 作    者:chenbo
//** 日    期:2008-10-23
//** 修 改 者:
//** 日    期:
//** 版    本:1.0       
//*********************************************************************************
void CListCtrlEx::OnNMCustomdraw(NMHDR *pNMHDR, LRESULT *pResult)
{
 *pResult = CDRF_DODEFAULT;
 NMLVCUSTOMDRAW * lplvdr=(NMLVCUSTOMDRAW*)pNMHDR;
 NMCUSTOMDRAW &nmcd = lplvdr->nmcd;
 
 switch(lplvdr->nmcd.dwDrawStage)
 {
 case CDDS_PREPAINT:
  
  *pResult = CDRF_NOTIFYITEMDRAW;
  break;
  
 case CDDS_ITEMPREPAINT :
  {
   COLORREF ItemColor;
   if( MapItemColor.Lookup(nmcd.dwItemSpec, ItemColor))
   {
    lplvdr->clrText = ItemColor;
    *pResult = CDRF_DODEFAULT;
   }
  }
  break; 
 }

}

//*********************************************************************************
//** 函 数 名:SetItemColor
//** 功能描述:设置item的颜色
//** 全局变量:
//** 调用模块:
//** 作    者:chenbo
//** 日    期:2008-10-23
//** 修 改 者:
//** 日    期:
//** 版    本:1.0       
//*********************************************************************************
void CListCtrlEx::SetItemColor(DWORD iItem, COLORREF color)
{
 ASSERT(iItem >= 0);
 MapItemColor.SetAt(iItem, color);
 this->RedrawItems(iItem, iItem);
 UpdateWindow();
}
 

 

ClistCtrl中的多选

BOOL CGeoCheckHelp::PreTranslateMessage(MSG* pMsg)
{    
 if(pMsg->message==WM_LBUTTONDOWN)
 {
  // 该函数的返回值为一个Integer型数(双字节),要判断是否按下特定键,就看返回值,
  // 如果开关键打开,则位0设为1(开关键包括CapsLock, NumLock,ScrollLock);即(0000000000000001)2,
  // 如果某键正处于按下状态,则位15为1;即(1000000000000000)2,如已经抬起,则为0。即(0000000000000001)2,
  // 如果某键正处于按下状态,则位15为1;即(1000000000000000)2,如已经抬起,则为0

  if (!(GetKeyState(VK_CONTROL)&0x8000) && !(GetKeyState(VK_SHIFT)&0x8000) )
  {
   if(IsMuitSelCur())
   {
    LVHITTESTINFO hitTest;
    UINT   uFlags   =    0 ;  

    CPoint point;
    point.SetPoint(pMsg->pt.x,pMsg->pt.y);

    m_ListCtrl.ScreenToClient(&point);
    hitTest.pt = point;
    hitTest.flags = uFlags;
    m_ListCtrl.HitTest(&hitTest);

    int nRow = m_ListCtrl.HitTest(point);
    CString strTem = m_ListCtrl.GetItemText(nRow,2);
    CString strTep = m_ListCtrl.GetItemText(nRow,8);

    LVHITTESTINFO sublvHit;
    sublvHit.pt = point;
    int nColumn = m_ListCtrl.SubItemHitTest(&sublvHit);

    if(sublvHit.iSubItem == 2)
    {
     POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
     if (pos == NULL)
      return TRUE;
     else
     {
      do
      {
       int nItem = m_ListCtrl.GetNextSelectedItem(pos);
       {
        int nCheckID = vec1[nItem];
        CString strCheckID;
        strCheckID.Format(_T("%d"),nCheckID);
        if ( strTem== _T("√") )
        {
         SetTableData(strCheckID,0);
         m_ListCtrl.SetRedraw(false);
         m_ListCtrl.SetItemText(nItem,2,_T("□"));
         m_ListCtrl.SetRedraw(true);

        }else
        {
         SetTableData(strCheckID,-1);
         m_ListCtrl.SetRedraw(false);
         m_ListCtrl.SetItemText(nItem,2,_T("√"));
         m_ListCtrl.SetRedraw(true);
        }
       }

 

 

!时间仓促,此播客以下内容大多为网上整理,特向原作者表示感谢!

--------------------------------------------------------------------------------

1. CListCtrl 样式及设置
 LVS_ICON: 每个item显示大图标
 LVS_SMALLICON: 每个item显示小图标
 LVS_LIST: 显示一列带有小图标的item
 LVS_REPORT: 显示item详细资料

 如windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料”

 LONG lStyle;
 lStyle=GetWindowLong(m_ListCtrl.m_hWnd, GWL_STYLE); //获取当前窗口style
 lStyle &= ~LVS_TYPEMASK; //清除显示方式位
 lStyle |= LVS_REPORT; //设置style
 SetWindowLong(m_ListCtrl.m_hWnd, GWL_STYLE, lStyle); //设置style


--------------------------------------------------------------------------------

2. 扩展样式设置


 DWORD dwStyle = m_ListCtrl.GetExtendedStyle(); //获取当前扩展样式
 dwStyle |= LVS_EX_FULLROWSELECT; //选中某行使整行高亮(report风格时)
 dwStyle |= LVS_EX_GRIDLINES; //网格线(report风格时)
 dwStyle |= LVS_EX_CHECKBOXES; //item前生成checkbox控件
 m_ListCtrl.SetExtendedStyle(dwStyle); //设置扩展风格


--------------------------------------------------------------------------------

3. 数据插入

 m_ListCtrl.InsertColumn(0,"名称",LVCFMT_LEFT,50); //插入列
 m_ListCtrl.InsertColumn(1,"备注",LVCFMT_LEFT,50);
 

 //直接插入:

 int nRow=m_ListCtrl.InsertItem(0, "VC++");        //插入行
 m_ListCtrl.SetItemText(nRow,1,"Visual C++ 6.0");  //设置数据

 //LVITEM 结构插入:

 LVITEM item={0};
 item.iItem=0;  //行号
 item.mask=LVIF_TEXT; /*LVIF_IMAGE支持图标*/;
 item.cchTextMax=15;//插入字符串长度
 item.pszText="Visual C++ 6.0";

 int nRow=m_ListCtrl.InsertItem(&item);

 m_ListCtrl.SetItemText(nRow,1,"Visual C++ 6.0");


--------------------------------------------------------------------------------

4. 一直选中Item

 选中style中的 Show selection always,

 或者添加扩展样式 LVS_SHOWSELALWAYS


--------------------------------------------------------------------------------

5. 选中和取消选中Item
 int nIndex = 0;
 //选中
  m_ListCtrl.SetItemState(nIndex,LVIS_SELECTED|

  LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);
 //取消选中
  m_ListCtrl.SetItemState(nIndex,0,LVIS_SELECTED|LVIS_FOCUSED);


--------------------------------------------------------------------------------

6. 得到CListCtrl中所有行的checkbox的状态
 CString str;
 for(int i=0; i<m_ListCtrl.GetItemCount(); i++)

 {
   if(m_ListCtrl.GetItemState(i, LVIS_SELECTED)==

    LVIS_SELECTED || m_ListCtrl.GetCheck(i))
   {
     str.Format(_T("第%d行的checkbox为选中状态"), i);
     AfxMessageBox(str);
    }

  }


--------------------------------------------------------------------------------

7. 得到CListCtrl中所有选中行的序号

 //方法一:
  CString str;
  for(int i=0; i<m_ListCtrl.GetItemCount(); i++)
  {
    if(m_ListCtrl.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
    {
      str.Format(_T("选中了第%d行"), i);
      AfxMessageBox(str);
     }
   }

 //方法二:
  POSITION pos=m_ListCtrl.GetFirstSelectedItemPosition();
  if(pos==NULL)
   TRACE0("No items were selected!\n");
  else
  {
   while(pos)
    {
      int nItem=m_ListCtrl.GetNextSelectedItem(pos);
      TRACE1("Item %d was selected!\n", nItem);
      //添加其他操作

     }
   }


--------------------------------------------------------------------------------

8. 得到item的信息
 TCHAR szBuf[1024];
 LVITEM lvi;
 lvi.iItem = nItemIndex;
 lvi.iSubItem = 0;
 lvi.mask = LVIF_TEXT;
 lvi.pszText = szBuf;
 lvi.cchTextMax = 1024;
 m_ListCtrl.GetItem(&lvi);

 关于得到设置item的状态,还可以参考msdn文章
 Q173242: Use Masks to Set/Get Item States in CListCtrl
 http://support.microsoft.com/kb/173242/en-us


--------------------------------------------------------------------------------

9. 得到CListCtrl的所有列的header字符串内容
 LVCOLUMN lvcol;
 char  str[256];
 int   nColNum;
 CString strColumnName[3];//假如有3列

 nColNum = 0;
 lvcol.mask = LVCF_TEXT;
 lvcol.pszText = str;
 lvcol.cchTextMax = 256;
 while(m_list.GetColumn(nColNum, &lvcol))
 { 
   strColumnName[nColNum] = lvcol.pszText;
   nColNum++;
  }


--------------------------------------------------------------------------------

10. 使CListCtrl中一项可见,即滚动滚动条
 m_ListCtrl.EnsureVisible(i, FALSE);


--------------------------------------------------------------------------------

11. 得到CListCtrl列数
 int nHeadNum=m_ListCtrl.GetHeaderCtrl()->GetItemCount();


--------------------------------------------------------------------------------

12. 删除所有列
 方法一:
  while(m_ListCtrl.DeleteColumn(0))
  //因为你删除了第一列后,后面的列会依次向上移动。

 方法二:
  int nColumns = 3; //列数
  for(int i=nColumns-1; i>=0; i--)

   m_ListCtrl.DeleteColumn(i);


--------------------------------------------------------------------------------

13. 得到单击的CListCtrl的行列号
 添加listctrl控件的NM_CLICK消息相应函数
 void CMyDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
 {
  //方法一:

  DWORD dwPos=GetMessagePos();
  CPoint point( LOWORD(dwPos), HIWORD(dwPos));

  m_ListCtrl.ScreenToClient(&point);
 

  LVHITTESTINFO lvinfo;
  lvinfo.pt=point;
  lvinfo.flags=LVHT_ABOVE;
 

  int nItem=m_ListCtrl.SubItemHitTest(&lvinfo);
  if(nItem!=-1)
  {
    CString strtemp;
    strtemp.Format("单击的是第%d行第%d列",

    lvinfo.iItem, lvinfo.iSubItem);
    AfxMessageBox(strtemp);
   }

  // 方法二:
  NM_LISTVIEW* pNMListView=(NM_LISTVIEW*)pNMHDR;
  if(pNMListView->iItem!=-1)
  {

    CString strtemp;
    strtemp.Format("单击的是第%d行第%d列",
    pNMListView->iItem, pNMListView->iSubItem);
    AfxMessageBox(strtemp);
   }

   *pResult = 0;

 }


--------------------------------------------------------------------------------

14. 判断是否点击在CListCtrl的checkbox上
 添加listctrl控件的NM_CLICK消息相应函数
 void CMyDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
 {

   DWORD dwPos=GetMessagePos();
   CPoint point(LOWORD(dwPos), HIWORD(dwPos));

   m_ListCtrl.ScreenToClient(&point);
 

   LVHITTESTINFO lvinfo;
   lvinfo.pt=point;
   lvinfo.flags=LVHT_ABOVE;
     
   UINT nFlag;
   int nItem=m_ListCtrl.HitTest(point, &nFlag);
   //判断是否点在checkbox上
   if(nFlag==LVHT_ONITEMSTATEICON)
   {
     AfxMessageBox("点在listctrl的checkbox上");
   } 
   *pResult = 0;
 }


--------------------------------------------------------------------------------

15. 右键点击CListCtrl的item弹出菜单
 添加CListCtrl控件的NM_RCLICK消息相应函数
 void CMyDlg::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult)
 {
   NM_LISTVIEW* pNMListView=(NM_LISTVIEW*)pNMHDR;
   if(pNMListView->iItem!=-1)
   {
     DWORD dwPos = GetMessagePos();
     CPoint point( LOWORD(dwPos), HIWORD(dwPos) );

   

     CMenu menu;
     VERIFY( menu.LoadMenu( IDR_MENU1 ) );
     CMenu* popup = menu.GetSubMenu(0);
     ASSERT( popup != NULL );
     popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,

     point.x, point.y, this );

    } 
    *pResult = 0;

 }


--------------------------------------------------------------------------------

16. CListCtrl进行大数据量更新时,避免闪烁
 m_ListCtrl.SetRedraw(FALSE);
 //更新内容
 m_ListCtrl.SetRedraw(TRUE);
 m_ListCtrl.Invalidate();
 m_ListCtrl.UpdateWindow();
 //或者参考

 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_cwnd.3a3a.setredraw.asp


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sghgcn/archive/2009/03/05/3958219.aspx
      }
      while(pos);
     }
     return TRUE;
    }
    if (sublvHit.iSubItem == 8)
    {
     POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
     if (pos == NULL)
      return TRUE;
     else
     {
      do
      {
       int nItem = m_ListCtrl.GetNextSelectedItem(pos);
       {
        int nCheckID = vec1[nItem];
        CString strCheckID;
        strCheckID.Format(_T("%d"),nCheckID);
        if ( strTep== _T("√") )
        {
         SetMoreTableData(strCheckID,0);
         m_ListCtrl.SetRedraw(false);
         m_ListCtrl.SetItemText(nItem,8,_T("□"));
         m_ListCtrl.SetRedraw(true);

        }else
        {
         SetMoreTableData(strCheckID,-1);
         m_ListCtrl.SetRedraw(false);
         m_ListCtrl.SetItemText(nItem,8,_T("√"));
         m_ListCtrl.SetRedraw(true);
        }
       }
      }
      while(pos);
     }
     return TRUE;
    }
   }
  }
 }       
 return   CDialog::PreTranslateMessage(pMsg); 
}
 

 

分享到:
评论

相关推荐

    埃斯顿量产伺服控制器:TMS320F2系列C代码、硬件图纸及全套技术方案

    内容概要:本文详细介绍了埃斯顿基于TMS320F28335 DSP和Lattice FPGA的伺服控制器技术。首先探讨了DSP部分的C语言代码架构,重点在于电机参数自动识别、电流电压反馈获取等功能。接着阐述了FPGA部分的VHDL代码,特别是编码器信号处理。硬件方面,涵盖了AD电路、主控板、显示板和驱动板的设计要点,强调了PCB布局的重要性。此外,文中还提到了伺服控制器的特色功能,如电机参数自动识别、低频振动抑制和通讯功能(MODBUS、CANopen)。最后讨论了量产技术生产方案,包括测试流程和成本控制措施。 适合人群:具有一定嵌入式开发经验和电机控制基础知识的研发人员和技术爱好者。 使用场景及目标:适用于希望深入了解伺服控制系统内部工作原理的人群,尤其是那些想要掌握DSP+C语言+FPGA联合开发技巧的工程师。目标是通过学习该伺服控制器的具体实现方法,提升自身在嵌入式系统设计方面的技能。 其他说明:文中提供了丰富的代码片段和硬件设计细节,有助于读者更好地理解和实践。同时提醒读者,由于涉及较多专业知识,初学者可能需要更多前置学习才能完全掌握相关内容。

    EPS模型MATLAB/Simulink下的电动助力转向系统控制系统与PID控制算法的回正控制策略及软件在环仿真测试

    内容概要:本文详细介绍了电动助力转向系统(EPS)在MATLAB/Simulink中的建模与仿真过程。首先讨论了被控系统的建模,包括电机模型、减速机构以及扭矩传感器的数学表达。接着深入探讨了PID控制算法的具体实现及其参数调整方法,特别强调了增量式PID的应用和抗积分饱和措施。随后讲解了回正控制策略的设计思路,利用状态机和二维查表来优化不同车速下的回正性能。最后分享了软件在环仿真的实践经验,包括自动化测试场景构建和参数优化技巧。 适合人群:从事汽车电子、底盘控制领域的工程师和技术人员,尤其是对电动助力转向系统感兴趣的开发者。 使用场景及目标:帮助读者掌握EPS系统的控制原理,学会使用MATLAB/Simulink进行相关建模和仿真,提高对PID控制算法的理解和应用能力,从而更好地应用于实际工程项目中。 其他说明:文中提供了大量实用的代码片段和调试经验,有助于加速开发进程并确保系统稳定性。此外,还提到了一些常见的陷阱和解决方案,使读者能够避免常见错误。

    基于Matlab的主动配电网实时无功优化:应用多目标粒子群算法及IEEE33算例仿真

    内容概要:本文详细介绍了基于Matlab实现主动配电网实时无功优化的方法,重点探讨了多目标粒子群算法(MOPSO)在风电和光伏接入背景下的应用。主要内容包括MOPSO算法的工作原理及其参数设置,如粒子数量、学习因子、惯性权重等;数据加载流程,涵盖负荷、光伏和风电数据;MOPSO算法的具体实现步骤,包括迭代更新粒子位置和速度;计算与绘图环节,用于展示优化前后电网的运行状况;以及结果计算与返回,验证优化效果。文中还讨论了如何通过调整算法参数和引入约束条件来提高优化性能,确保电网的稳定性和高效运行。 适合人群:从事电力系统研究和技术开发的专业人士,尤其是关注可再生能源接入对配电网影响的研究人员和工程师。 使用场景及目标:适用于电力系统的规划、运行和调度阶段,旨在通过优化无功补偿器参数和变压器变比,减少网损和电压偏差,从而提高电网的稳定性和能源利用率。 其他说明:文章不仅提供了详细的代码示例,还分享了许多实践经验,如惯性权重的动态调整、风光出力的实时处理、并行计算加速等,为实际应用提供了宝贵的指导。

    javassist-3.23.2-GA.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    跨平台移动应用开发_React-Native框架_腾讯云播放器SDK集成_实现高性能视频播放组件_支持多种视频格式与流媒体协议_包含完整播放控制功能_提供清晰度切换与弹幕支持_适用.zip

    跨平台移动应用开发_React-Native框架_腾讯云播放器SDK集成_实现高性能视频播放组件_支持多种视频格式与流媒体协议_包含完整播放控制功能_提供清晰度切换与弹幕支持_适用

    智能硬件安全_Android系统Root技术_Python自动化脚本开发_小天才电话手表一键Root工具_支持711和810机型Root_内置超级恢复功能_提供工具箱辅助_简化Ro.zip

    智能硬件安全_Android系统Root技术_Python自动化脚本开发_小天才电话手表一键Root工具_支持711和810机型Root_内置超级恢复功能_提供工具箱辅助_简化Ro

    多摩川绝对值编码器STM32F103通信源码及硬件实现方案(原理图+PCB+程序+说明书)”

    内容概要:本文详细介绍了使用STM32F103与多摩川绝对值编码器进行高效通信的设计方案。首先探讨了硬件设计的关键要点,如隔离电路、PCB布局、电平转换等,确保通信的稳定性和可靠性。接着深入讲解了DMA双缓冲技术和CRC校验的实现方法,解决了高波特率下的数据丢失和校验效率问题。最后分享了多个实战经验和调试技巧,包括上电时序、接地环路处理以及高频通信中的常见问题解决办法。 适合人群:从事嵌入式系统开发、伺服控制系统设计的专业工程师和技术爱好者。 使用场景及目标:适用于需要实现高可靠性和高性能编码器通信的项目,如工业自动化设备、精密机械控制等领域。目标是帮助开发者掌握高效的通信设计方案,提高系统的稳定性和性能。 其他说明:文中提供了详细的代码示例和硬件设计建议,附带完整的工程文件和测试数据,便于读者快速理解和应用。

    无人值守智能污水处理控制系统:威纶通触摸屏与西门子PLC联动实践一年多稳定运行经验分享

    内容概要:本文详细介绍了利用威纶通触摸屏和西门子200smart PLC构建的无人值守污水处理控制系统。系统通过PLC编程实现了对污水处理各环节的精确控制,包括溶解氧控制、污泥回流控制、液位监测等。触摸屏则用于实时监控和人机交互,提供了丰富的图形化界面和智能化的操作方式。文中展示了多个具体的编程实例和技术细节,如梯形图逻辑、VBScript脚本以及故障自诊断模块的设计。此外,系统还集成了多种优化措施,如根据季节和天气动态调整参数、采用加权平均算法处理传感器数据冲突等,确保了系统的高效性和稳定性。 适合人群:从事工业自动化、污水处理领域的工程师和技术人员。 使用场景及目标:适用于需要高可靠性、低维护成本的污水处理应用场景。目标是实现污水处理过程的自动化管理,减少人工干预,提高处理效率和质量。 其他说明:本文不仅提供了详细的系统设计方案,还包括了许多实际调试经验和优化技巧,对于理解和实施类似的自动化控制系统具有很高的参考价值。

    aws-java-sdk-s3-1.12.265.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    thymeleaf-2.0.17.jar中文-英文对照文档.zip

    # 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    S7-1200 PLC改造No.173 M7120型平面磨床电气控制系统:带解释梯形图接线原理图及IO分配组态画面

    内容概要:本文详细介绍了将No.173 S7-1200 MCGS M7120型平面磨床的继电器逻辑控制改为PLC控制的具体方法。主要内容涵盖PLC基本原理、梯形图设计、接线图与原理图绘制、IO分配、组态画面设计等方面。通过具体实例,如启动、停止、急停等功能的实现,展示了PLC改造的优势,包括灵活性、可靠性、维护简便性等方面的提升。此外,文中还涉及了一些实际调试中的问题及其解决方案,如模拟量模块抖动、限位开关逻辑异常等。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是有一定PLC编程基础的人群。 使用场景及目标:适用于需要将传统继电器控制系统升级为现代化PLC控制系统的场合。主要目标是提高生产设备的自动化水平、生产效率和安全性。 其他说明:文章不仅提供了理论指导,还包括大量实际案例和代码片段,有助于读者更好地理解和应用PLC改造技术。

    mybatis-3.0.1.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    ELM时间序列预测Matlab代码

    内容概要:本文详细介绍了基于极限学习机(ELM)的单变量时间序列数据预测方法,并提供了完整的Matlab代码实现。首先解释了ELM的基本原理,即通过随机生成输入层与隐层之间的权重和偏置,仅需计算输出层权重,从而提高学习效率。接着展示了如何生成模拟的时间序列数据,并将其划分为训练集和测试集。随后逐步讲解了ELM模型的训练过程,包括设置参数、计算隐层输出矩阵以及最终确定输出权重。之后演示了如何使用训练好的模型对测试集进行预测,并通过均方误差(MSE)评估预测效果。最后讨论了实际应用中的注意事项,如调整参数、数据预处理(归一化)、处理噪声等,以提升预测精度。 适用人群:对机器学习尤其是时间序列预测感兴趣的初学者和有一定编程基础的研究人员。 使用场景及目标:适用于需要快速高效的单变量时间序列预测任务,如金融市场的股价预测、气象预报等领域。目标是帮助读者掌握ELM的工作原理及其在Matlab环境下的具体实现。 其他说明:文中还提到了一些改进措施,如增加隐藏层数量、改变激活函数、采用集成学习等,以应对不同应用场景的需求。同时强调了数据预处理的重要性,特别是在处理真实世界数据时。

    winmm钢琴程序代码QZQ.txt

    winmm钢琴程序代码QZQ

    煤采空区聚集瓦斯现象图

    内容概要:本文详细介绍了利用COMSOL软件对采空区煤自然环境下的瓦斯运移进行模拟的研究。研究建立了三维几何模型并设置了合理的网格划分,通过多物理场耦合(如热传导、流体力学)精确捕捉瓦斯在不同深度的扩散和聚集过程。重点关注了距底面4米和14米处的截面,展示了瓦斯含量和温度的分布情况及其受温度梯度、渗透率等因素的影响。同时,文中还涉及了关键参数设置、数据可视化以及现场监测数据与模拟结果的对比分析。 适合人群:从事矿山安全工程、地质勘探、瓦斯治理等相关领域的研究人员和技术人员。 使用场景及目标:①帮助理解和预测采空区内瓦斯的运移规律;②为制定有效的瓦斯治理措施提供理论依据和技术支持;③优化矿井通风系统设计,保障煤矿生产的安全性。 其他说明:文章不仅提供了详细的建模和仿真流程,还包括了一些实用技巧,如实时监控特定点参数变化的方法,有助于提高模拟效率和准确性。此外,强调了网格划分、边界条件处理等细节对结果的重要影响。

    S7-1500与TP1500 PID温控与压力调节的完整应用案例:包含PLC与触摸屏通讯程序及STL语言编程详解

    内容概要:本文详细介绍了基于S7-1500 PLC和TP1500触摸屏的PID温度压力调节系统的应用案例。首先解释了PID控制的基础概念及其在S7-1500中的具体实现方法,包括使用FB41功能块进行温度调节的具体参数设置。接着探讨了S7-1500 PLC间的通讯机制,展示了如何利用STL语言编写通讯程序段,确保不同PLC之间的高效数据交换。此外,还讨论了TP1500触摸屏与PLC的交互方式,如变量关联和监控画面的设计,使得操作员能够便捷地监控和调整系统参数。文中提供了丰富的代码实例和技术细节,有助于深入理解S7-1500的强大功能及其在工业自动化领域的应用。 适合人群:从事工业自动化控制的技术人员,尤其是熟悉西门子PLC编程并希望深入了解S7-1500系列产品的工程师。 使用场景及目标:适用于需要构建稳定可靠的温度压力调节系统的工业环境,如钢铁厂、化工厂等。通过学习本文,读者可以掌握PID控制的基本原理、PLC编程技巧以及触摸屏与PLC的交互设计,从而提高项目的实施效率和质量。 其他说明:文中提到的一些关键技术和编程技巧对于解决实际工程中的难题非常有价值,例如PID参数整定、硬件联调等问题。同时,提供的代码示例可以直接应用于类似场景,减少了重复开发的工作量。

    三菱Fx PLC主从站编程及联网方法总结:含模拟量模块、触摸屏及扩展模块的实用编程技巧

    内容概要:本文详细介绍了三菱FX系列PLC在工业现场控制中的主从站联网配置、编程技巧以及实际应用案例。主要内容涵盖硬件配置选择、通信参数设置、数据交换方式、模拟量模块处理、触摸屏交互逻辑、扩展模块地址分配等方面。文中提供了具体的编程代码示例,强调了通信稳定性、数据传输准确性以及系统容错能力的设计思路。作者通过多个项目的实践经验,总结出一套行之有效的PLC联网方案,确保系统长期稳定运行。 适合人群:从事工业自动化控制领域的工程师和技术人员,尤其是对三菱FX系列PLC有一定了解并希望深入掌握其联网技术和编程技巧的人群。 使用场景及目标:适用于需要构建稳定可靠PLC网络的工业控制系统项目,如污水处理、化工生产、仓储输送等领域。目标是帮助工程师快速搭建并优化PLC联网系统,提高系统的稳定性和可靠性。 其他说明:文中提到的技术细节和编程技巧均基于作者的实际项目经验,具有较高的实用价值。对于初学者来说,可以作为入门指南;对于有经验的工程师,则可以提供新的思路和改进方向。

    scratch少儿编程逻辑思维游戏源码-关卡传奇.zip

    scratch少儿编程逻辑思维游戏源码-关卡传奇.zip

    JS数据结构-数组-思维导图

    JS数据结构-数组-思维导图

    电-气-热综合能源系统耦合优化调度模型:细致详细的MATLAB YALMIP+cplex gurobi仿真平台下的调度策略与案例分析

    内容概要:本文详细介绍了利用MATLAB实现电-气-热综合能源系统耦合优化调度的模型与代码。该模型涵盖了电网、气网和热网的耦合关系,通过模块化设计分别处理各个网络的关键组件。电网部分采用了直流潮流计算,气网部分对Weymouth方程进行了线性化处理,热网部分引入了动态调整的热电比约束。模型的目标是最小化三网总成本,并通过CPLEX求解器进行优化。结果表明,该模型能够显著降低系统总成本并提高资源利用率。 适合人群:从事综合能源系统研究的科研人员、高校师生以及相关领域的工程师。 使用场景及目标:适用于研究和实际工程项目中,用于优化电-气-热综合能源系统的调度策略,提升系统效率和经济性。 其他说明:代码结构清晰,变量命名规范,数据来源可靠,适合初学者学习和高级用户进一步开发。

Global site tag (gtag.js) - Google Analytics