MFC怎么动态添加复选框?

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

这个一般会用CTreeCtrl啊tree前面也好加复选框的,

还可以有层次结构

按你的要求写了个,

随便建个mfc,然后拖个button进去,

添加事件,

写以下代码

这个一般会用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:要源代码的留邮箱

CButton *pButton = new CButton[4]

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

pButton[i].Create("第一个", WS_CHILD|BS_DEFPUSHBUTTON|WS_VISIBLE|BS_AUTOCHECKBOX,

CRect(10, 80, 200, 100), this, 123+i)

//这里我没有更改每个控件的位置,你设置的CRect(10, 80, 200, 100),所以,你要分别设置这四个控件的位置,比如CRect(10+50*i,10,50+50*i,50)


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存