From fb8b43dbce8bc310718614384297aeaabb9a3cbb Mon Sep 17 00:00:00 2001 From: Michael Krelin Date: Mon, 05 Jul 2004 01:53:09 +0000 Subject: initial commit into svn repository git-svn-id: http://svn.klever.net/kin/bigbrother/trunk@1 fe716a7a-6dde-0310-88d9-d003556173a8 --- (limited to 'bigbrother.cpp') diff --git a/bigbrother.cpp b/bigbrother.cpp new file mode 100644 index 0000000..0036987 --- a/dev/null +++ b/bigbrother.cpp @@ -0,0 +1,181 @@ +// BigBrother.cpp : Defines the class behaviors for the application. +// + +#include "stdafx.h" +#include "BigBrother.h" + +#include "MainFrm.h" +#include "BigBrotherDoc.h" +#include "BigBrotherView.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + +///////////////////////////////////////////////////////////////////////////// +// CBigBrotherApp + +BEGIN_MESSAGE_MAP(CBigBrotherApp, CWinApp) + //{{AFX_MSG_MAP(CBigBrotherApp) + ON_COMMAND(ID_APP_ABOUT, OnAppAbout) + ON_UPDATE_COMMAND_UI(ID_FILE_AUTOLOAD, OnUpdateFileAutoload) + ON_COMMAND(ID_FILE_AUTOLOAD, OnFileAutoload) + ON_COMMAND(ID_HELP_LEGEND, OnHelpLegend) + //}}AFX_MSG_MAP + // Standard file based document commands + ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew) + ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen) + // Standard print setup command + ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup) +END_MESSAGE_MAP() + +///////////////////////////////////////////////////////////////////////////// +// CBigBrotherApp construction + +CBigBrotherApp::CBigBrotherApp() +{ + m_bLoadMRUOnStartup=TRUE; +} + +///////////////////////////////////////////////////////////////////////////// +// The one and only CBigBrotherApp object + +CBigBrotherApp theApp; + +///////////////////////////////////////////////////////////////////////////// +// CBigBrotherApp initialization + +BOOL CBigBrotherApp::InitInstance() +{ + if (!AfxSocketInit()) + { + AfxMessageBox(IDP_SOCKETS_INIT_FAILED); + return FALSE; + } + + // Standard initialization + // If you are not using these features and wish to reduce the size + // of your final executable, you should remove from the following + // the specific initialization routines you do not need. + +#ifdef _AFXDLL + Enable3dControls(); // Call this when using MFC in a shared DLL +#else + Enable3dControlsStatic(); // Call this when linking to MFC statically +#endif + + SetRegistryKey(IDS_REGISTRYKEY); + m_pszHelpFilePath="bigbro.hlp>Default"; + + LoadStdProfileSettings(); // Load standard INI file options (including MRU) + m_bLoadMRUOnStartup=GetProfileInt("Settings","LoadMRUOnStartup",m_bLoadMRUOnStartup); + + // Register the application's document templates. Document templates + // serve as the connection between documents, frame windows and views. + + CSingleDocTemplate* pDocTemplate; + pDocTemplate = new CSingleDocTemplate( + IDR_MAINFRAME, + RUNTIME_CLASS(CBigBrotherDoc), + RUNTIME_CLASS(CMainFrame), // main SDI frame window + RUNTIME_CLASS(CBigBrotherView)); + AddDocTemplate(pDocTemplate); + + // Enable DDE Execute open + EnableShellOpen(); + RegisterShellFileTypes(TRUE); + + // Parse command line for standard shell commands, DDE, file open + CCommandLineInfo cmdInfo; + ParseCommandLine(cmdInfo); + + // Dispatch commands specified on the command line + if (!ProcessShellCommand(cmdInfo)) + return FALSE; + if(m_bLoadMRUOnStartup && (cmdInfo.m_nShellCommand==CCommandLineInfo::FileNew)) + m_pMainWnd->SendMessage(WM_COMMAND,ID_FILE_MRU_FILE1,0); + + // Enable drag/drop open + m_pMainWnd->DragAcceptFiles(); + + return TRUE; +} + +///////////////////////////////////////////////////////////////////////////// +// CAboutDlg dialog used for App About + +class CAboutDlg : public CDialog +{ +public: + CAboutDlg(); + +// Dialog Data + //{{AFX_DATA(CAboutDlg) + enum { IDD = IDD_ABOUTBOX }; + //}}AFX_DATA + + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(CAboutDlg) + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + //}}AFX_VIRTUAL + +// Implementation +protected: + //{{AFX_MSG(CAboutDlg) + // No message handlers + //}}AFX_MSG + DECLARE_MESSAGE_MAP() +}; + +CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) +{ + //{{AFX_DATA_INIT(CAboutDlg) + //}}AFX_DATA_INIT +} + +void CAboutDlg::DoDataExchange(CDataExchange* pDX) +{ + CDialog::DoDataExchange(pDX); + //{{AFX_DATA_MAP(CAboutDlg) + //}}AFX_DATA_MAP +} + +BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) + //{{AFX_MSG_MAP(CAboutDlg) + // No message handlers + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + +// App command to run the dialog +void CBigBrotherApp::OnAppAbout() +{ + CAboutDlg aboutDlg; + aboutDlg.DoModal(); +} + +///////////////////////////////////////////////////////////////////////////// +// CBigBrotherApp commands + +int CBigBrotherApp::ExitInstance() +{ + WriteProfileInt("Settings","LoadMRUOnStartup",m_bLoadMRUOnStartup); + return CWinApp::ExitInstance(); +} + +void CBigBrotherApp::OnUpdateFileAutoload(CCmdUI* pCmdUI) +{ + pCmdUI->SetCheck(m_bLoadMRUOnStartup?1:0); +} + +void CBigBrotherApp::OnFileAutoload() +{ + m_bLoadMRUOnStartup=!m_bLoadMRUOnStartup; +} + +void CBigBrotherApp::OnHelpLegend() +{ + WinHelp(0x10000lu+ID_HELP_LEGEND,HELP_CONTEXTPOPUP); +} -- cgit v0.9.0.2