还可以有层次结构
按你的要求写了个,
随便建个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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)