求助MFC的CFileDialog点击按钮弹不出对话框

hwl1994807 2014-09-17 06:04:09
void CMFCShowVideoTestDlg::OnBnClickedOpenvideo() //打开文件
{

char aviName[77]={0};

//实现点击打开文件后的窗口弹出
CFileDialog inDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT|OFN_EXPLORER|OFN_ENABLETEMPLATE);
inDlg.m_ofn.lpstrFile = (LPSTR)&aviName[0]; //储存文件名至数组

if(inDlg.DoModal() == IDOK) //实现模态对话框
{
m_pVideoInfo->m_pCapture = cvCreateFileCapture(aviName); //打开视频

if(m_pVideoInfo->m_pCapture) //判断视频是否能被打开
{
m_pVideoInfo->m_FrameWidth = cvGetCaptureProperty(m_pVideoInfo->m_pCapture,CV_CAP_PROP_FRAME_WIDTH); //获取视频宽度并储存
m_pVideoInfo->m_FrameHeight = cvGetCaptureProperty(m_pVideoInfo->m_pCapture,CV_CAP_PROP_FRAME_HEIGHT); //获取视频高度并储存

m_pVideoInfo->m_pFrameImage = cvCreateImage(cvSize(m_pVideoInfo->m_FrameWidth,m_pVideoInfo->m_FrameHeight),8,3);
cvZero(m_pVideoInfo->m_pFrameImage);

}

}

}



代码是这样的,,,但是按了打开的按钮一直什么反应都没有
...全文
155 点赞 收藏 12
写回复
12 条回复
mlqxj35674 2014年09月23日
估计按钮与响应函数没有关联起来
回复 点赞
pipi20091001 2014年09月22日
建议设置断点,然后一行一行执行,看执行到哪一行,停住分析原因,数组赋值,地址冲突等
回复 点赞
schlafenhamster 2014年09月18日
"|OFN_ENABLETEMPLATE" 你给了 TEMPLATE ? (即 CFileDialog 创建在 你的 对话框 中) ?
回复 点赞
hwl1994807 2014年09月18日
inDlg.m_ofn.lpstrFile = (LPSTR)&aviName[0]; //储存文件名至数组 去掉之后也是一样
回复 点赞
hwl1994807 2014年09月18日
我写的是一个按钮的消息响应函数,但是单击那个按钮之后没反应
回复 点赞
sunShinezhuyg 2014年09月18日
inDlg.m_ofn.lpstrFile这个变量是你点击选择并打开文件成功后,系统自动填充的文件名信息(包含全路径),不能赋值。如果你要指定指定初始目录的话,可以将dlgFile.m_ofn.lpstrInitialDir初始化,如:dlgFile.m_ofn.lpstrInitialDir = (_T("G:\\"));
回复 点赞
hhyocean 2014年09月18日
直接打开,中间不作其它处理
回复 点赞
@heyun 2014年09月18日
CFileDialog inDlg(TRUE); inDlg.DoModal() ;
回复 点赞
笨笨仔 2014年09月17日
设置断点跟踪
回复 点赞
快乐鹦鹉 2014年09月17日
你是指文件对话框没有运行起来吗? inDlg.m_ofn.lpstrFile = (LPSTR)&aviName[0]; 应该注释掉,这个值是传入的吧?
回复 点赞
版主大哥 2014年09月17日
这句去掉 试试 inDlg.m_ofn.lpstrFile = (LPSTR)&aviName[0]; //储存文件名至数组
回复 点赞
发动态
发帖子
VC/MFC
创建于2007-09-28

7889

社区成员

42.1w+

社区内容

VC/MFC相关问题讨论
社区公告
暂无公告