
lpszDefExt = NULL, LPCTSTR lpszFileName
= NULL, DWORD dwFlags =
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR
lpszFilter = NULL, CWnd pParentWnd =
NULL );
这是CFileDialog的构造函数对照你的参数 ,过滤器(lpszFilter)你设置成"PDF 文件 (pdf)|pdf|所有文件 ()|||")
就不再是默认值,那前面的dwFlags也要设置 总之 参数填的不对 你对照看下吧CFileDialog CFileDialogEx(TRUE,0,0,4|2|OFN_ALLOWMULTISELECT,filefilter,this->GetSafeOwner(),0,1);
OPENFILENAME& ofn = CFileDialogExGetOFN();
ofnlpstrTitle = sTitle;
ofnlpstrFile = sMaxfileGetBuffer(MAXFILEBUFFER);
ofnnMaxFile = MAXFILEBUFFER;
ofnlpstrInitialDir = path;//设置初始文件夹;
sMaxfileReleaseBuffer();//必须有;
我的是多选的代码。比较简单。
建议你参考一下MSDN的例子。
>首先要,写一个d出对话框的槽函数;
然后在构造函数里连接按钮按下和d出对话框的槽函数,如下:
connect(uibuttonName,SIGNAL(按钮按下的信号),this,SLOT(d出对话框的槽函数));void CmodeDlg::OnBnClickedButton1()
{
OnBnClickedButton2();
}
void CmodeDlg::OnBnClickedButton2()
{
MessageBoxA(NULL,"123","123",MB_OK);
}
给分吧你可以加入下面的代码:
private void button1_Click(object sender, EventArgs e)
{
thisFormClosing += new FormClosingEventHandler(Form1_FormClosing);
}
void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBoxShow("你确定关闭窗口吗","Application",MessageBoxButtonsYesNo,MessageBoxIconInformation)==DialogResultNo)
{
eCancel = true;
}
}
希望对您有帮助。VS是一个开发工具,你让它d出子窗体干嘛?
你是想开发一个Winform程序,并让这个Winform程序d出子窗体吧?
如果是简单的对话框,用MessageBoxShow方法即可
如果是自定义窗体,new一个窗体对象,Show方法即可看d出的错误信息知:你的那段代码使用了assert宏,并且assert宏里面的语句报错,应该是非法指针引起的(可能你引用了对话框里面的某些控件,因为此时对话框的控件此时还没完成绘制,资源没初始化等;
你只要把那段代码放到对话框类的OnInitialDlg函数中,应该没问题
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)