单选控件:
每组的第一个单选按钮设置属性:Group,Tabstop,Auto 为 true
其余按钮设置属性:Tabstop,Auto为 true
ListControl:
设置表格属性:
mList.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EDITLABELS |LVS_EX_CHECKBOXES|LVS_EX_FULLROWSELECT);
其中:
LVS_EX_GRIDLINES 使用表格线;
LVS_EDITLABELS:可编辑
LVS_EX_CHECKBOXES:为表格添加多选框;
LVS_EX_FULLROWSELECT:整行选取。
写入读取表格内容:
mList.DeleteAllItems();//清除表格所有项目
mList.InsertColumn(0,_T("序号"));//添加列
mList.SetColumnWidth(0, 80);//设置列宽
mList.SetRedraw(FALSE);//防止重绘
mList.SetRedraw(TRUE);//显示
mList.GetItemCount();//获取表格行数(已有数据的)、
//写入内容
mList.InsertItem(行序号,内容);//添加行,必须先添加行,再填充后面的数据
mList.SetItemText(行序号, 列序号,内容);
//读取内容
mList.GetItemText(行序号,列序号);//获取指定列内容
列表控件的使用
-----------------
UpdateData();
//設置外觀
m_list.SetExtendedStyle(
LVS_EX_FLATSB
|LVS_EX_FULLROWSELECT
|LVS_EX_HEADERDRAGDROP
|LVS_EX_ONECLICKACTIVATE
|LVS_EX_GRIDLINES
);
//設置表頭
m_list.InsertColumn(0,"name",LVCFMT_LEFT,80,0);
m_list.InsertColumn(1,"G1",LVCFMT_LEFT,80,1);
m_list.InsertColumn(2,"G2",LVCFMT_LEFT,80,2);
m_DataList.InsertItem(行序(int),"值");//插入行,列缺省,默認為0
m_DataList.SetItemText(行序,列序,"值");//插入列
一鍵清空數據,數據保持,比較名字。
----------
名字比較:新輸入的名字要與列表項中所有名字比較,若有相同,則彈出消息“用戶名已存在,請重新輸入!”並且不接收輸入值;
1.獲取列表控件的第line行,第零列值;
設置整形變量記錄行值(line);
2.逐個與輸入值比較;
利用雙重循環;外層循環依據line值,實現逐行比較;
內岑循環依據列表值,實現字符串比較;
字符串比較函數即可;
3.若有相同,return 0;
一鍵清空數據:一鍵清空所有數據,包括列表控件及編輯控件;
數據保持;程序關閉后數據仍能保持在界面上。
------------------------------------------------------------------
GetItemText(行、列)——獲取列表控件值;
-------------------------------------
2.數據清空
----------
GetDlgItem(IDC_DEPSUM)->SetWindowText("0");
for(int i = 0;i<ui.line;i++)//逐行獲取控件值
{
for(int j = 0;j<3;j++)
{
m_DataList.SetItemText(i,j,"");//設置列表控件值
}
}
ui.line = 0;//行值置零,可重新輸入;
-------------------------------------------------
int flag = DataFunction();//調用函數判斷數據數量
//主函數必須返回不同數值;
if(flag == 0)//判斷返回值,0,退出此次輸入,1,繼續輸入
{
return;
}