请问2个小疑点
请教2个小问题
1.用对话框选择保存文件类型,点“保存”后,获取路径正确,但没有后缀名。代码如下:
CFileDialog * rcfile;
CString rfname;
rcfile=new CFileDialog(FALSE,NULL, NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT |OFN_ALLOWMULTISELECT|OFN_EXPLORER, "tw文件(*.tw)|*.tw|wav文件(*.wav)|*.wav|| ");
if(rcfile-> DoModal() == IDOK)
{
rfname = rcfile-> GetPathName();
m_rcpath=rfname;
UpdateData(FALSE);
}
else
return;
2.用全局变量修改控件属性时报错,代码大致如下:
CDEMODlg *pDlg = (CDEMODlg *)(AfxGetApp()-> GetMainWnd());
从VC控件中拖了一个IDC_MSFLEXGRID1来用,添加Cmsflexgrid m_grid;
在CDEMODlg中的调用正常,自定义了一个函数
void List_Write(int row,int col,char *str)
{
pDlg-> m_grid.SetRow(row+1);
pDlg-> m_grid.SetCol(col);
pDlg-> m_grid.SetText(str);
}
调用时报错,跟踪到
void AFX_CDECL CWnd::InvokeHelper(DISPID dwDispID, WORD wFlags, VARTYPE vtRet,
void* pvRet, const BYTE* pbParamInfo, ...)
{
ASSERT(m_pCtrlSite != NULL); // not an OLE control (not yet, at least)
…………
执行 ASSERT(m_pCtrlSite != NULL); 时报错
------解决方案--------------------
CFileDialog rcfile(FALSE, "tw ", NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT |OFN_ALLOWMULTISELECT|OFN_EXPLORER, "tw文件(*.tw)|*.tw|wav文件(*.wav)|*.wav|| ");
if(rcfile.DoModal()!= IDOK)
return;
CString rfname = rcfile.GetPathName();
m_rcpath=rfname;
UpdateData(FALSE);
1.用对话框选择保存文件类型,点“保存”后,获取路径正确,但没有后缀名。代码如下:
CFileDialog * rcfile;
CString rfname;
rcfile=new CFileDialog(FALSE,NULL, NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT |OFN_ALLOWMULTISELECT|OFN_EXPLORER, "tw文件(*.tw)|*.tw|wav文件(*.wav)|*.wav|| ");
if(rcfile-> DoModal() == IDOK)
{
rfname = rcfile-> GetPathName();
m_rcpath=rfname;
UpdateData(FALSE);
}
else
return;
2.用全局变量修改控件属性时报错,代码大致如下:
CDEMODlg *pDlg = (CDEMODlg *)(AfxGetApp()-> GetMainWnd());
从VC控件中拖了一个IDC_MSFLEXGRID1来用,添加Cmsflexgrid m_grid;
在CDEMODlg中的调用正常,自定义了一个函数
void List_Write(int row,int col,char *str)
{
pDlg-> m_grid.SetRow(row+1);
pDlg-> m_grid.SetCol(col);
pDlg-> m_grid.SetText(str);
}
调用时报错,跟踪到
void AFX_CDECL CWnd::InvokeHelper(DISPID dwDispID, WORD wFlags, VARTYPE vtRet,
void* pvRet, const BYTE* pbParamInfo, ...)
{
ASSERT(m_pCtrlSite != NULL); // not an OLE control (not yet, at least)
…………
执行 ASSERT(m_pCtrlSite != NULL); 时报错
------解决方案--------------------
CFileDialog rcfile(FALSE, "tw ", NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT |OFN_ALLOWMULTISELECT|OFN_EXPLORER, "tw文件(*.tw)|*.tw|wav文件(*.wav)|*.wav|| ");
if(rcfile.DoModal()!= IDOK)
return;
CString rfname = rcfile.GetPathName();
m_rcpath=rfname;
UpdateData(FALSE);