我需要在父窗口点击【加载工程】按钮以后读取TXT文本文档以后将读取到的数据传递给主窗口的2个TEXT 文本框和子窗口6个Edit编辑框 !以便于我在打开子窗口(通过其他按钮打开!)以后能看到父窗口传递过来的数据!
case语句里的注释语句都有问题!运行时会报 “遇到不适当参数”!
void CThreeCamProjectDlg::OnBnClickedLoadprojectbn()
{
CDlg_SIZESET dlg = new CDlg_SIZESET();
CStdioFile file;
CString filePathName, strTemp, strLine;
CFileDialog lpszOpenFile(TRUE, "", "", OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, _T("文件类型(.txt)|*.txt|所有文件(*.*)|*.*|"));
lpszOpenFile.m_ofn.lpstrInitialDir = _T(".\sizestandard\"); //指定文件夹
int row;
if (lpszOpenFile.DoModal() == IDOK)//假如点击对话框确定按钮
{
filePathName = lpszOpenFile.GetPathName();//得到打开文件的路径
}
if (filePathName == "") return;
if (!file.Open(filePathName, CFile::modeRead))
{
MessageBox(TEXT("can not open file!"));
return;
}
row = 0;
while (file.ReadString(strLine))
{
char* str = (char *)strLine.GetBufferSetLength(strLine.GetLength());
char* p;
if (row > 1)
{
MessageBox(TEXT("尺寸规格仅第一行有效!"));
break;
}
if (strLine != "")
{
short tempsizecount = 0;
for (p = strtok(str, ";"); p != NULL; p = strtok(NULL, ";"))
{
tempsizecount++;
strTemp = p;
switch (tempsizecount)
{
case 1:
mSTWidth = atof(strTemp); //加载工程标准 宽 显示到主界面
GetDlgItem(IDC_LoadStdWidth_WND)->SetWindowTextA(strTemp);
//dlg->GetDlgItem(IDC_EDIT_STD_WIDTH)->SetWindowTextA(strTemp);
break;
case 2:
mSTHeight = atof(strTemp); //加载工程标准 高 显示到主界面
GetDlgItem(IDC_LoadStdHeight_WND)->SetWindowTextA(strTemp);
//dlg->GetDlgItem(IDC_EDIT_STD_HEIGHT)->SetWindowTextA(strTemp);
break;
case 3:
maxWidth = atof(strTemp); // 加载工程Max 高
//GetDlgItem(IDC_EDIT_MAXWIDTH)->SetWindowTextA(strTemp);
break;
case 4:
minWidth = atof(strTemp); // 加载工程Min 高
//GetDlgItem(IDC_EDIT_MINWIDTH)->SetWindowTextA(strTemp);
break;
case 5:
maxHeight = atof(strTemp); // 加载工程Max 宽
//GetDlgItem(IDC_EDIT_MAXHEIGHT)->SetWindowTextA(strTemp);
break;
case 6:
minHeight = atof(strTemp); // 加载工程Min 高
//GetDlgItem(IDC_EDIT_MINHEIGHT)->SetWindowTextA(strTemp);
break;
default:
break;
}
}
if (tempsizecount != 6)
{
MessageBox(TEXT("尺寸规格输入不正确!"));
break;
}
row++;
}
else
{
MessageBox(TEXT("错误,尺寸规格为空!"));
break;
}
}
delete lpszOpenFile;//释放分配的对话框
}