电脑编程技巧和源码。很不错的。

源代码在线查看: change.cpp

软件大小: 335 K
上传用户: zhou28
关键词: 电脑 源码 编程技巧
下载地址: 免注册下载 普通下载 VIP

相关代码

				// change.cpp : Defines the class behaviors for the application.
				//
				
				#include "stdafx.h"
				#include "change.h"
				
				#include "MainFrm.h"
				
				#ifdef _DEBUG
				#define new DEBUG_NEW
				#undef THIS_FILE
				static char THIS_FILE[] = __FILE__;
				#endif
				
				/////////////////////////////////////////////////////////////////////////////
				// CChangeApp
				
				BEGIN_MESSAGE_MAP(CChangeApp, CWinApp)
					//{{AFX_MSG_MAP(CChangeApp)
					ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
					ON_COMMAND(ID_CHANGE, OnChange)
					ON_COMMAND(ID_UNCHANGE, OnUnchange)
					//}}AFX_MSG_MAP
				END_MESSAGE_MAP()
				
				/////////////////////////////////////////////////////////////////////////////
				// CChangeApp construction
				
				CChangeApp::CChangeApp()
				{
					// TODO: add construction code here,
					// Place all significant initialization in InitInstance
				}
				
				/////////////////////////////////////////////////////////////////////////////
				// The one and only CChangeApp object
				
				CChangeApp theApp;
				
				/////////////////////////////////////////////////////////////////////////////
				// CChangeApp initialization
				
				BOOL CChangeApp::InitInstance()
				{
					AfxEnableControlContainer();
				
					// 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
				
					// Change the registry key under which our settings are stored.
					// TODO: You should modify this string to be something appropriate
					// such as the name of your company or organization.
					SetRegistryKey(_T("Local AppWizard-Generated Applications"));
				
				
					// To create the main window, this code creates a new frame window
					// object and then sets it as the application's main window object.
				
					CMainFrame* pFrame = new CMainFrame;
					m_pMainWnd = pFrame;
				
				//	hmenu=GetMenu(hwnd);
				//	EnableMenuItem(hmenu,ID_UNCHANGE,MF_GRAYED);
				
					// create and load the frame with its resources
				
					pFrame->LoadFrame(IDR_MAINFRAME,
						WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, NULL,
						NULL);
				
					HWND hwnd=pFrame->GetSafeHwnd();
					hmenu=GetMenu(hwnd);
					EnableMenuItem(hmenu,ID_UNCHANGE,MF_GRAYED);
				
				
					// The one and only window has been initialized, so show and update it.
					pFrame->ShowWindow(SW_SHOW);
					pFrame->UpdateWindow();
					
					return TRUE;
				}
				
				/////////////////////////////////////////////////////////////////////////////
				// CChangeApp message handlers
				
				
				
				
				
				/////////////////////////////////////////////////////////////////////////////
				// 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 CChangeApp::OnAppAbout()
				{
					CAboutDlg aboutDlg;
					aboutDlg.DoModal();
				}
				
				/////////////////////////////////////////////////////////////////////////////
				// CChangeApp message handlers
				
				
				void CChangeApp::OnChange() 
				{
					// TODO: Add your command handler code here
					m_hook.Start();
					EnableMenuItem(hmenu,ID_CHANGE,MF_GRAYED);
				
					EnableMenuItem(hmenu,ID_UNCHANGE,MF_ENABLED);
				
				}
				
				void CChangeApp::OnUnchange() 
				{
					// TODO: Add your command handler code here
					m_hook.Stop();
					EnableMenuItem(hmenu,ID_CHANGE,MF_ENABLED);
				
					EnableMenuItem(hmenu,ID_UNCHANGE,MF_GRAYED);
				
				}
							

相关资源