在一个画图的种中添加了一个打开文件的函数,为什么这个函数在SDK下很好用,但是在基于MFC的对话框里就不行呢?

在一个画图的类中添加了一个打开文件的函数,为什么这个函数在SDK下很好用,但是在基于MFC的对话框里就不行呢????????
在一个画图的类中添加了一个打开文件的函数,为什么这个函数在SDK下很好用,但是在基于MFC的对话框里就不行呢????????



这是文件打开的函数
void CChart::FileOpen(const char* fileName)
{
using namespace std;
std::ifstream   fin;
std::vector<double>* data=new std::vector<double>[2];
int           FileData[512];
fin.open(fileName,ios_base::binary);
fin.read((char *)&FileData,sizeof (FileData));
for(int j=0;j<512;j++)
{
int temp=FileData[j];
data[0].push_back(j);
data[1].push_back(temp);

}
AddMCurves(data,2);
SetCurveColor(0,RGB(0,0,0));

}


同样的还有一个描点的函数

void CChart::ShowTS()
{
for(int i=0;i<512;i++)
for(int j=0;j<256;j++)
SetPixel(m_hChartDC,m_rtChart.left+i,m_rtChart.top+j
          ,RGB(rand()%255,rand()%255,rand()%255));
}

下面这个是在MFC对话框里面的button的消息处理代码
void COnPaintDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CWnd  *pWnd1=GetDlgItem(IDC_STATIC2);

CDC    *pDC=pWnd1->GetDC();
RECT  rect;
const char*   fileName="c:\\cos.bin";
CChart   chart(*pWnd1);
//chart.FileOpen(fileName);

pWnd1->GetClientRect(&rect);
chart.SetChartPosition(rect);
//pDC->FillSolidRect(rect,RGB(255,255,100));

chart.ShowCurves();
//chart.ShowTS();
pWnd1->ReleaseDC(pDC);
}
//正常的话应该是在点击button之后显示图形的,但是不知道为什么在MFC下就卡死了!! 求解答!!!!


------解决方案--------------------
换CFile或FILE *再试试?