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

📄 mappp.h

📁 这是非常有挑战性的题目。对于用户输入的任意一个平面函数f(x)
💻 H
字号:
// MapPP.h : Declaration of the CMapPP

#ifndef __MAPPP_H_
#define __MAPPP_H_

#include "resource.h"       // main symbols

EXTERN_C const CLSID CLSID_MapPP;

/////////////////////////////////////////////////////////////////////////////
// CMapPP
class ATL_NO_VTABLE CMapPP :
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CMapPP, &CLSID_MapPP>,
	public IPropertyPageImpl<CMapPP>,
	public CDialogImpl<CMapPP>
{
public:
	CMapPP() 
	{
		m_dwTitleID = IDS_TITLEMapPP;
		m_dwHelpFileID = IDS_HELPFILEMapPP;
		m_dwDocStringID = IDS_DOCSTRINGMapPP;
	}

	enum {IDD = IDD_MAPPP};

DECLARE_REGISTRY_RESOURCEID(IDR_MAPPP)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CMapPP) 
	COM_INTERFACE_ENTRY(IPropertyPage)
END_COM_MAP()

BEGIN_MSG_MAP(CMapPP)
	CHAIN_MSG_MAP(IPropertyPageImpl<CMapPP>)
	MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
	COMMAND_HANDLER(IDC_X, EN_CHANGE, OnChange)
	COMMAND_HANDLER(IDC_Y, EN_CHANGE, OnChange)
	COMMAND_HANDLER(IDC_EXPRESSION, EN_CHANGE, OnChange)
END_MSG_MAP()
// Handler prototypes:
//  LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
//  LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
//  LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);

	STDMETHOD(Apply)(void)
	{
		ATLTRACE(_T("CMapPP::Apply\n"));
		for (UINT i = 0; i < m_nObjects; i++)
		{
			// Do something interesting here
			// ICircCtl* pCirc;
			// m_ppUnk[i]->QueryInterface(IID_ICircCtl, (void**)&pCirc);
			// pCirc->put_Caption(CComBSTR("something special"));
			// pCirc->Release();

			USES_CONVERSION;
			TCHAR strX[20],strY[20];
			GetDlgItemText( IDC_X, strX, sizeof( strX ) );
			GetDlgItemText( IDC_Y, strY, sizeof( strY ) );

			CComQIPtr< IMap > pMap( m_ppUnk[i] );
			pMap->put_MaxX( atof( T2CA(strX) ) );
			pMap->put_MaxY( atof( T2CA(strY) ) );

			BSTR bstrText=NULL;
			GetDlgItemText( IDC_EXPRESSION, bstrText );
			pMap->put_Expression( bstrText );
			if( bstrText )	::SysFreeString( bstrText );
		}
		m_bDirty = FALSE;
		return S_OK;
	}
	LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
	{
		CComQIPtr< IMap > pMap( m_ppUnk[0] );

		double x,y;
		pMap->get_MaxX( &x );
		pMap->get_MaxY( &y );

		char strX[20],strY[20];
		::_gcvt(x,7,strX);
		::_gcvt(y,7,strY);

		USES_CONVERSION;
		SetDlgItemText( IDC_X, A2CT(strX) );
		SetDlgItemText( IDC_Y, A2CT(strY) );

		CComBSTR sExp;
		pMap->get_Expression( &sExp );
		SetDlgItemText( IDC_EXPRESSION, OLE2CT( sExp ) );

		SetDirty(FALSE);		return 0;
	}
	LRESULT OnChange(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
	{
		SetDirty( TRUE );		return 0;
	}
};

#endif //__MAPPP_H_

⌨️ 快捷键说明

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