📄 donutexecutablepropertypage.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 + -