MessageBox ,CFileDialog 和 fopen 之VC 和MFC 混合使用

来源:互联网 发布:淘宝时尚男装店铺 编辑:程序博客网 时间:2024/05/21 17:00
 MessageBox 很常用的一个消息提示框,MSDN 是给的定义如下
int MessageBox(          HWND hWnd,    LPCTSTR lpText,    LPCTSTR lpCaption,    UINT uType);
一般在MFC 使用可以只写提示内容MessageBox("消息提示!");
或写两参数 内容和标题 或者三个 加类型按钮
我想说的是当你另外写了一个VC头文件和实现文件,在MFC工程里面调用时此时第一个参数就必须要写了,不然vs通过不了。
而你可能多个窗口都要调用,写那个是个问题?
这是可以根据当前窗口来选择。用全局的::AfxGetApp()-> GetMainWnd()->GetSafeHwnd()
获取当前窗口,进行提示 
此时要四个参数 MessageBox(::AfxGetApp()-> GetMainWnd()->GetSafeHwnd(),"提示内容","标题","类型");
 
2 用CFileDialog 后使用fopen 返回NULL 
在当前路径下放置了要打开文件,直接调用可以,没问题。当用打开文件对话框选择打开了另一个目录下的文件时,在用fopen 打开文件时返回NULL
我刚开始以为是MFC 的文件操作和C的文件操作不能并用。想想不对,经过多次试验还是不行,有时成功有时不成功,一个同事提示fopen打开失败应该文件路径有问题,
我就改成绝对路径,发现就可以了,想想原因应该是用CFileDialog 选择文件后,把工程的默认路径改了,到了fopen的路径不对,找不到指定文件了。
原创粉丝点击