<!-- [if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:PunctuationKerning/>
<w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
<w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:SpaceForUL/>
<w:BalanceSingleByteDoubleByteWidth/>
<w:DoNotLeaveBackslashAlone/>
<w:ULTrailSpace/>
<w:DoNotExpandShiftReturn/>
<w:AdjustLineHeightInTable/>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:UseFELayout/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><!-- [if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]--><!-- [if !mso]>
<object
classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui>
</object>
<style>
st1/:*{behavior:url(#ieooui) }
</style>
<![endif]--><!-- [if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
</style>
<![endif]-->
(一)列表控制的主要功能
列表控制和视(List Control&View)
主要用来以各种方式显示一组数据记录供用户进行各种操作,Windows98/95
中资源管理器中的“
查看”
标签下的 “
大图标|小图标|列表|详细资源”
就是一个非常好的典型应用。列表中的记录可以包括多个数据项,也可以包括表示数据内容的大小图标,用来表示数据记录的 各种属性。
列表控制提供了对Windows
列表功能操作的基本方法,而使用列表视的视函数可以对列表视进行各种操作,通过调用视成员 GetListCtrl
获取嵌在列表视内列表控制的引用(GetListCtrl&
ctrlList = GetListCtrl()
),就可以和列表控制一样进行各种操作。操作一个列表控制和视的基本方法为:创建列表控制;创建列表控制所需要的图像列表;向
列表控制添加表列和表项;对列表进行各种控制,主要包括查找、排序、删除、显示方式、排列方式以及各种消息处理功能等;最后撤消列表控制。
对于一个列表控制,其最典型最常用的显示控制方式为:大图标方式(LVS_ICON
)、小图标方式(LVS_SMALLICON
)、列表显示方 式(LVS_LIST
)和详细资料(即报告LVS_REPORT
)显示方式。这可以通过设置其显示方式属性来实现。要控制列表所在窗口的风格,可通过功能
函数GetWindowLong
和SetWindowLong
来实现,要控制列表图标的对齐方式,可通过设置列表窗口的风格LVS_ALIGNTOP
或 LVS_ALIGNLEFT
来实现,
(二)列表控制的对象结构
1
、列表控制的建立方法
CListCtrl
&listCtrl
定义列表对象的结构
Create
建立列表控制并绑定对象
列表控制CListCtrl::Create
的调用格式如下:
BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd,
UINT nID );
其中参数dwStyle
用来确定列表控制的风格;rect
用来确定列表控制的大小和位置;pParentWnd
用来确定列表控制的父窗口,通常是一个对话框;nID
用来确定列表控制的标识。其中列表控制的风格可以是下列值的组合:
LVS_ALIGNLEFT
用来确定表项的大小图标以左对齐方式显示;
LVS_ALIGNTOP
用来确定表项的大小图标以顶对齐方式显示;
LVS_AUTOARRANGE
用来确定表项的大小图标以自动排列方式显示;
LVS_EDITLABELS
设置表项文本可以编辑,父窗口必须设有LVN_ENDLABELEDIT
风格;
LVS_ICON
用来确定大图标的显示方式;
LVS_LIST
用来确定列表方式显示;
LVS_NOCOLUMNHEADER
用来确定在详细资料方式时不显示列表头;
LVS_NOLABELWRAP
用来确定以单行方式显示图标的文本项;
LVS_NOSCROLL
用来屏蔽滚动条;
LVS_NOSORTHEADER
用来确定列表头不能用作按钮功能;
LVS_OWNERDRAWFIXED
在详细列表方式时允许自绘窗口;
LVS_REPORT
用来确定以详细资料即报告方式显示;
LVS_SHAREIMAGELISTS
用来确定共享图像列表方式;
LVS_SHOWSELALWAYS
用来确定一直显示被选中表项方式;
LVS_SINGLESEL
用来确定在某一时刻只能有一项被选中;
LVS_SMALLICON
用来确定小图标显示方式;
LVS_SORTASCENDING
用来确定表项排序时是基于表项文本的升序方式;
LVS_SORTDESCENDING
用来确定表项排序时是基于表项文本的降序方式;
2
、列表控制的属性类
列表控制的属性类包括取得列表控制的背景色GetBkColor
、设置列表控制的背景色SetBkColor
、取得列表控制的图像列表 GetImageList
、设置列表控制的图像列表SetImageList
、取得列表项数目GetItemCount
、取得列表控制的属性 GetItem
、取得与表项相关的数据GetItemData
、设置表项的属性SetItem
、设置与表项相关的数值SetItemData
、取得相关联 的下一个表项GetNextItem
、设置列表控制的文本颜色SetTextColor
、取得列表控制的文本背景颜色GetTextBkColor
、设置
表项的最大数目SetItemCount
和取得被选中表项的数目GetSelectedCount
等。
3
、列表控制的操作方法
列表控制的操作方法包括插入一个新的表项InsertItem
、删除一个表项DeleteItem
、排序表项SortItems
、测试列表的位 置HitTest
、重绘表项RedrawItems
、插入一个表列InsertColumn
、删除一个表列DeleteColumn
、编辑一个表项文本 EditLabel
和重绘一个表项DrawItem
等。
(三)列表控制的数据结构
列表控制中包含两个非常重要的数据结构LV_ITEM
和LV_COLUMN
。LV_ITEM
用于定义列表控制的一个表项,LV_COLUMN
用于定义列表控制的一个表列,其定义格式分别为:
typedef struct _LV_ITEM {
UINT mask; //
结构成员屏蔽位
int iItem; //
表项索引号
int iSubItem; //
子表项索引号
UINT state; //
表项状态
UINT stateMask; //
状态有效性屏蔽位
LPTSTR pszText; //
表项名文本
int cchTextMax; //
表项名最大长度
int iImage; //
表项图标的索引号
LPARAM lParam; //
与表项相关的32
位数
} LV_ITEM;
typedef struct _LV_COLUMN {
UINT mask; //
结构成员有效性屏蔽位
int fmt; //
表列对齐方式
int cx; //
表列的象素宽度
LPTSTR pszText; //
表列的表头名
int cchTextMax; //
表列名的文本长度
int iSubItem; //
与表列关联的子表项索引号
} LV_COLUMN;
|
其中fmt
可以取如下值:
LVCFMT_CENTER
表列居中对齐
LVCFMT_LEFT
表列左对齐
(四)列表控制的应用技巧示例
本文给出具体实例演示列表控制及前面的表头控制和图像列表的应用技巧。步骤如下:
1
、通过“FILE->NEW->PROJECTS->MFC
AppWizard(EXE)”
建立名为VCLIST
的工程,在建立过程中选择基于对话框(Dialog based
)的应用;将对话框中的默认控件删除,并将所有对话框属性中的Language
域设置为Chinese(P.R.C.),
以使应用程序支持中 文;
建立两个图标IDI_GJ
和IDI_XS
,用来表示图标的选中和非选中状态,对于每个图标都应建立32X32
和16X16
两种大小,以保证程序的需要;
3
、在对话框窗口中设计组合框(Group Box
),
组合框中设置四个无线按钮(Radio
)“
大图标|小图标|列表|资料”
,同时设置排序、删除和关闭三个控制按钮(Button
),并在对话框 中设置大小合适的列表控制(List Ctrl
),其对应标识分别如下:
--------------------------------------------------------------------------------
控制名称 标题名称 标识符号
--------------------------------------------------------------------------------
列表控制 IDC_LISTCTRL
组合框 方式 IDC_STATIC
无线按钮 大图标 IDC_STDICON
小图标 IDC_SMLICON
列 表 IDC_LIST
资 料 IDC_REPORT
按钮 排 序 IDC_SORT
删 除 IDC_DEL
关 闭 IDOK
--------------------------------------------------------------------------------
4
、在设置无线按钮时,需要注意的是只有大图标的Group
属性为选中状态,而其它无线按钮的状态均为默认值。
5
、选中列表控制控件,选择“VIEW->ClassWizard->Memory
Variables”
,并利用IDC_ LISTCTRL
引入成员变量,其变量类型为:
变量名 种类 变量类型
m_ListCtrl Control ClistCtrl
同时利用“MESSAGES MAP”
为各无线按钮和命令按钮增加控制功能。
6
、然后在包含文件和代码文件中分别加入如下代码:
(1
)在VCLISTDlg.h
中增加数据结构和定义
typedef struct tagSPS { //
定义结构
char szPm[10]; //
品名
int Lx; //0-GJ 1-XS
char szSl[10]; //
数量
char szDj[10]; //
单价
char szJe[10]; //
金额
} SPS;
int CALLBACK CompareFunc(LPARAM lParam1,LPARAM lParam2,LPARAM
lParamSort);
|
(2
)在VCLISTDlg.CPP
中的起始处增加初始化数据和程序定义
//
在文件开始处增加数据结构初始化
SPS Sps[]={//
信息
{"
红梅",0,"1000","30","30000"},
{"
黄梅",0,"1000","29","29000"},
{"
绿梅",0,"1000","28","28000"},
{"
青梅",0,"1000","27","27000"},
{"
白梅",0,"1000","31","31000"},
{"
红梅",1,"1000","30","30000"},
{"
黄梅",1,"1000","29","29000"},
{"
绿梅",1,"1000","28","28000"},
{"
青梅",1,"1000","27","27000"},
{"
白梅",1,"1000","31","31000"}};
CImageList Cil1,Cil2;//
大小图像列表
|
(3
)在程序初始化处增加表头、图像和列表控制建立代码
BOOL CVCLISTDlg::OnInitDialog()
{CDialog::OnInitDialog();
//......//
其它代码
// TODO: Add extra initialization here
此处增加代码
LV_ITEM lvitem;
LV_COLUMN lvcol;
int i,iPos,iItemNum;
CVCLISTApp *pApp=(CVCLISTApp *)AfxGetApp();//
创建图象列表
Cil1.Create(32,32,TRUE,2,2);
Cil1.Add(pApp->LoadIcon(IDI_GJ));
Cil1.Add(pApp->LoadIcon(IDI_XS));
Cil2.Create(16,16,TRUE,2,2);
Cil2.Add(pApp->LoadIcon(IDI_GJ));
Cil2.Add(pApp->LoadIcon(IDI_XS));//
设置图象列表
m_ListCtrl.SetImageList(&Cil1,LVSIL_NORMAL);
m_ListCtrl.SetImageList(&Cil2,LVSIL_SMALL);//
向列表控制中添加表列
lvcol.mask=LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;
lvcol.fmt=LVCFMT_CENTER;//
居中
i=0;
lvcol.pszText="
品 名";
lvcol.iSubItem=i;
lvcol.cx=70;
m_ListCtrl.InsertColumn(i++,&lvcol);
lvcol.pszText="
数 量";
lvcol.iSubItem=i;
lvcol.cx=70;
m_ListCtrl.InsertColumn(i++,&lvcol);
lvcol.pszText="
单 价";
lvcol.iSubItem=i;
lvcol.cx=70;
m_ListCtrl.InsertColumn(i++,&lvcol);
lvcol.pszText="
金 额";
lvcol.iSubItem=i;
lvcol.cx=70;
m_ListCtrl.InsertColumn(i++,&lvcol);
//
向列表控制中添加表项
iItemNum=sizeof(Sps)/sizeof(SPS);
for(i=0;i<iItemNum;i++){
lvitem.mask=LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM;
lvitem.iItem=i;
lvitem.iSubItem=0;
lvitem.pszText=Sps[i].szPm;
lvitem.iImage=Sps[i].Lx;
lvitem.lParam=i;
iPos=m_ListCtrl.InsertItem(&lvitem);//
返回表项插入后的索引号
lvitem.mask=LVIF_TEXT;
lvitem.iItem=iPos;
lvitem.iSubItem=1;
lvitem.pszText=Sps[i].szSl;
m_ListCtrl.SetItem(&lvitem);
lvitem.iSubItem=2;
lvitem.pszText=Sps[i].szDj;
m_ListCtrl.SetItem(&lvitem);
lvitem.iSubItem=3;
lvitem.pszText=Sps[i].szJe;
m_ListCtrl.SetItem(&lvitem);
}
CheckRadioButton(IDC_STDICON,IDC_REPORT,IDC_STDICON);
return TRUE; // return TRUE unless you set the focus to a control
}
|
(4
)完善列表显示方式代码
在利用Classwizard
类向导创建各功能按钮显示功能函数之后,必须依次完善这些功能函数的代码,这些功能函数如下:
void CVCLISTDlg::OnStdicon()//
设置大图标显示方式
{ // TODO: Add your control notification handler code here
LONG lStyle;
lStyle=GetWindowLong(m_ListCtrl.m_hWnd,GWL_STYLE);//
获取当前窗口类型
lStyle&=~LVS_TYPEMASK; //
清除显示方式位
lStyle|=LVS_ICON; //
设置显示方式
SetWindowLong(m_ListCtrl.m_hWnd,GWL_STYLE,lStyle);//
设置窗口类型
}
void CVCLISTDlg::OnSmlicon() //
设置小图标显示方式
{ // TODO: Add your control notification handler code here
LONG lStyle;
lStyle=GetWindowLong(m_ListCtrl.m_hWnd,GWL_STYLE);//
获取当前窗口类型
lStyle&=~LVS_TYPEMASK; //
清除显示方式位
lStyle|=LVS_SMALLICON; //
设置显示方式
SetWindowLong(m_ListCtrl.m_hWnd,GWL_STYLE,lStyle);//
设置窗口类型
}
void CVCLISTDlg::OnList() //
设置列表显示方式
{ // TODO: Add your control notification handler code here
LONG lStyle;
lStyle=GetWindowLong(m_ListCtrl.m_hWnd,GWL_STYLE);//
获取当前窗口类型
lStyle&=~LVS_TYPEMASK; //
清除显示方式位
lStyle|=LVS_LIST; //
设置显示方式
SetWindowLong(m_ListCtrl.m_hWnd,GWL_STYLE,lStyle);//
设置窗口类型
}
void CVCLISTDlg::OnReport() //
详细资料显示方式
{ // TODO: Add your control notification handler code here
LONG lStyle;
lStyle=GetWindowLong(m_ListCtrl.m_hWnd,GWL_STYLE);//
获取当前窗口类型
lStyle&=~LVS_TYPEMASK; //
清除显示方式位
lStyle|=LVS_REPORT; //
设置显示方式
SetWindowLong(m_ListCtrl.m_hWnd,GWL_STYLE,lStyle);//
设置窗口类型
}
|
(5
)删除功能的实现
要实现删除功能,必须取得选中表项的数和表项总数,并且需要从后向前进行依次删除,其原因是每个表项被删除后,其后各表项的索引号均会发生递减变化,如果采取从前向后删除的方法,就会造成无法正常删除选中的表项,其功能代码如下:
void CVCLISTDlg::OnDel() //
删除按钮功能
{ // TODO: Add your control notification handler code here
int i,iState;
int nItemSelected=m_ListCtrl.GetSelectedCount();//
所选表项数
int nItemCount=m_ListCtrl.GetItemCount();//
表项总数
if(nItemSelected<1) return;
for(i=nItemCount-1;i>=0;i--){
iState=m_ListCtrl.GetItemState(i,LVIS_SELECTED);
if(iState!=0) m_ListCtrl.DeleteItem(i);
}
}
|
(6
)排序功能的实现
列表控制有一个特殊的功能,当以详细资料方式显示时,列表顶部的表头可以当作按钮来使用,这可以通过列表控制创建时的风格来控制。当鼠标
点 击列表头名称时,列表控制就会向其父窗口发送一个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 here
static 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
}
|
同样,也可以通过专用按钮来实现排序功能,如本文的排序按钮对应的功能代码如下:
void CVCLISTDlg::OnSort()
{ // TODO: Add your control notification handler code here
m_ListCtrl.SortItems((PFNLVCOMPARE)CompareFunc,0);}
|
7
、列表视的演练技巧
在使用列表视时,其方法与列表控制基本相同,只不过列表视是在窗口中来实现的而列表控制是在对话框中实现,列表视的各种功能是通过菜单来实现的
而列表控制是通过按钮等方式来实现的,列表控制需要在对话框中创建列表控制控件而列表视直接占据整个窗口,在设计过程中只要将按钮和列表控制设计过程变为 菜单设计,并注意在功能增加是在类向导中是通过菜单命令来操作,同时在每个功能函数前面增加取得列表视引用的命令( CListCtrl& ListCtrl = GetListCtrl()
),而其余数据结构和代码均不需要修改,实现起来比较容易。
分享到:
相关推荐
主要功能包括了曲目播放、暂停、上一首、下一首、播放进度、跳转曲目列表等功能。曲目列表展示曲目名称,并选中播放曲目。 音视频播放控制框架,主要包括浏览器(AVBrowser)、控制器(AVController)、浏览器服务...
导航 功能导航 主要功能的导航是否在明显位置 35 菜单 采用“常用--主要--次要--工具--帮助”的位置排列 35 工具栏 相同或相近功能的工具栏放在一起 36 索引 索引的排列顺序要主次有分 36 按钮 按钮大小基本相近,忌...
GTS-VB系列多轴运动控制器编程手册-高级功能zip,提供“GTS-VB系列多轴运动控制器编程手册-高级功能”免费资料下载,主要包括指令列表、PT 运动模式、Follow 运动模式、PVT 运动模式、指令详细说明等内容,可供编程...
主要功能: │ ├─·首页(可选生成HTM) │ ---> 每日精选(系统公告)注:全部生成HTM │ ---> 文字推荐连接(1元专区 10元专区 游戏专区...等,系统后台控制) │ ---> 大图片推荐(系统后台上传和控制) │ ---...
主要介绍了使用Vue中 v-for循环列表控制按钮隐藏显示功能,需要的朋友可以参考下
GTS-VB系列多轴运动控制器编程手册-基本功能zip,提供“GTS-VB系列多轴运动控制器编程手册-基本功能”免费资料下载,主要包括指令列表、运动控制器函数库的使用、指令返回值及其意义、系统配置、运动状态检测、运动...
监控界面 监控控制界面 上级界面:主界面 功能: 『列表项』 单击进入监控控制界面; 监控设置界面 上级界面:主界面 功能: 『列表项』 单击修改、删除监控信息; 『添加』 单击添加监控信息; 智能家居控制软件...
GTS-VB系列多轴运动控制器编程手册-二维位置比较输出扩展功能zip,提供“GTS-VB系列多轴运动控制器编程手册-二维位置比较输出扩展功能”免费资料下载,主要包括原理、指令列表、例程、指令详细说明等内容,可供编程...
主要功能:创建播放列表,添加歌曲至播放播放列表,删除播放列表,和播放列表相关的功能。 c) 控制模块 主要功能:显示一些系统的相关信息,提供命令输入的接口,和命令显示相关的功能。 d) 播放模块 主要功能...
1、列表符号 2、图片符号 1、列表符号 通常的项目列表主要采用或者标记,然后配合标记罗列各个项目 。 在CSS中项目列表的编号是通过属性list-style-type来修改的,无论是标记还是标记,都可以使用相同的属性值,...
做了一个列表分页的功能模块,主要的文件包括分页类 page.class.php 和 控制 ajax 分页的ajax.js,主要功能有: 1.可以选择 3 种常见的 url 分页格式; 2.可以选择 url 分页 还是 ajax 分页; 3.两种分页方式都可以...
西门子S120 矢量控制使用大全_v1.0_ 下册pdf,S120矢量控制使用大全,主要适用于钻机行业,包含控制字和状态字介绍,参数列表,功能图和故障列表等。
主要功能模块: 4 2.功能框图: 5 二、中心处理模块 5 1.主要功能如下: 5 2.处理流程: 7 3.流程图: 8 三、键盘模块 8 1.基本流程如下: 9 2.流程图: 9 四、矩阵处理模块: 10 1主要功能如下: 10 2.基本流程如下...
这一区别决定了路由和交换在移动信息的过程中需要使用不同的控制信息,所以两者实现各自功能的方式是不同的。 路由器(Router)是互联网的主要节点设备。路由器通过路由决定数据的转发。转发策略称为路由选择...
该列表用VC代码实现,主要能实现的功能:设置表头的高度,背景色,字体颜色、大小;设置单元格的背景色、大小、字体大小、字体颜色、颜色能实现渐变!
以下功能和软件界面供参考:仿照一般手机通讯录的使用界面和功能,主要功能可包括: (1)可以添加、删减联系人 (2)联系人的信息包括:姓名、手机号码、工作单位、群组、电子邮件、手机铃声 (3)选择联系人后,...
#特征 功能处理包以帮助对 api 进行版本控制。 该包提供了必要的钩子,使功能列表可用。 创建它是为了提供用于对代码进行版本控制的功能的概念。 它利用 CLS 使功能列表可用于应用程序。 ##Usage 主要有两种方法。 ...
主要为大家详细介绍了jquery 实现列表上移、下移功能的相关资料,感兴趣的小伙伴们可以参考一下
IPOP是一款设备调试终端工具,功能很强大,集合很多服务、调试、查看手段于一身,主要功能如下: IP地址动态绑定功能 路由信息查询和配置功能 MAC地址信息查询和修改功能 MAC 、主机信息扫描功能 本机网络...
提供“GE-S系列多轴连续轨迹运动控制器编程手册”免费资料下载,主要包括运动控制器函数库的使用、指令列表、控制系统初始化、连续轨迹运动、Home/Index高速捕获、安全机制、数字IO、可选功能。激光功能等内容,可供...