


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MFC CListCtrl 使用介绍列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值。MFC中使用CListCtrl类来封装列表控件的各种操作。通过调用?BOOL Create( DWORD dwStyle, const RECT & rect, CWnd* pPare ntWnd,UINT nID );创建一个窗口, dwStyle中可以使用以下一些列表控件的专用风格:? LVS_ICON LVS_SMALLICON LVS_LIST LVS_REPORT 这四种风格决定控件的外观,同时只可以选择其中一种,分别对应:大图标显示,小图 标显
2、示,列表显示,详细报表显示? LVS_EDITLABELS 结点的显示字符可以被编辑,对于报表风格来讲可编辑的只为第一列。?LVS_SHOWSELALWA YS在失去焦点时也显示当前选中的结点? LVS_SINGLESEL 同时只能选中列表中一项首先你需要设置列表控件所使用的ImageList,如果你使用大图标显示风格,你就需要以如下形式调用:?CImageList* SetImageList( CImageList* pImageList, LVSIL_NORMAL);?如果使用其它三种风格显示而不想显示图标你可以不进行任何设置,否则需要以如下形式调用:?CImageList* SetIma
3、geList( CImageList* pImageList, LVSIL_SMALL);通过调用 int InsertItem( int nItem, LPCTSTR lpszItem );可以在列表控件中nItem指明位置插入一项,lpszItem为显示字符。除LVS_REPORT 风格外其他 先设置列表控件中的列信息。通过调用 int InsertColumn( int nCol, LPCTSTR IpszColumnHeading, intnFormat , int nWidth, int nSubltem);可以插入列。iCol为列的位置,从零幵始,lpszColumnHeading
4、 为显示的列名,nFormat为显示对齐方式,nWidth为显示宽度,nSubItem为分配给该列的列索引。在有多列的列表控件中就需要为每一项指明其在每一列中的显示字符,通过调用?BOOL SetItemText( int nItem, i nt nSubItem, LPTSTR lpszText );可以设置每列的显示字符。nItem为设置的项的位置,nSubItem为列位置,lpszText为显示 字符。下面的代码演示了如何设置多列并插入数据:m_list.SetlmageList(&mistSmall,LVSIL_SMALL);设置 ImageListm_list.I nsert
5、Colu mn (0,"Col 1",LVCFMT_LEFT,300,0);设置列m_list.I nsertColu mn (1,"Col 2",LVCFMT_LEFT,300,1);m_list.InsertColumn(2,"Col 3",LVCFMT_LEFT,300,2);m_list.I nsertItem(0,"Item 1_1"); 插入行m_list.SetltemText(0,1,"ltem 1_2");设置该行的不同列的显示字符m_list.SetltemText(0,2,
6、"ltem 1_3");此外CListCtrl还提供了一些函数用于得到/修改控件的状态。?COLORREF GetTextColor( )/BOOL SetTextColor( COLORREF cr ); 用于得到 / 设置显示的字符颜色。?用于COLORREF GetTextBkColor( )/BOOL SetTextBkColor( COLORREF cr );得到/设置显示的背景颜色。?void SetItemCo unt( int iCou nt ); 用于得到添加进列表中项的数量。?BOOL Deleteltem(i nt nltem); 用于删除某一项,BO
7、OL DeleteAllltems();将删除所有项。?BOOL SetBklmage(HBITMAP hbm, BOOL fTile , i nt xOffsetPerce nt, i nt yOffsetPercent);用于设置背景位图。?CStri ng GetItemText( int nItem, i nt nSubItem );用于得到某项的显示字符。列表控件的消息映射同样使用ON_NOTIFY宏,形式如同:ON_NOTIFY( wNotifyCode, id, memberFxn ),wNotifyCode 为通知代码,id 为产生该消息的窗口 ID,memberFxn为处理函
8、数,函数的原型如同 voidOnXXXList(NMHDR* pNMHDR, LRESULT* pResult),其中 pNMHDR 为一数据结构,在具体使用时需要转换成其他类型的结构。对于列表控件可能取值和对应的数据结构为:? LVN_BEGINLABELEDIT在幵始某项编辑字符时发送,所用结构:NMLVDISPINFO? LVN_ENDLABELEDIT 在结束某项编辑字符时发送,所用结构:NMLVDISPINFO? LVN_GETDISPINFO 在需要得到某项信息时发送,(如得到某项的显示字符)所用结构:NMLVDISPINFO关于ON_NOTIFY有很多内容,将在以后的内容中进行详
9、细讲解。LPSTR_TEXTCALLBACK 。在控件显示该结点时会通过发送TVN_GETDISPINFO 来取得所需要的字符,在处理该消息时先将参数pNMHDR 转换为 LPNMLVDISPINFO,然后填充其中 item.pszText。通过 item中的iltem,iSubltem可以知道当前显示的为那一项。下面的代码演示了这种方法:char szOut83="No.1","No.2","No.3"添加结点m_list.I nsertltem(LPSTR_TEXTCALLBACK,.)m_list.I nsertltem(LPS
10、TR_TEXTCALLBACK,.)处理消息void CPare ntWnd:O nGetDispI nfoList(NMHDR* pNMHDR, LRESULT*pResult)LV_DISPINFO* pLVDI = (LV_DISPINFO*)pNMHDR;pLVDI->item.pszText二szOutpTVDI->item.iltem;通过 iltem 得到需要显示的字符在数组中的位置*pResult = 0;关于编辑某项的显示字符:(在报表风格中只对第一列有效)首先需要设置列表控件的LVS_EDITLABELS风格,在幵始编辑时该控件将会发送LVN_BEGINLABE
11、LEDIT ,你可以通过在处理函数中返回TRUE来取消接下来的编辑,在编辑完成后会发送 LVN_ENDLABELEDIT ,在处理该消息时需要将 参数pNMHDR转换为LPNMLVDISPINFO,然后通过其中的item.pszText得到的代码说明如何处理这些消息:/ 处理消息 LVN_BEGINLABELEDITvoid CPare ntWnd:O nBegi nEditList(NMHDR* pNMHDR, LRESULT* pResult)LV_DISPINFO* pLVDI = (LV_DISPINFO*)pNMHDR;if(pLVDI->item.iltem=O); 判断是否
12、取消该操作*pResult = 1;else*pResult = 0;/ 处理消息 LVN_BEGINLABELEDITvoid CPare ntWnd:O nBegi nEditList(NMHDR* pNMHDR, LRESULT* pResult)LV_DISPINFO* pLVDI = (LV_DISPINFO*)pNMHDR;if(pLVDI->item.pszText=NULL); 判断是否已经取消取消编辑m_list.SetltemText(pLVDI->item.iltem,0,pLVDI->pszText);重置显示字符*pResult = 0;上面讲述的方
13、法所进行的消息映射必须在父窗口中进行(同样 WM_NOTIFY的所有消息都需要在父窗口中处理)。如何得到当前选中项位置:在列表控件中没有一个类似于ListBox中GetCurSel()的函数,但是可以通过调用GetNextItem( -1, LVNI_ALL | LVNI_SELECTED);得到选中项位置。下面是一些例子作者:lixiaosan?时间:04/06/2006以下未经说明,listctrl默认view风格为report 相关类及处理函数MFC : CListCtrl 类SDK :以 “ ListView_开头的一些宏。女口ListViewnsertColumn1. CListCt
14、rl 风格? LVS_ICON: 为每个item显示大图标?? LVS_SMALLICON: 为每个item显示小图标?? LVS_LIST: 显示一列带有小图标的item? LVS_REPORT:显示 item 详细资料?直观的理解:windows资源管理器, 查看”标签下的 大图标,小图标, 列表,详细资料”2. 设置listctrl风格及扩展风格? LONG lStyle;? lStyle. = GetWi ndowLo ng(mist.m_hWnd, GWL_ST YLE);/获取当前窗口 style? lStyle. &二LVS_TYPEMASK; /清除显示方式位?? IS
15、tyle.|= LVS_REPORT; / 设置 style? SetWindowLong(mst.m_hWnd, GWL_STYLE, lStyle);/设置 style? DWORD dwStyle. = mst.GetExte ndedStyle();? dwStyle.|= LVS_EX_FULLROWSELECT;选中某行使整行高亮(只适用与 report 风格的 listctrl)? dwStyle.|= LVS_EX_GRIDLINES;网格线(只适用与 report 风格的listctrl) ? dwStyle.|= LVS_EX_CHECKBOXES;/item 前生成 ch
16、eckbox 控件? m_list.SetExte ndedStyle(dwStyle); /设置扩展风格?注:listview 的 style 请查阅 msdn?/wceshellui5/html/wce50lrflistviewstyles.asp3. 插入数据? m_list.InsertColumn( 0, "ID", LVCFMT_LEFT, 40 );/ 插入列? m_list.I nsertColu mn( 1, "NAME", LVCFMT_LEFT, 50 );? int nRow = mst.Insertltem(0,插入行” );/
17、? m_list.SetltemText( nRow, 1,“ ja 设置数据4. 一直选中item选中style中的Show selection always ,或者在上面第 2点中设置 LVS_SHOWSELALWA YS5. 选中和取消选中一行? int nln dex = 0;? /选中?? m_list.SetltemState( nln dex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);? /取消选中?? m_list.SetItemState( nln dex, 0, LVIS_SELECTED|LVIS_F
18、OCUSED);6. 得到listctrl中所有行的checkbox 的状态? m_list.SetExte ndedStyle(LVS_EX_CHECKBOXES);? CStri ng str;? for(i nt i=0; i<m_list.GetItemCou nt(); i+)? ? if( m_list.GetItemState(i, LVIS_SELECTED)=LVIS_SELECTED | mst.GetCheck(i)? ? str.Format(_T(" 第%d 行的 checkbox 为选中状态"),i);? AfxMessageBox(str
19、);? ? 7. 得到listctrl中所有选中行的序号?方法一:?? CStri ng str;? for(i nt i=0; i<m_list.GetltemCou nt(); i+)? ? if( m_list.GetltemState(i, LVIS_SELECTED)=LVIS_SELECTED )? str.Format(_T("选中了第 %d 行"),i);? AfxMessageBox(str);? ? ?方法二:?? POSITION pos = mst.GetFirstSelectedltemPositio n();? if (pos = NULL
20、)? TRACE0("No items were selected!n");? else? ? while (pos)? ? int nItem = m_list.GetNextSelectedltem(pos);? TRACE1("Item %d was selected!n", n Item);? / you could do your own process ing on nItem here? ? ? 8. 得到item的信息? TCHAR szBuf1024;? LVITEM lvi;? lvi.iItem = nItemI ndex;? Iv
21、i.iSubltem = 0;? lvi.mask = LVIF_TEXT;? lvi.pszText = szBuf;? Ivi.cchTextMax = 1024;? mst.GetItem(&l vi);?关于得到设置item的状态,还可以参考 msdn文章?? Q173242: Use Masks to Set/Get Item States in CListCtrl?9. 得到listctrl的所有列的header字符串内容? LVCOLUMN Ivcol;? char str256;? int? nColNum;? CString strColumnName4;假如有 4
22、列? n ColNum = 0;? lvcol.mask = LVCF_TEXT;? lvcol.pszText = str;? Ivcol.cchTextMax = 256;? while(m_list.GetColu mn(n ColNum, & Ivcol)? ? strColu mnN ame nColNum = lvcol.pszText;? n ColNum+;? 10. 使listctrl中一项可见,即滚动滚动条? m_list.EnsureVisible(i, FALSE);11. 得到listctrl列数? int nHeadNum = m_list.GetHeade
23、rCtrl()->GetltemCou nt();12. 删除所有列?方法一:?? while ( mst.DeleteColu mn (0)?因为你删除了第一列后,后面的列会依次向上移动。?方法二:?? int n Colu mns = 4;? for (i nt i=n Colum ns-1; i>=0; i-)? m_list.DeleteColumn (i);13. 得到单击的listctrl的行列号? 添加listctrl控件的NM_CLICK消息相应函数?? void CTest6Dlg:O nClickList1(NMHDR* pNMHDR, LRESULT* pRe
24、sult)? ? / 方法一:? /*? DWORD dwPos = GetMessagePos();? CPoi nt poi nt( LOWORD(dwPos), HIWORD(dwPos) );? mst.Scree nToClie nt(&poi nt);? LVHITTESTINFO Ivin fo;? Ivin fo.pt = poi nt;? Ivin fo.flags = LVHT_ABOVE;?int nItem = m_list.SubltemHitTest(&lvinfo);? if(nItem != -1)? ? CStri ng strtemp;? s
25、trtemp.Format(” 单击的是第 %d 行第 %d 列",lvinfo.iltem,lvi nfo.iSubltem);? AfxMessageBox(strtemp);? ? */? / 方法二:? /*? NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;? if(pNMListView->iltem != -1)? ? CStri ng strtemp;? strtemp.Format("单击的是第 %d 行第 %d 列",? pNMListView->iItem, pNMListView-
26、>iSubltem);? AfxMessageBox(strtemp);? ? */? *pResult = 0;? 14. 判断是否点击在 listctrl的checkbox 上? 添加listctrl控件的NM_CLICK消息相应函数?? void CTest6Dlg:O nClickList1(NMHDR* pNMHDR, LRESULT* pResult)? ? DWORD dwPos = GetMessagePos();? CPoi nt poi nt( LOWORD(dwPos), HIWORD(dwPos) );? mst.Scree nToClie nt(&poi
27、 nt);? LVHITTESTINFO Ivin fo;? Ivin fo.pt = poi nt;? Ivin fo.flags = LVHT_ABOVE;? UINT nFlag;? int nItem = m_list.HitTest(point, &nFlag);? /判断是否点在checkbox上? if(n Flag = LVHT_ONITEMSTATEICON)? AfxMessageBox(" 点在 listctrl 的 checkbox 上");? ? *pResult = 0;? 15. 右键点击listctrl的item 弹出菜单? 添加li
28、stctrl控件的NM_RCLICK 消息相应函数?? void CTest6Dlg:O nRclickList1(NMHDR* pNMHDR, LRESULT* pResult)? ? NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;? if(pNMListView->iltem != -1)? ? DWORD dwPos = GetMessagePos();? CPoi nt point( LOWORD(dwPos), HIWORD(dwPos) );? CMenu menu;? VERIF Y( menu .LoadMe nu( ID
29、R_MENU1 ) );? CMe nu* popup = men u.GetSubMe nu(O);? ASSERT( popup != NULL );? popup->TrackPopupMe nu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, poi nt.x, poi nt.y, this );? ? *pResult = 0;?16. item切换焦点时(包括用键盘和鼠标切换item时),状态的一些变化顺序? 添加listctrl控件的LVN_ITEMCHANGED 消息相应函数?? void CTest6Dlg:O nl temcha ngedList1(
30、NMHDR* pNMHDR, LRESULT* pResult)? ? NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;? / TODO: Add your control notification han dler code here? ? CStri ng sTemp;? if(pNMListView->uOldState & LVIS_FOCUSED)= LVIS_FOCUSED &&? (pNMListView->uNewState & LVIS_FOCUSED) = 0)? ? sTemp.F
31、ormat("%d losted focus",pNMListView->iltem);? ? else if(pNMListView->uOldState & LVIS_FOCUSED) = 0 &&? ? (pNMListView->uNewState & LVIS_FOCUSED)= LVIS_FOCUSED)? sTemp.Format("%d got focus",pNMListView->iltem);? ? if(pNMListView->uOldState & LVIS
32、_SELECTED)= LVIS_SELECTED &&? (pNMListView->uNewState & LVIS_SELECTED) = 0)? ? sTemp.Format("%d losted selected",pNMListView->iltem);? ? else if(pNMListView->uOldState & LVIS_SELECTED) = 0 &&? ? (pNMListView->uNewState & LVIS_SELECTED)= LVIS_SELECTED
33、)? ? sTemp.Format("%d got selected",pNMListView->iltem);? ? *pResult = 0;? 17. 得到另一个进程里的listctrl控件的item内容18. 选中 listview 中的 itemQ131284: How To Select a Listview Item Programmatically?19. 如何在 CListView 中使用CListCtrl的派生类20. listctrl 的 subitem 添加图标? m_list.SetExte ndedStyle(LVS_EX_SUBITEMI
34、MAGES);? m_list.Setltem(.); / 具体参数请参考 msdn?网上找到的代码,share? BOOL CTest6Dlg:O nln itDialog()? ? CDialog:O nln itDialog();? HIMAGELIST himlSmall;? HIMAGELIST himlLarge;? SHFILEINFO sfi;? char cSysDirMAX_PATH;? CStri ng strBuf;? memset(cSysDir, 0, MAX_PATH);? GetWi ndowsDirectory(cSysDir, MAX_PATH);? str
35、Buf = cSysDir;? spri ntf(cSysDir, "%s", strBuf.Left(strBuf.Fi nd("")+1);? himlSmall = (HIMAGELIST)SHGetFileI nfo (LPCSTR)cSysDir,? &sfi,? sizeof(SHFILEINFO),? SHGFI_S YSICONINDEX | SHGFI_SMALLICON );? himlLarge = (HIMAGELIST)SHGetFileI nfo(LPCSTR)cSysDir,? &sfi,? siZeof(S
36、HFILEINFO),? SHGFI_S YSICONINDEX | SHGFI_LARGEICON);? if (himlSmall && himlLarge)? ? :Se ndMessage(mst.m_hWnd, LVM_SETIMAGELIST,? ? (WPARAM)LVSIL_SMALL, (LPARAM)himlSmall);? :Se ndMessage(mst.m_hWnd, LVM_SETIMAGELIST,? ? (WPARAM)LVSIL_NORMAL, (LPARAM)himlLarge);?-? ? return TRUE; / return TR
37、UE unless you set the focus to a con trol? ? void CTest6Dlg:AddFiles(LPCTSTR lpszFileName, BOOL bAddToDocume nt)? ? int nlcon 二 GetIco nln dex (l pszFileName, FALSE, FALSE);? CStri ng strSize;? CFileFind filefind;? / get file size? if (fiiefind.FindFile(lpszFileName)? ? filefi nd.Fi ndNextFile();? s
38、trSize.Format("%d", filefind.GetLength();? ? else? strSize = "0"? / split path and file name? CStri ng strFileName = lpszFileName;? CString strPath;? int n Pos = strFileName.ReverseFi nd('');? if (n Pos != -1)? ? strPath = strFileName.Left (n Pos);? strFileName = strFileN
39、ame.Mid( nPos + 1);? ? / i nsert to list? int nItem = m_list.GetltemCou nt();? m_list.I nsertltem( nltem, strFileName, nIc on);? m_list.SetltemText(nItem, 1, strSize);? m_list.SetltemText(nItem, 2, strFileName.Right(3);? m_list.SetItemText( nltem, 3, strPath);? ? int CTest6Dlg:Getlco nln dex(LPCTSTR
40、 lpszPath, BOOL blsDir, BOOL bSelected)? ? SHFILEINFO sfi;? memset(&sfi, 0, sizeof(sfi);? if (blsDir)? ? SHGetFile In fo(lpszPath,? FILE_ATTRIBUTE_DIRECTOR Y,? &sfi,? sizeof(sfi),? SHGFI_SMALLICON |SHGFI_S YSICONINDEX |? SHGFI_USEFILEATTRIBUTES |(bSelected ?SHGFI_OPENICON : 0);? return sfi.i
41、lco n;? ? else? ? SHGetFile Info (lpszPath,? FILE_ATTRIBUTE_NORMAL,? &sfi,? sizeof(sfi),? SHGFI_SMALLICON |SHGFI_S YSICONINDEX |? SHGFI_USEFILEATTRIBUTES | (bSelected SHGFI_OPENICON : 0);? return? sfi.iIcon;? ? retur n -1;? 转自:VC CListCtrl的使用完全指南2008-04-12 14:46创建图形列表并和 CListCtrl关联:?mm age_list.
42、Create(IDB_CALLER2, 16, 10, RGB(192,192, 192);?mm age_list.SetBkColor( GetSysColor( COLOR_WINDOW ) );? m_caller_list.SetlmageList( &mm age_list, LVSIL_SMALL);为报表添加4列:?? char *szColumn="昵称","IP 地址","登陆时间","状态"? int widths=100,98,70,55;? LV_COLUMN lvc;? Ivc.
43、mask二LVCF_FMT|LVCF_WIDTH|LVCF_TEXT|LVCF_SUBITEM;? Ivc.fmt二LVCFMT_LEFT;? for(int i=0;i<4;i+) / 插入各列? Ivc.pszText二szColu mn i;? lvc.cx=widthsi;? Ivc.iSubltem二i;?m_caller_list .In sertColu mn (i,&lvc);? 为报表添加两项,以附加方式添加:?char* data4;?data0="所有人"?data3="在线"?data2二new char;?CTim
44、e now二CTime:GetCurre ntTime();? CStri ng temp = now.Format("%H:%M:%S");? data2=temp.GetBuffer(1);?LV_ITEM lvi;?Ivi.mask二LVIF_TEXT|LVIFM AGE|LVIF_PARAM;?lvi.iSubltem=O;?lvi.pszText=(char *)data0;?lvi.iImage = 0;?lvi.iItem=0;?m_caller_list.I nsertItem (&lvi);?for (i nt j=0;j<4;j+) m_c
45、aller_list.SetltemText(co un t,j,dataj);?coun t+;?lvi.iImage = 1;?lvi.iItem=co un t;?m_caller_list.I nsertItem (&lvi);?data0="cherami"?for (int n=0;n<4;n+) m_caller_list.SetltemText(count,n,datan);?coun t+;设置报表的样式?选中一整行:?m_l ist_ctrl.SetExte ndedStyle( m_l ist_ctrl.GetExte ndedStyle
46、()|LVS_EX_FULLR OWSELECT);?绘制表格:?m_l ist_ctrl.SetExte ndedStyle( m_l ist_ctrl.GetExte ndedStyle()|LVS_EX_GRIDL INES);?带复选框:?m_l ist_ctrl.SetExte ndedStyle(m _list_ctrl.GetExte ndedStyle()|LVS_EX_CHEC KBOXES);?自动切换:?m_l ist_ctrl.SetExte ndedStyle(m _list_ctrl.GetExte ndedStyle()|LVS_EX_TRAC KSELECT);
47、选定一行:? 设置 CListCtrl 的 Show selection always 选项 SetltemState (il ndex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED)?选中一个或多个项目时,会发送LVN_ITEMCHANGED 消息,可以使用?GetSelectedCount()方法得到被选定的项的数目。点击列头的消息响应:?ON_NOTIF Y(HDN_ITEMCLICKW, 0, Resp on seFu nc)?消息,需要自己添加?或者:?ON_NOTIFY(LVN_COLUMNCLICK, ID_you
48、rCtrl, ResponseFunc)向导添加?前者后响应,后者先响应响应函数:?Respo nseFu nc(NMHDR *pNMHDR, LRESULT *pResult)双击CListCtrl中的ITEM的消息是及消息函数:?ON_NOTIF Y(NM_DBLCLK, ID_yourCtrl, Respo nseFu nc)单击ITEM的消息响应:?ON_NOTIF Y(NM_CLICK, ID_yourCtrl, Resp on seFu nc)?Resp on seFu nc(NMHDR *pNMHDR, LRESULT *pResult)HDN_ITEMCLICK? 就是 Hea
49、der control Notify message for mouse left clickon the Header con trol!?而 HDN_ITEMCLICK 是当 List View 中存在一个 Header Contrl 时,Header Ctrl通知父窗口 List View 的!CListCtrl 中的 Item 被选中触发 LBN_SELCHANGE(通过 WM_COMMAND)消息!删除CListCtrl中选定的项:?POSITION pos;?int nln dex;for(; pos= GetFirstSelectedItemPositio n();)?nIn dex = GetNextSelectedltem(pos);?Deleteltem( nln dex);?在ListCtrl中进行排序?列表控件(CListCtrl )的顶部有一排按钮,用户可以通过选择不同的列来对记录 进行排序。但是 CListCtrl并没有自动排序的功能,我们需要自己添加一个用于 排序的回调函数来比较两个数据的大小,此外还需要响应排序按钮被点击的消 息。下面讲述一下具体的做法。CListCtrl提供了用于排序的函数,函数原型为:BOOLCListCtrl:Sortltems( PFNLVCOMPARE pfn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西职业技术学院《化工厂设计基础》2023-2024学年第二学期期末试卷
- 南京信息职业技术学院《世界少数族裔文学》2023-2024学年第二学期期末试卷
- 湖南商务职业技术学院《电子设计制造与测试一》2023-2024学年第二学期期末试卷
- 南阳医学高等专科学校《镜头语言与导演基础》2023-2024学年第二学期期末试卷
- 广东农工商职业技术学院《工程招投标》2023-2024学年第二学期期末试卷
- 贵州民族大学《建筑荷载》2023-2024学年第二学期期末试卷
- 四川民族学院《BIM造价管理应用》2023-2024学年第二学期期末试卷
- 玉溪职业技术学院《图像采集与处理》2023-2024学年第二学期期末试卷
- 湖南有色金属职业技术学院《安全心理学》2023-2024学年第二学期期末试卷
- 厦门理工学院《医学影像设备学》2023-2024学年第二学期期末试卷
- GB/T 45501-2025工业机器人三维视觉引导系统通用技术要求
- 2025年武汉数学四调试题及答案
- GB 19081-2025饲料加工系统粉尘防爆安全规范
- 2024年全国高中数学联赛北京赛区预赛一试试题(解析版)
- PICC专科护士进修学习汇报
- 工厂如何消除静电与防止静电实践篇
- 我学会了洗碗作文
- 武汉市住宅专项维修资金使用申请表
- 牛津译林版英语八年级下册8B——单词默写(表格版)
- 霍尼韦尔x温控仪中文说明书——有程序设定篇
- 人们通过合作取得更大的成功辩论稿
评论
0/150
提交评论