我在对话框放置了一个按钮,当点击这个按钮的时候,创建一个窗口PopUp类型的窗口。在对话框一个函数是这样的:
char szFilter[] = "JPG Files (*.jpg)|*.jpg|JPEG Files (*.jpeg)|*.jpeg|GIF Files (*.gif) | *.gif | All Files (*.*)|*.*||"; //创建打开文件对话框
CFileDialog dlg(TRUE,"jpg|jpeg|gif",NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
dlg.m_ofn.lpstrInitialDir = ".\\..\\img"; //更改对话框列出文件的初始路径
if(dlg.DoModal() == IDOK) //选择"确定"
{
CString tmp_pathname;
tmp_pathname = dlg.GetPathName();
if(tmp_pathname != strPathName)
{
strPathName.Empty();
strPathName = tmp_pathname;
if(playwnd.GetSafeHwnd())
//if(playwnd.m_hWnd)
{
                             ::SendMessage(playwnd.m_hWnd,UM_CHANGE,0,0);
}
}
}
也就是首先得到文件选择对话框中选择的文件名,如果和上次的不相同,则向我创建的那个窗口发送一个“改变”的消息,以便创建的窗口能感知。
现在的问题是,当我创建窗口,然后选择一个不同的文件时,如果使用Debug版,
SendMessage后一切正常,如果选用Release版,当我选择一个不同的文件后,程序退出了! 如果我在SendMessage后AfxmessageBox();程序出现"程序出现问题,即将关闭,我们对此引起的不便表示抱歉..."
是怎么回事啊?