⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 donutexecutablepropertypage.h

📁 一个使用wtl写的完整的多窗口浏览器
💻 H
字号:

#pragma once

class CDonutExecutablePropertyPage : public CPropertyPageImpl<CDonutExecutablePropertyPage>
{
public:
// Constants
	enum { IDD = IDD_PROPPAGE_EXECUTABLE };

// Ctor
	CDonutExecutablePropertyPage()
	{
		const TCHAR* types[] = {
			_T("file"),
			_T("ftp"),
//			_T("gopher"),
			_T("htmlfile"),
			_T("mhtmlfile"),
			_T("shtmlfile"),
			_T("http"),
			_T("https"),
			_T("InternetShortcut"),
//			_T("jsfile"),
//			_T("xslfile"),
		};

		for (int i = 0; i < _countof(types); ++i) {
			CString str(types[i]);
			m_arrType.Add(str);
		}
	}

// Data members
	CCheckListViewCtrl m_listview;
	CSimpleArray<CString> m_arrType;
	CSimpleArray<int> m_arrChecked;

// Overrides
	BOOL OnSetActive()
	{
		SetModified(TRUE);

		if (m_listview.m_hWnd == NULL) {
			m_listview.SubclassWindow(GetDlgItem(IDC_LIST_EXECUTABLE));
			_SetData();
		}

		return _DoTypeDataExchange(FALSE);
	}

	BOOL OnKillActive()
	{
		return _DoTypeDataExchange(TRUE);
	}

	BOOL OnApply()
	{
		if (_DoTypeDataExchange(TRUE)) {
			_GetData();
			return TRUE;
		}
		else 
			return FALSE;
	}

// Implementation
	BOOL _DoTypeDataExchange(BOOL bSaveAndValidate)
	{
		return TRUE;
	}

	void _GetData()
	{
		for (int i = 0; i < m_arrType.GetSize(); ++i) {
			bool bCheck = (m_listview.GetCheckState(i) == TRUE);
			MtlSetExcutable(m_arrType[i], MtlGetModuleFileName(), _T("Donut"), bCheck);
		}
	}

	void _SetData()
	{
		{// set up column
			const TCHAR* titles[] = { _T("庬椶"), _T("愢柧") };
			int widths[] = { 100, 500, };

			LVCOLUMN col;
			col.mask = LVCF_TEXT | LVCF_WIDTH;

			for (int i = 0; i < _countof(titles); ++i) {
				col.pszText = (LPTSTR)titles[i];
				col.cx = widths[i];
				m_listview.InsertColumn(i, &col);
			}
		}

		{// insert items
			LVITEM item;
			item.mask = LVIF_TEXT;
			item.iSubItem = 0;
			for (int i = 0; i < m_arrType.GetSize(); ++i) {
				item.iItem = i;
				item.iSubItem = 0;
				CString str = m_arrType[i];
				item.pszText = (LPTSTR)(LPCTSTR)str;
				m_listview.InsertItem(&item);
			}
		}

		{// set sub text
			const TCHAR* typeargs[] = {
				_T("URL:File Protocol"),
				_T("URL:File Transfer Protocol(FTP)"),
//				_T("URL:Gopher Protocol"),
				_T("Microsoft HTML Document 5.0"),
				_T("Microsoft MHTML Document 5.0"),
				_T("Microsoft SHTML Document 5.0"),
				_T("URL:HyperText Transfer Protocol(HTTP)"),
				_T("URL:HyperText Transfer Protocol with Security(HTTP)"),
				_T("Internet Shortcut"),
//				_T("JScript File"),
//				_T("XSL Stylesheet"),
			};

			LVITEM item;
			item.mask = LVIF_TEXT;
			item.iSubItem = 0;
			for (int i = 0; i < _countof(typeargs); ++i) {
				item.iItem = i;
				item.iSubItem = 1;
				item.pszText = (LPTSTR)typeargs[i];
				m_listview.SetItem(&item);
			}
		}

		// check it
		for (int i = 0; i < m_arrType.GetSize(); ++i) {
			BOOL bCheck =  MtlIsExecutable(m_arrType[i], _T("Donut")) ? TRUE : FALSE;
			m_listview.SetCheckState(i, bCheck);
		}
	}
};

⌨️ 快捷键说明

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