按你的要求写了个, 随便建个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:要源代码的留邮箱
一种方法加个static bool checked
退出对话框时,如果复选框是选中的,就让checked为真,否则让他为假
在初始化对话框时根据checked的真假对checkbox进行设置
这个一般会用CTreeCtrl啊tree前面也好加复选框的,还可以有层次结构
按你的要求写了个,
随便建个mfc,然后拖个button进去,
添加事件,
写以下代码
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)