1、创建一个基于对话框的应用程序,向对话框添加一个静态文本控件和两个按钮控件。
将静态文本控件ID修改为IDC_STATIC1(不修改ID号将无法为静态文本控件关联变量),并关联一个类型为CStatic的变量m_path;
“选择文件”按钮ID号修改为IDC_OnButFile
“打印”按钮ID号修改为IDC_OnButPrint
2、处理“选择文件”按钮单击事件。具体代码如下:
void CPrintFileDlg::OnBnClickedOnbutfile()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
_T("All Files(*.*)|*.*||"),AfxGetMainWnd()); //构造文件打开对话框
if(dlg.DoModal() == IDOK) //判断是否按下"打开"按钮
{
CString StrPath = dlg.GetPathName(); //获取文件完整路径
m_path.SetWindowTextW(StrPath); //显示文件路径
}
}
3、处理“打印”按钮单击事件。具体代码如下:
void CPrintFileDlg::OnBnClickedButprint()
{
// TODO: 在此添加控件通知处理程序代码
CString StrPath; //声明变量
m_path.GetWindowText(StrPath);
::ShellExecute(NULL,_T("print"),StrPath,_T(""),_T(""),SW_HIDE);
}
程序运行效果: