---------------------------------------------------------------------------------------------
|对话框中控件的操作|
---------------------------------------------------------------------------------------------
1,//给List表格增加表格线
//获取原风格属性
DWORD dwStyle = m_LTPlist.GetExtendedStyle();
//添加CheckBox、整行选中、表格线属性
dwStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES;
//设置新属性到控件
m_LTPlist.SetExtendedStyle(dwStyle);
2, //怎么在List表中添加表头
//在.h文件中声明
CListCtrl m_lstSor;
//在.cpp文件中实现如下就是给表添加表头
m_lstSor.InsertColumn( 0, "编号",LVCFMT_CENTER,100 );//插入列
m_lstSor.InsertColumn( 1,"业务员",LVCFMT_CENTER,100 );
m_lstSor.InsertColumn( 2, "调度日期",LVCFMT_CENTER,100 );
3,//怎么在List表中添加表参数
添加控件的列
CListCtrl::InsertColumn(从0~N,"字段名",LVCFMT_CENTER风格,大小)
3.4 添加数据项
CListCtrl::InsertItem(从0~N第几行数据,"数据名",图标)
3.5 设置列文本
CListCtrl::SetItemText(在第几行插入数据从0~N,从0~N,”数据“)
m_lstSor.InsertItem(0,"文件",1);
m_lstSor.SetItemText(0,1,"123字节");
//m_listsr.DeleteAllItems()清除CListCtrl中的所在数据
//int nItem = -1;
nItem = m_lst_stowagelist.GetSelectionMark();//获取选中行行号
---------------------------------------------------------------------------------------------
|ListCtrl控件数据刷新问题|
---------------------------------------------------------------------------------------------
UpdateWindow();//当调用这个函数的时候,会立即让当前的窗口失效,然后对整个窗口立即进行重绘。
UpdateWindow();//函数调用的时候直接将OnPaint调用到目标窗口,使目标窗口立即进行重绘
Invaldate();//函数函数中的参数是用来控制函数是否对背景进行擦除,当使用Invaldate的时候将函数参数设置成true或者不进行设置的时候,函数会对窗口的背
景进行擦除,这个时候在刷新窗口的时候,会看到窗口有闪烁现象。而当将参数设置成false的时候,则不会对背景进行擦除,只对绘制的图形进行擦除,则看不到
闪烁现象。
CRect m_rt;
GetClientRect(&m_rt);
InvalidateRect(&m_rt);InvaldateRect是通过指定失效矩形区域来控制重绘区域的。
---------------------------------------------------------------------------------------------
for(int i = m_list_one.GetItemCount() ;i > -1 ;--i)
{
m_list_one.DeleteItem(i);//删除第几行的数据
}
//先把ListCtrl表中的数据删除,再从新对获取数据库数据上来。
----------------------------------------------------------------------------------
POSITION pos=m_lst_stowagelist.GetFirstSelectedItemPosition();
//列表中无值,无选中 则退出,不执行以下代码
if(pos==NULL)
{
return;
}
//得到行号,通过POSITION转化
Item=(int)m_lst_stowagelist.GetNextSelectedItem(pos);//获取选中的一行
TRACE("%d",Item);
----------------------------------------------------------------------------------
for(int i = 0 ;i < m_lst_stowagelist.GetItemCount();++i)
{
TRACE("%d",i);//获取ListCtrl表中数据有几条循环从0—N
}
---------------------------------------------------------------------------------------------
|设置以下扩展风格可以在ListCtrl控件中添加复选框|
---------------------------------------------------------------------------------------------
m_Listequipment.SetExtendedStyle(LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);
LVS_EX_CHECKBOXES//这个是设置复选框
LVS_EX_FULLROWSELECT//这个是选中状态用到的
for(int i=0;i<m_Listequipment.GetItemCount();i++)
{
if(BST_CHECKED == m_Listequipment.GetCheck(i))
{
m_Listequipment.SetCheck(i,false);
}
}
--------------------------------------------------------------------------------------------
|对话框中控件的操作|
---------------------------------------------------------------------------------------------
1,//给List表格增加表格线
//获取原风格属性
DWORD dwStyle = m_LTPlist.GetExtendedStyle();
//添加CheckBox、整行选中、表格线属性
dwStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES;
//设置新属性到控件
m_LTPlist.SetExtendedStyle(dwStyle);
2, //怎么在List表中添加表头
//在.h文件中声明
CListCtrl m_lstSor;
//在.cpp文件中实现如下就是给表添加表头
m_lstSor.InsertColumn( 0, "编号",LVCFMT_CENTER,100 );//插入列
m_lstSor.InsertColumn( 1,"业务员",LVCFMT_CENTER,100 );
m_lstSor.InsertColumn( 2, "调度日期",LVCFMT_CENTER,100 );
3,//怎么在List表中添加表参数
添加控件的列
CListCtrl::InsertColumn(从0~N,"字段名",LVCFMT_CENTER风格,大小)
3.4 添加数据项
CListCtrl::InsertItem(从0~N第几行数据,"数据名",图标)
3.5 设置列文本
CListCtrl::SetItemText(在第几行插入数据从0~N,从0~N,”数据“)
m_lstSor.InsertItem(0,"文件",1);
m_lstSor.SetItemText(0,1,"123字节");
//m_listsr.DeleteAllItems()清除CListCtrl中的所在数据
//int nItem = -1;
nItem = m_lst_stowagelist.GetSelectionMark();//获取选中行行号
---------------------------------------------------------------------------------------------
|ListCtrl控件数据刷新问题|
---------------------------------------------------------------------------------------------
UpdateWindow();//当调用这个函数的时候,会立即让当前的窗口失效,然后对整个窗口立即进行重绘。
UpdateWindow();//函数调用的时候直接将OnPaint调用到目标窗口,使目标窗口立即进行重绘
Invaldate();//函数函数中的参数是用来控制函数是否对背景进行擦除,当使用Invaldate的时候将函数参数设置成true或者不进行设置的时候,函数会对窗口的背
景进行擦除,这个时候在刷新窗口的时候,会看到窗口有闪烁现象。而当将参数设置成false的时候,则不会对背景进行擦除,只对绘制的图形进行擦除,则看不到
闪烁现象。
CRect m_rt;
GetClientRect(&m_rt);
InvalidateRect(&m_rt);InvaldateRect是通过指定失效矩形区域来控制重绘区域的。
---------------------------------------------------------------------------------------------
for(int i = m_list_one.GetItemCount() ;i > -1 ;--i)
{
m_list_one.DeleteItem(i);//删除第几行的数据
}
//先把ListCtrl表中的数据删除,再从新对获取数据库数据上来。
----------------------------------------------------------------------------------
POSITION pos=m_lst_stowagelist.GetFirstSelectedItemPosition();
//列表中无值,无选中 则退出,不执行以下代码
if(pos==NULL)
{
return;
}
//得到行号,通过POSITION转化
Item=(int)m_lst_stowagelist.GetNextSelectedItem(pos);//获取选中的一行
TRACE("%d",Item);
----------------------------------------------------------------------------------
for(int i = 0 ;i < m_lst_stowagelist.GetItemCount();++i)
{
TRACE("%d",i);//获取ListCtrl表中数据有几条循环从0—N
}
---------------------------------------------------------------------------------------------
|设置以下扩展风格可以在ListCtrl控件中添加复选框|
---------------------------------------------------------------------------------------------
m_Listequipment.SetExtendedStyle(LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);
LVS_EX_CHECKBOXES//这个是设置复选框
LVS_EX_FULLROWSELECT//这个是选中状态用到的
for(int i=0;i<m_Listequipment.GetItemCount();i++)
{
if(BST_CHECKED == m_Listequipment.GetCheck(i))
{
m_Listequipment.SetCheck(i,false);
}
}
--------------------------------------------------------------------------------------------