MFC动态添加复选框

MFC动态添加复选框,第1张

这个一般会用CTreeCtrl啊...tree前面也好加复选框的, 还可以有层次结构...

按你的要求写了个, 随便建个mfc,然后拖个button进去, 添加事件, 写以下代码

TCHAR szFilters[]= _T("Files (*.*)|*.*")

CString strFileName

CString strFilePath

CFileDialog fileDlg(TRUE, 0, 0, OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilters)

if(fileDlg.DoModal() == IDOK)

{

strFileName = fileDlg.GetPathName()

CFileFind finder

int path_num = strFileName.ReverseFind('\\')

strFilePath = strFileName.Left(path_num)

strFilePath += _T("\\*.*")

BOOL bWorking = finder.FindFile(strFilePath)

for(int i = 0i <1000i++)

{

m_myButton[i].ShowWindow(SW_HIDE)

}

int m = 0

while (bWorking)

{

bWorking = finder.FindNextFile()

if (finder.IsDots())

continue

CString str = finder.GetFileName()

m_myButton[m].SetWindowTextW(str)

m_myButton[m].ShowWindow(SW_SHOW)

m++

}

finder.Close()

}

在dlg的头文件里面加CButton m_myButton[1000]

在dlg的InitDialog函数里加

for(int i = 0i <1000i++)

{

m_myButton[i].Create(L" ", WS_CHILD|BS_AUTO3STATE,

CRect(10,10 + i * 25,300,25 + i*25), this, i+23423)

}

PS:要源代码的留邮箱

肯定是ComboX 吧 怎么回事CheckBox?  那不是复选框么 怎么可能在那里面添加值...

string sql = string.Format("select * from dbo.Star")//在数据库中查找数据

SqlDataAdapter adpter = new SqlDataAdapter(sql, Db.con)//传输数据

DataSet dataset = new DataSet()//利用数据集装载数据

adpter.Fill(dataset)//填充数据

this.comboBox1.DataSource = dataset.Tables[0]

this.comboBox1.DisplayMember = "Star"//这是显示在Combox里面的看的到的值

this.comboBox1.ValueMember = "Id"//这是选中的后台数据ID(将数据库中的ID传进去标示)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/8021428.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存