列表控件

列表相关的类:CListCtrl-父类是CWnd,本质是一个控件; CListView-父类是CView,本质是一个视图。相当于在视图中嵌入了一个CListCtrl控件

列表控件的使用

  • 1.1 显示方式:LVS_ICON/LVS_SMALLICON/LVS_LIST/LVS_REPORT
  • 1.2 图标:CListCtrl::SetImageList;CListCtrl::GetImageList
  • 1.3 设置列:CListCtrl::InsertColumn
  • 1.4 数据的添加:CListCtrl::InsertItem-插入数据项;CListCtrl::SetItemText-设置数据项的文本
  • 1.5 遍历数据项:CListCtrl::GetFirstSelectedItemPosition; CListCtrl::GetNextSelectedItem; CListCtrl::GetSelectedCount
  • 1.6 数据项的删除:CListCtrl::DeleteItem-删除指定索引的数据项;CListCtrl::DeleteAllItems-删除所有项;CListCtrl::DeleteColumn-删除指定列
  • 1.7 查找:CListCtrl::FindItem
  • 1.8 附加数据:CListCtrl::SetItemData;CListCtrl::GetItemData

实例:新建MFC基于对话框的工程MFCList;关键代码

[cpp]
view plaincopyprint?
  1. void CMFCListDlg::DoDataExchange(CDataExchange* pDX)
  2. {
  3. CDialogEx::DoDataExchange(pDX);
  4. DDX_Control(pDX, IDC_COMBO1, m_wndStyle);//添加下拉列表框的关联控件变量
  5. DDX_Control(pDX, IDC_LIST1, m_wndList);//添加列表控件的关联控件变量
  6. }
  7. BEGIN_MESSAGE_MAP(CMFCListDlg, CDialogEx)
  8. ON_WM_SYSCOMMAND()
  9. ON_WM_PAINT()
  10. ON_WM_QUERYDRAGICON()
  11. ON_BN_CLICKED(IDC_BUTTON_Seclect, &CMFCListDlg::OnBnClickedButtonSeclect)//"获取选择项"控件的双击事件
  12. ON_BN_CLICKED(IDC_BUTTON_Delete, &CMFCListDlg::OnBnClickedButtonDelete)//"删除选择项"控件 的双击事件
  13. ON_CBN_SELCHANGE(IDC_COMBO1, &CMFCListDlg::OnCbnSelchangeCombo1)//下拉列表框的选择项改变事件
  14. ON_NOTIFY(NM_DBLCLK, IDC_LIST1, &CMFCListDlg::OnNMDblclkList1)//列表控件的双击项事件
  15. END_MESSAGE_MAP()
  16. //BOOL CMFCListDlg::OnInitDialog()调用下列代码
  17. //初始化列表控件
  18. InitListCtrl();
  19. m_wndStyle.InsertString(0,L"图标(ICON)");
  20. m_wndStyle.InsertString(1,L"小图标(SMALL ICON)");
  21. m_wndStyle.InsertString(2,L"列表(LIST)");
  22. m_wndStyle.InsertString(3,L"报表(REPORT)");
  23. m_wndStyle.SetCurSel(0);
  24. //"获取选择项"控件的双击事件
  25. void CMFCListDlg::OnBnClickedButtonSeclect()
  26. {
  27. POSITION pos=m_wndList.GetFirstSelectedItemPosition();
  28. while(pos)
  29. {
  30. int nItem=m_wndList.GetNextSelectedItem(pos);
  31. MessageBox(m_wndList.GetItemText(nItem,0));//显示数据项的文本
  32. }
  33. }
  34. //"删除选择项"控件 的双击事件
  35. void CMFCListDlg::OnBnClickedButtonDelete()
  36. {
  37. LVFINDINFO info;
  38. info.flags=LVFI_STRING|LVFI_PARTIAL;
  39. info.psz=L"stu.data";
  40. int index=0;
  41. if ((index=m_wndList.FindItem(&info))!=-1)
  42. {
  43. m_wndList.DeleteItem(index);
  44. }
  45. }
  46. //下拉列表框的选择项改变事件
  47. void CMFCListDlg::OnCbnSelchangeCombo1()
  48. {
  49. int nSel=m_wndStyle.GetCurSel();
  50. switch (nSel)
  51. {
  52. case 0://图标
  53. m_wndList.ModifyStyle(LVS_SMALLICON|LVS_LIST|LVS_REPORT,LVS_ICON);
  54. break;
  55. case 1://小图标
  56. m_wndList.ModifyStyle(LVS_ICON|LVS_LIST|LVS_REPORT,LVS_SMALLICON);
  57. break;
  58. case 2://列表
  59. m_wndList.ModifyStyle(LVS_SMALLICON|LVS_ICON|LVS_REPORT,LVS_LIST);
  60. break;
  61. case 3://报表
  62. m_wndList.ModifyStyle(LVS_ICON|LVS_LIST|LVS_SMALLICON,LVS_REPORT);
  63. break;
  64. }
  65. }
  66. //列表控件的双击项事件
  67. void CMFCListDlg::OnNMDblclkList1(NMHDR *pNMHDR, LRESULT *pResult)
  68. {
  69. LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
  70. // TODO: 在此添加控件通知处理程序代码
  71. int nSel=pNMItemActivate->iItem;
  72. if (-1!=nSel)
  73. {
  74. CString* pPath=(CString*)m_wndList.GetItemData(nSel);
  75. //MessageBox(*pPath);
  76. ShowFile(*pPath+L"\\*.*");
  77. }
  78. *pResult = 0;
  79. }
  80. void CMFCListDlg::InitListCtrl()
  81. {
  82. //1 设置控件的图标列表
  83. CImageList* pILNormal=new CImageList;
  84. pILNormal->Create(IDB_NORMAL,32,1,RGB(0,0,0));
  85. m_wndList.SetImageList(pILNormal,LVSIL_NORMAL);
  86. //2 设置控件的小图标
  87. CImageList* pILSmall=new CImageList;
  88. pILSmall->Create(IDB_SMALL,18,1,RGB(0,0,0));
  89. m_wndList.SetImageList(pILSmall,LVSIL_SMALL);
  90. //3 设置列
  91. m_wndList.InsertColumn(0,L"名称",LVCFMT_LEFT,150);
  92. m_wndList.InsertColumn(1,L"大小",LVCFMT_LEFT,80);
  93. m_wndList.InsertColumn(2,L"类型",LVCFMT_LEFT,80);
  94. m_wndList.InsertColumn(3,L"修改日期",LVCFMT_LEFT,100);
  95. //4 插入测试数据
  96. m_wndList.InsertItem(0,L"文件",1);
  97. m_wndList.SetItemText(0,1,L"15");
  98. m_wndList.SetItemText(0,2,L"文件");
  99. m_wndList.SetItemText(0,3,L"2012-03-06");
  100. m_wndList.InsertItem(1,L"文件夹",0);
  101. m_wndList.SetItemText(1,1,L"12");
  102. m_wndList.SetItemText(1,2,L"文件夹");
  103. m_wndList.SetItemText(1,3,L"2011-03-06");
  104. //5 显示C盘根目录下的所有文件和文件夹
  105. //ShowFile(L"c:\\");
  106. //6 设置控件的背景色
  107. m_wndList.SetBkColor(RGB(200,200,200));
  108. m_wndList.SetTextColor(RGB(255,0,0));
  109. m_wndList.SetTextBkColor(CLR_NONE);
  110. //7 设置控件的背景图片
  111. m_wndList.SetBkImage(L"res\\MFCList.ico");
  112. }
  113. void CMFCListDlg::ShowFile(CString strPath)
  114. {
  115. //添加数据前,先清空原有数据
  116. m_wndList.DeleteAllItems();
  117. int index=0;//添加数据项的索引
  118. CFileFind find;
  119. BOOL bRet=find.FindFile(strPath+"*.*");
  120. while (bRet)
  121. {
  122. bRet=find.FindNextFileW();
  123. if (find.IsDirectory())
  124. {
  125. m_wndList.InsertItem(index,find.GetFileName(),0);
  126. m_wndList.SetItemText(index,2,L"文件夹");
  127. }
  128. else
  129. {
  130. m_wndList.InsertItem(index,find.GetFileName(),1);
  131. DWORD nLen=find.GetLength();
  132. CString strLen;
  133. strLen.Format(L"%d",nLen);
  134. m_wndList.SetItemText(index,1,strLen);
  135. }
  136. //保存路径
  137. CString* pPath=new CString;
  138. *pPath=find.GetFilePath();
  139. m_wndList.SetItemData(index,(DWORD)pPath);
  140. index++;
  141. }
  142. find.Close();//结束查找
  143. }
void CMFCListDlg::DoDataExchange(CDataExchange* pDX)
{CDialogEx::DoDataExchange(pDX);DDX_Control(pDX, IDC_COMBO1, m_wndStyle);//添加下拉列表框的关联控件变量DDX_Control(pDX, IDC_LIST1, m_wndList);//添加列表控件的关联控件变量
}BEGIN_MESSAGE_MAP(CMFCListDlg, CDialogEx)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON_Seclect, &CMFCListDlg::OnBnClickedButtonSeclect)//"获取选择项"控件的双击事件ON_BN_CLICKED(IDC_BUTTON_Delete, &CMFCListDlg::OnBnClickedButtonDelete)//"删除选择项"控件 的双击事件ON_CBN_SELCHANGE(IDC_COMBO1, &CMFCListDlg::OnCbnSelchangeCombo1)//下拉列表框的选择项改变事件ON_NOTIFY(NM_DBLCLK, IDC_LIST1, &CMFCListDlg::OnNMDblclkList1)//列表控件的双击项事件
END_MESSAGE_MAP()
//BOOL CMFCListDlg::OnInitDialog()调用下列代码
//初始化列表控件
InitListCtrl();
m_wndStyle.InsertString(0,L"图标(ICON)");
m_wndStyle.InsertString(1,L"小图标(SMALL ICON)");
m_wndStyle.InsertString(2,L"列表(LIST)");
m_wndStyle.InsertString(3,L"报表(REPORT)");
m_wndStyle.SetCurSel(0);//"获取选择项"控件的双击事件
void CMFCListDlg::OnBnClickedButtonSeclect()
{ POSITION pos=m_wndList.GetFirstSelectedItemPosition();while(pos){int nItem=m_wndList.GetNextSelectedItem(pos);MessageBox(m_wndList.GetItemText(nItem,0));//显示数据项的文本}
}
//"删除选择项"控件 的双击事件
void CMFCListDlg::OnBnClickedButtonDelete()
{LVFINDINFO info;info.flags=LVFI_STRING|LVFI_PARTIAL;info.psz=L"stu.data";int index=0;if ((index=m_wndList.FindItem(&info))!=-1){m_wndList.DeleteItem(index);}
}//下拉列表框的选择项改变事件
void CMFCListDlg::OnCbnSelchangeCombo1()
{ int nSel=m_wndStyle.GetCurSel();switch (nSel){case 0://图标m_wndList.ModifyStyle(LVS_SMALLICON|LVS_LIST|LVS_REPORT,LVS_ICON);break;case 1://小图标m_wndList.ModifyStyle(LVS_ICON|LVS_LIST|LVS_REPORT,LVS_SMALLICON);break;case 2://列表m_wndList.ModifyStyle(LVS_SMALLICON|LVS_ICON|LVS_REPORT,LVS_LIST);break;case 3://报表m_wndList.ModifyStyle(LVS_ICON|LVS_LIST|LVS_SMALLICON,LVS_REPORT);break;}
}
//列表控件的双击项事件
void CMFCListDlg::OnNMDblclkList1(NMHDR *pNMHDR, LRESULT *pResult)
{LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);// TODO: 在此添加控件通知处理程序代码int nSel=pNMItemActivate->iItem;if (-1!=nSel){CString* pPath=(CString*)m_wndList.GetItemData(nSel);//MessageBox(*pPath);ShowFile(*pPath+L"\\*.*");}*pResult = 0;
}void CMFCListDlg::InitListCtrl()
{//1 设置控件的图标列表CImageList* pILNormal=new CImageList;pILNormal->Create(IDB_NORMAL,32,1,RGB(0,0,0));m_wndList.SetImageList(pILNormal,LVSIL_NORMAL);//2 设置控件的小图标CImageList* pILSmall=new CImageList;pILSmall->Create(IDB_SMALL,18,1,RGB(0,0,0));m_wndList.SetImageList(pILSmall,LVSIL_SMALL);//3 设置列m_wndList.InsertColumn(0,L"名称",LVCFMT_LEFT,150);m_wndList.InsertColumn(1,L"大小",LVCFMT_LEFT,80);m_wndList.InsertColumn(2,L"类型",LVCFMT_LEFT,80);m_wndList.InsertColumn(3,L"修改日期",LVCFMT_LEFT,100);//4 插入测试数据m_wndList.InsertItem(0,L"文件",1);m_wndList.SetItemText(0,1,L"15");m_wndList.SetItemText(0,2,L"文件");m_wndList.SetItemText(0,3,L"2012-03-06");m_wndList.InsertItem(1,L"文件夹",0);m_wndList.SetItemText(1,1,L"12");m_wndList.SetItemText(1,2,L"文件夹");m_wndList.SetItemText(1,3,L"2011-03-06");//5 显示C盘根目录下的所有文件和文件夹//ShowFile(L"c:\\");//6 设置控件的背景色m_wndList.SetBkColor(RGB(200,200,200));m_wndList.SetTextColor(RGB(255,0,0));m_wndList.SetTextBkColor(CLR_NONE);//7 设置控件的背景图片m_wndList.SetBkImage(L"res\\MFCList.ico");
}void CMFCListDlg::ShowFile(CString strPath)
{//添加数据前,先清空原有数据m_wndList.DeleteAllItems();int index=0;//添加数据项的索引CFileFind find;BOOL bRet=find.FindFile(strPath+"*.*");while (bRet){bRet=find.FindNextFileW();if (find.IsDirectory()){m_wndList.InsertItem(index,find.GetFileName(),0);m_wndList.SetItemText(index,2,L"文件夹");}else{m_wndList.InsertItem(index,find.GetFileName(),1);DWORD nLen=find.GetLength();CString strLen;strLen.Format(L"%d",nLen);m_wndList.SetItemText(index,1,strLen);}//保存路径CString* pPath=new CString;*pPath=find.GetFilePath();m_wndList.SetItemData(index,(DWORD)pPath);index++;}find.Close();//结束查找
}

运行结果:

树控件

树控件相关类:CTreeCtrl-父类是CWnd,本质上是一个控件;CTreeView -父类是CView,本质是一个视图。CTreeView是在CView中嵌入了一个CTreeCtrl控件

树控件的使用

  • 2.1 设置图标:CTreeCtrl::SetImageList;CTreeCtrl::GetImageList
  • 2.2 增加节点:CTreeCtrl::InserItem增加节点,并返回节点句柄
  • 2.3 获取节点:CTreeCtrl::GetSelectedItem-获取选择的节点;CTreeCtrl::GetParentItem-获取节点的父节点;CTreeCtrl::GetRootItem-获取根节点 ...
  • 2.4 判断:CTreeCtrl::ItemHasChildren-判断节点是否有子节点
  • 2.5 删除节点:CTreeCtrl::DeleteItem-删除指定节点;CTreeCtrl::DeleteAllItems-删除所有节点
  • 2.6 附加数据:CTreeCtrl::SetItemData;CTreeCtrl::GetItemData

实例:新建MFC基于对话框的工程MFCTree;关键代码

[cpp]
view plaincopyprint?
  1. void CMFCTreeDlg::DoDataExchange(CDataExchange* pDX)
  2. {
  3. CDialogEx::DoDataExchange(pDX);
  4. DDX_Control(pDX, IDC_TREE1, m_wndTree);//增加树控件的关联控件变量
  5. }
  6. BEGIN_MESSAGE_MAP(CMFCTreeDlg, CDialogEx)
  7. ON_WM_SYSCOMMAND()
  8. ON_WM_PAINT()
  9. ON_WM_QUERYDRAGICON()
  10. ON_NOTIFY(NM_DBLCLK, IDC_TREE1, &CMFCTreeDlg::OnNMDblclkTree1)//双击树控件项的事件
  11. END_MESSAGE_MAP()
  12. //初始化树控件
  13. void CMFCTreeDlg::InitTreeControl()
  14. {
  15. //1.设置图标列表
  16. CImageList* pilNormal=new CImageList;
  17. BOOL bs=pilNormal->Create(IDB_NORMAL,16,1,RGB(1,0,0)); //IDB_NORMAL是 bitmap资源 64 x 16
  18. if (bs)
  19. {
  20. m_wndTree.SetImageList(pilNormal,TVSIL_NORMAL);
  21. }
  22. else
  23. {
  24. AfxMessageBox(L"adsfads");
  25. }
  26. m_wndTree.SetItemHeight(20);//设置行高
  27. HTREEITEM hRoot=m_wndTree.InsertItem(L"C:\\",0,2);//插入根目录
  28. ShowFile(L"c:\\",hRoot);
  29. }
  30. void CMFCTreeDlg::ShowFile(CString strPath,HTREEITEM hParent)
  31. {
  32. if (m_wndTree.ItemHasChildren(hParent))
  33. {
  34. return;
  35. }
  36. CFileFind find;
  37. BOOL bRet=find.FindFile(strPath+"\\*.*");
  38. while(bRet)
  39. {
  40. HTREEITEM hItem;
  41. bRet=find.FindNextFileW();
  42. CString strName=find.GetFileName();
  43. if (!find.IsDots())
  44. {
  45. if (find.IsDirectory())
  46. {
  47. hItem=m_wndTree.InsertItem(strName,0,2,hParent);
  48. }
  49. else
  50. {
  51. hItem=m_wndTree.InsertItem(strName,1,3,hParent);
  52. }
  53. //保存路径
  54. CString *pPath=new CString;
  55. *pPath=find.GetFilePath();
  56. m_wndTree.SetItemData(hItem,(DWORD)pPath);
  57. }
  58. }
  59. find.Close();//结束查找
  60. m_wndTree.Expand(hParent,TVE_EXPAND);//展开根节点
  61. }
  62. //树控件项的双击事件
  63. void CMFCTreeDlg::OnNMDblclkTree1(NMHDR *pNMHDR, LRESULT *pResult)
  64. {
  65. HTREEITEM hCurItem=m_wndTree.GetSelectedItem();
  66. if (hCurItem==NULL || hCurItem==m_wndTree.GetRootItem())
  67. {
  68. return;
  69. }
  70. CString* pPath=(CString*)m_wndTree.GetItemData(hCurItem);
  71. //AfxMessageBox(*pPath);
  72. ShowFile(*pPath,hCurItem);
  73. *pResult = 0;
  74. }
void CMFCTreeDlg::DoDataExchange(CDataExchange* pDX)
{CDialogEx::DoDataExchange(pDX);DDX_Control(pDX, IDC_TREE1, m_wndTree);//增加树控件的关联控件变量
}BEGIN_MESSAGE_MAP(CMFCTreeDlg, CDialogEx)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()  ON_NOTIFY(NM_DBLCLK, IDC_TREE1, &CMFCTreeDlg::OnNMDblclkTree1)//双击树控件项的事件
END_MESSAGE_MAP()//初始化树控件
void CMFCTreeDlg::InitTreeControl()
{//1.设置图标列表CImageList* pilNormal=new CImageList;BOOL bs=pilNormal->Create(IDB_NORMAL,16,1,RGB(1,0,0)); //IDB_NORMAL是 bitmap资源 64 x 16if (bs){m_wndTree.SetImageList(pilNormal,TVSIL_NORMAL);}else{AfxMessageBox(L"adsfads");}m_wndTree.SetItemHeight(20);//设置行高HTREEITEM hRoot=m_wndTree.InsertItem(L"C:\\",0,2);//插入根目录ShowFile(L"c:\\",hRoot);
}
void CMFCTreeDlg::ShowFile(CString strPath,HTREEITEM hParent)
{if (m_wndTree.ItemHasChildren(hParent)){return;}CFileFind find;BOOL bRet=find.FindFile(strPath+"\\*.*");while(bRet){HTREEITEM hItem;bRet=find.FindNextFileW();CString strName=find.GetFileName();if (!find.IsDots()){if (find.IsDirectory()){hItem=m_wndTree.InsertItem(strName,0,2,hParent);}else{hItem=m_wndTree.InsertItem(strName,1,3,hParent);}//保存路径CString *pPath=new CString;*pPath=find.GetFilePath();m_wndTree.SetItemData(hItem,(DWORD)pPath);}}find.Close();//结束查找m_wndTree.Expand(hParent,TVE_EXPAND);//展开根节点
}
//树控件项的双击事件
void CMFCTreeDlg::OnNMDblclkTree1(NMHDR *pNMHDR, LRESULT *pResult)
{ HTREEITEM hCurItem=m_wndTree.GetSelectedItem();  if (hCurItem==NULL || hCurItem==m_wndTree.GetRootItem()){return;}CString* pPath=(CString*)m_wndTree.GetItemData(hCurItem);//AfxMessageBox(*pPath);ShowFile(*pPath,hCurItem);*pResult = 0;
}

运行结果:

MFC列表控件ListControl和树控件TreeControl相关推荐

  1. MFC_C++02_模态对话框,非模态对话框,StaticText静态文本,CEditCtrl控件,ComboBox下拉框,CListCtrl控件,CTreeCtrl 树控件,TabCtrl标签控件

    01 模态对话框创建 更改标题名: 菜单栏 --> 视图->工具箱 ,找到工具箱 导入两个按钮: 准备对话框: 插入就可以了,更改名称 双击按钮,可以进入点击事件 创建控件的类:右击-&g ...

  2. MFC树控件的属性和初始化(基于对话框的编程)

    目录 一.控件属性 1.找控件Tree Control 2.Has Lines和Has Buttons属性 3.Lines At Root属性 二.代码操作Tree Control显示内容 1.添加T ...

  3. VC树控件的简单使用

    //头文件声明     CTreeCtrl m_VersionTree; //在OnInitDialog()添加 CRect rc; GetClientRect(&rc);     bool ...

  4. wxpython使用方法_python图形界面开发之wxPython树控件使用方法详解

    wxPython树控件介绍 树(tree)是一种通过层次结构展示信息的控件,如下图所示是树控件示例,左窗口中是树控件,在wxPython中树控件类是wx.TreeCtrl. wx.TreeCtrl常用 ...

  5. 【JEECG_3.7.1】Online树控件的使用

    在JEECG当中有个分类管理:  在线开发当中的树控件关联的数据信息,取自于这个分类管理.  要使用树控件,我们可以将页面属性中的控件类型选择 –"树控件"  之后即可在在线&qu ...

  6. wxpython有没有可视化设计_python图形化界面设计(wxpython)三树控件(wx.TreeCtrl)

    本篇内容来自https://www.jb51.net/article/181158.htm wxPython树控件介绍 树(tree)是一种通过层次结构展示信息的控件,如下图所示是树控件示例,左窗口中 ...

  7. java swing 禁用鼠标事件_Java学习笔记:swing中树控件,设置树节点的图标,按钮美化,鼠标事件,禁止鼠标双击...

    树控件: JTree:声明树控件 声明树的节点: DefaultMutableTreeNode dd=new DefaultMutableTreeNode("传入树节点名称"); ...

  8. MapGis二次开发——基础地图目录树控件的加载

    MapGis二次开发--基础地图目录树控件的加载 第一步:添加MapGis引用 MapGis动态库位置是在你安装位置下的\Program\plugin下,例如我的安装位置就是:D:\MapGIS 10 ...

  9. PyQt5入门(十四)树控件QTreeWidget

    目录 一.凡心所向,素履所往 二.树控件(QTreeWidget)基本用法 三.为树节点添加响应时间 四.增加,修改和删除树控件的节点 五.QTreeView控件与系统定制模式 一.凡心所向,素履所往 ...

最新文章

  1. DigitalOcean云平台的虚拟机推荐
  2. 图像处理之应用篇-大米计数续
  3. 多进程与多线程的区别 - jihite
  4. 前端学习(1976)vue之电商管理系统电商系统之解决attr_val为空
  5. C++|Java混合实验-java搭建post方法靶场,Qt发送请求获取数据
  6. 更灵活、有个性的卷积——可变形卷积(Deformable Conv)
  7. Redis基础(九)——发布与订阅
  8. hive xmlserde_各种数据格式的Hive建表语句
  9. 在windows上安装 chocolatey.1.1.0.nupkg
  10. Android开发:ZXing条码扫描-竖屏解决方案
  11. 【资源分享】ppt的模版获取-可用于转正答辩、毕业答辩、课程答辩等等
  12. “携手共建互联网安全生态”研讨会在京召开
  13. [树的直径 树形DP] UOJ #11【UTR #1】ydc的大树
  14. axure强制签入签出
  15. 让电脑键盘L键变成锁定计算机怎么办,教你电脑键盘按键错乱怎么恢复
  16. 韩国大面积断网,电信公司KT承认其配置错误,此前甩锅DDoS攻击
  17. 名额已排到10月 | Apache DolphinScheduler Meetup分享嘉宾继续火热招募中~
  18. 与 ST_Geometry 配合使用的 SQL 函数
  19. 第12周项目4—点、圆的关系
  20. undefined reference to `__isoc99_sscanf‘

热门文章

  1. cmake could not find openssl_Mac OSX系统CMake、QT5运行OpenCV 4.0
  2. caffe的python接口学习(2)生成solver文件
  3. 使用alipaySDK编译时找不到openssl/asn1.h文件的解决办法(初探)
  4. Oracle新建实例后,修改sys和system密码。
  5. 手机app常见bug积累
  6. PHP Curl transfer closed with outstanding read data remaining
  7. 离散信号经过FFT处理后,幅度,相位,功率的计算
  8. 背景全透明 background: transparent
  9. Asp.Net中虚拟文件系统的使用
  10. 密码6-12位数字和字母组成