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

📄 optionsdlg.cpp

📁 数控仿真与网络控制系统(雏形)
💻 CPP
字号:
// OptionsDlg.cpp : implementation file
//

#include "stdafx.h"
#include "NoteXpad.h"
#include "OptionsDlg.h"
#include <atlbase.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// COptionsDlg dialog


COptionsDlg::COptionsDlg(CWnd* pParent /*=NULL*/)
	: CDialog(COptionsDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(COptionsDlg)
	m_AssociateWithFiles = FALSE;
	//}}AFX_DATA_INIT
}


void COptionsDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(COptionsDlg)
	DDX_Control(pDX, IDC_ASSOCIATE, m_Associate);
	DDX_Check(pDX, IDC_ASSOCIATE, m_AssociateWithFiles);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(COptionsDlg, CDialog)
	//{{AFX_MSG_MAP(COptionsDlg)
	ON_BN_CLICKED(IDC_ASSOCIATE, OnAssociate)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// COptionsDlg message handlers

BOOL COptionsDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	CWinApp* theApp = (CWinApp*)AfxGetApp();
	m_Associate.SetCheck(theApp->GetProfileInt("Settings","AssociateWithFiles",1));

	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
void COptionsDlg::AssociateWithTextFiles(BOOL OnOrOff)
{
	CString exename;
	CWinApp* app = (CWinApp*)AfxGetApp();
	exename.Format("%s%s", app->m_pszExeName, ".EXE");
	char path[MAX_PATH];
	GetModuleFileName(GetModuleHandle(exename), path, MAX_PATH);
	char windowspath[MAX_PATH];
	GetWindowsDirectory(windowspath,MAX_PATH);
	CString Notepad;
	Notepad.Format("%s\\",windowspath);
	Notepad += "notepad.exe %1";
	CRegKey theKey;
	CString cmdLine = path;
	cmdLine += " %1";	
	CString iconPath = path;
	iconPath += ",1";
	CString notepadIconPath = windowspath;
	notepadIconPath +=  "\\notepad.exe,1";
	switch (OnOrOff)
	{
	case TRUE:
		
		theKey.Create(HKEY_CLASSES_ROOT,"NoteXpad");
		theKey.SetValue(HKEY_CLASSES_ROOT,"NoteXpad","Text File");

		theKey.Create(HKEY_CLASSES_ROOT,".txt");
		theKey.SetValue(HKEY_CLASSES_ROOT,".txt","NoteXpad");

		theKey.Create(HKEY_CLASSES_ROOT,"NoteXpad");
		theKey.SetValue(HKEY_CLASSES_ROOT,"NoteXpad\\shell\\open\\command",cmdLine);
		
		theKey.Create(HKEY_CLASSES_ROOT,".txt\\DefaultIcon");
		theKey.SetValue(HKEY_CLASSES_ROOT,".txt\\DefaultIcon",iconPath);
	
		theKey.Create(HKEY_CLASSES_ROOT,"NoteXpad\\DefaultIcon");
		theKey.SetValue(HKEY_CLASSES_ROOT,"NoteXpad\\DefaultIcon",iconPath);
	
		theKey.Create(HKEY_CLASSES_ROOT,".txt\\shell\\open\\command");
		theKey.SetValue(cmdLine,"NoteXpad");
		break;

	case FALSE:
		
		theKey.Create(HKEY_CLASSES_ROOT,"Notepad");
		theKey.SetValue(HKEY_CLASSES_ROOT,"Notepad","Text File");
		theKey.SetValue(HKEY_CLASSES_ROOT,".txt","Notepad");

		theKey.Create(HKEY_CLASSES_ROOT,"Notepad\\DefaultIcon");
		theKey.SetValue(HKEY_CLASSES_ROOT,"Notepad\\DefaultIcon",notepadIconPath);

		theKey.Create(HKEY_CLASSES_ROOT,"Notepad");
		theKey.SetValue(HKEY_CLASSES_ROOT,"Notepad\\shell\\open\\command",Notepad);

		theKey.Create(HKEY_CLASSES_ROOT,".txt\\shell\\open\\command");
		theKey.SetValue(Notepad,"Notepad");
		theKey.SetValue(HKEY_CLASSES_ROOT,".txt\\DefaultIcon",notepadIconPath);
		theKey.Attach(HKEY_CLASSES_ROOT);
		theKey.DeleteSubKey("NoteXpad");
		break;

	}

}

void COptionsDlg::OnOK() 
{
	
	AssociateWithTextFiles(m_Associate.GetCheck());	
	CDialog::OnOK();
}



void COptionsDlg::OnAssociate() 
{
	CWinApp* theApp = (CWinApp*)AfxGetApp();

	theApp->WriteProfileInt("Settings","AssociateWithFiles",m_Associate.GetCheck());
}

⌨️ 快捷键说明

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