MFC编程遇到的问题----控件类

单选控件:


每组的第一个单选按钮设置属性: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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值