openurldlg.cpp

来自「彩信浏览器」· C++ 代码 · 共 83 行

CPP
83
字号
// OpenUrlDlg.cpp : implementation file//#include "stdafx.h"#include <wininet.h>#include "AmbulantPlayer.h"#include "OpenUrlDlg.h"#include ".\openurldlg.h"#include "ambulant/net/url.h"#include "ambulant/lib/win32/win32_asb.h"using namespace ambulant;// COpenUrlDlg dialogIMPLEMENT_DYNAMIC(COpenUrlDlg, CDialog)COpenUrlDlg::COpenUrlDlg(CWnd* pParent /*=NULL*/)	:	CDialog(COpenUrlDlg::IDD, pParent),		m_url(""){}COpenUrlDlg::~COpenUrlDlg(){}void COpenUrlDlg::DoDataExchange(CDataExchange* pDX){	CDialog::DoDataExchange(pDX);	DDX_Text(pDX, IDC_EDIT_URL, m_url);}BEGIN_MESSAGE_MAP(COpenUrlDlg, CDialog)	ON_BN_CLICKED(IDC_BUTTON_BROWSE, OnBnClickedButtonBrowse)END_MESSAGE_MAP()// COpenUrlDlg message handlersvoid COpenUrlDlg::OnOK(){	USES_CONVERSION;	UpdateData(TRUE);		if(m_url.IsEmpty()) {		AfxMessageBox(_T("Please enter a URL or select a local file"));		return;	}		std::string urlstr = T2CA((LPCTSTR) m_url);	net::url u = net::url::from_url(urlstr);	if(u.is_local_file() && !lib::win32::file_exists(u.get_file())) {		CString str;		str.Format(_T("The file specified does not exist"));		AfxMessageBox(str);		return;	}		CDialog::OnOK();}void COpenUrlDlg::OnBnClickedButtonBrowse(){	BOOL bOpenFileDialog = TRUE;	text_char lpszDefExt[] = _T("*.smil");	LPCTSTR lpszFileName = NULL; // no initial fn	DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;	text_char lpszFilter[] = _T("SMIL Documents (*.smil)|*.smil;*.smi;*.grins|All Files (*.*)|*.*||");	CWnd* pParentWnd = this;	CFileDialog dlg(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd);	dlg.m_ofn.lpstrTitle = _T("Open SMIL document");	if(dlg.DoModal()==IDOK) {		CString s = dlg.GetPathName();		s.Replace(_T("\\"), _T("/"));		m_url = "file:///"; m_url += s;		GetDlgItem(IDC_EDIT_URL)->SetWindowText(m_url);	}	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?