亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? map.h

?? 這是非常有挑戰(zhàn)性的題目。對(duì)于用戶輸入的任意一個(gè)平面函數(shù)f(x)
?? H
字號(hào):
// Map.h : Declaration of the CMap

#ifndef __MAP_H_
#define __MAP_H_

#include "resource.h"       // main symbols
#include <atlctl.h>
#include <activscp.h>
#include "FunMapCP.h"

/////////////////////////////////////////////////////////////////////////////
// CMap

const int nPointCount = 200;	// 計(jì)算 X 方向200個(gè)點(diǎn)

class ATL_NO_VTABLE CMap : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CStockPropImpl<CMap, IMap, &IID_IMap, &LIBID_FUNMAPLib>,
	public CComControl<CMap>,
	public IPersistStreamInitImpl<CMap>,
	public IOleControlImpl<CMap>,
	public IOleObjectImpl<CMap>,
	public IOleInPlaceActiveObjectImpl<CMap>,
	public IViewObjectExImpl<CMap>,
	public IOleInPlaceObjectWindowlessImpl<CMap>,
	public ISupportErrorInfo,
	public IConnectionPointContainerImpl<CMap>,
	public IPersistStorageImpl<CMap>,
	public ISpecifyPropertyPagesImpl<CMap>,
	public IQuickActivateImpl<CMap>,
	public IDataObjectImpl<CMap>,
	public IProvideClassInfo2Impl<&CLSID_Map, &DIID__IMapEvents, &LIBID_FUNMAPLib>,
	public IPropertyNotifySinkCP<CMap>,
	public CComCoClass<CMap, &CLSID_Map>,
	public IPersistPropertyBagImpl<CMap>,	// 手工添加持續(xù)性屬性包的接口
	public IActiveScriptSite,				// 手工添加腳本主機(jī)的接口
	public CProxy_IMapEvents< CMap >
{
public:
	CMap()
	{
		m_clrBackColor = RGB( 0, 0, 0 );			// 默認(rèn)背景(黑)
		m_clrBorderColor = RGB( 128, 128, 128 );	// 默認(rèn)坐標(biāo)線(灰)
		m_clrForeColor = RGB( 255, 255, 0 );		// 默認(rèn)函數(shù)曲線(黃)

		m_xMax=4.0;		// 默認(rèn) X 軸范圍 [-4.0 , +4.0]
		m_yMax=1.0;		// 默認(rèn) Y 軸范圍 [-1.0 , +1.0]

		// 清空坐標(biāo)點(diǎn)數(shù)據(jù)
		::memset( m_xVal, 0, sizeof(double) * nPointCount );
		::memset( m_yVal, 0, sizeof(double) * nPointCount );
	}

DECLARE_REGISTRY_RESOURCEID(IDR_MAP)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CMap)
	COM_INTERFACE_ENTRY(IMap)
	COM_INTERFACE_ENTRY(IDispatch)
	COM_INTERFACE_ENTRY(IViewObjectEx)
	COM_INTERFACE_ENTRY(IViewObject2)
	COM_INTERFACE_ENTRY(IViewObject)
	COM_INTERFACE_ENTRY(IOleInPlaceObjectWindowless)
	COM_INTERFACE_ENTRY(IOleInPlaceObject)
	COM_INTERFACE_ENTRY2(IOleWindow, IOleInPlaceObjectWindowless)
	COM_INTERFACE_ENTRY(IOleInPlaceActiveObject)
	COM_INTERFACE_ENTRY(IOleControl)
	COM_INTERFACE_ENTRY(IOleObject)
	COM_INTERFACE_ENTRY(IPersistStreamInit)
	COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit)
	COM_INTERFACE_ENTRY(ISupportErrorInfo)
	COM_INTERFACE_ENTRY(IConnectionPointContainer)
	COM_INTERFACE_ENTRY(ISpecifyPropertyPages)
	COM_INTERFACE_ENTRY(IQuickActivate)
	COM_INTERFACE_ENTRY(IPersistStorage)
	COM_INTERFACE_ENTRY(IDataObject)
	COM_INTERFACE_ENTRY(IProvideClassInfo)
	COM_INTERFACE_ENTRY(IProvideClassInfo2)
	COM_INTERFACE_ENTRY(IPersistPropertyBag)	// 添加持續(xù)性屬性包接口
	COM_INTERFACE_ENTRY(IActiveScriptSite)		// 添加腳本主機(jī)接口
	COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)
END_COM_MAP()

BEGIN_PROP_MAP(CMap)
	PROP_DATA_ENTRY("_cx", m_sizeExtent.cx, VT_UI4)
	PROP_DATA_ENTRY("_cy", m_sizeExtent.cy, VT_UI4)
	PROP_ENTRY("Expression", 1, CLSID_MapPP)		// 屬性:函數(shù)式
	PROP_ENTRY("MaxX", 2, CLSID_MapPP)				// 屬性:X半軸最大值
	PROP_ENTRY("MaxY", 3, CLSID_MapPP)				// 屬性:Y半軸最大值
	PROP_ENTRY("BackColor", DISPID_BACKCOLOR, CLSID_StockColorPage)
	PROP_ENTRY("BorderColor", DISPID_BORDERCOLOR, CLSID_StockColorPage)
	PROP_ENTRY("ForeColor", DISPID_FORECOLOR, CLSID_StockColorPage)
	// Example entries
	// PROP_ENTRY("Property Description", dispid, clsid)
	// PROP_PAGE(CLSID_StockColorPage)
END_PROP_MAP()

BEGIN_CATEGORY_MAP(CMap)		// 添加腳本安全組件類型
	IMPLEMENTED_CATEGORY(CATID_SafeForScripting)
	IMPLEMENTED_CATEGORY(CATID_SafeForInitializing)
END_CATEGORY_MAP()

BEGIN_CONNECTION_POINT_MAP(CMap)
	CONNECTION_POINT_ENTRY(IID_IPropertyNotifySink)
	CONNECTION_POINT_ENTRY(DIID__IMapEvents)
END_CONNECTION_POINT_MAP()

BEGIN_MSG_MAP(CMap)
	CHAIN_MSG_MAP(CComControl<CMap>)
	DEFAULT_REFLECTION_HANDLER()
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);



// ISupportsErrorInfo
	STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid)
	{
		static const IID* arr[] = 
		{
			&IID_IMap,
		};
		for (int i=0; i<sizeof(arr)/sizeof(arr[0]); i++)
		{
			if (InlineIsEqualGUID(*arr[i], riid))
				return S_OK;
		}
		return S_FALSE;
	}

// IViewObjectEx
	DECLARE_VIEW_STATUS(VIEWSTATUS_SOLIDBKGND | VIEWSTATUS_OPAQUE)

// IActiveScriptSite	添加腳本主機(jī)接口的方法聲明
	STDMETHOD(GetLCID)(/*[out]*/ LCID *plcid);
	STDMETHOD(GetItemInfo)(/*[in]*/ LPCOLESTR pstrName, /*[in]*/ DWORD dwReturnMask, /*[out]*/ IUnknown **ppunkItem, /*[out]*/ ITypeInfo **ppTypeInfo);
	STDMETHOD(GetDocVersionString)(/*[out]*/ BSTR *pbstrVersionString);
	STDMETHOD(OnScriptTerminate)(/*[in]*/ const VARIANT *pvarResult, /*[in]*/ const EXCEPINFO *pexcepinfo);
	STDMETHOD(OnStateChange)(/*[in]*/ SCRIPTSTATE ssScriptState);
	STDMETHOD(OnScriptError)(/*[in]*/ IActiveScriptError *pase);
	STDMETHOD(OnEnterScript)(void);
	STDMETHOD(OnLeaveScript)(void);

// IMap
public:
	// 腳本擴(kuò)展方法:計(jì)算10為底的對(duì)數(shù)
	STDMETHOD(Log10)(/*[in]*/ double dbVal, /*[out,retval]*/ double * pdbVal);
	// 腳本擴(kuò)展屬性:只讀屬性 PI
	STDMETHOD(get_Pi)(/*[out, retval]*/ double *pVal);
	// 腳本擴(kuò)展方法:用來(lái)保存腳本計(jì)算后的函數(shù)曲線坐標(biāo)點(diǎn)
	// i: 第幾個(gè)點(diǎn)		x: 自變量			y: 因變量
	STDMETHOD(Result)(/*[in]*/ long i, /*[in]*/ double x, /*[in]*/ double y);

	// 屬性讀寫(xiě)函數(shù)
	STDMETHOD(get_Expression)(/*[out, retval]*/ BSTR *pVal);
	STDMETHOD(put_Expression)(/*[in]*/ BSTR newVal);
	STDMETHOD(get_MaxY)(/*[out, retval]*/ double *pVal);
	STDMETHOD(put_MaxY)(/*[in]*/ double newVal);
	STDMETHOD(get_MaxX)(/*[out, retval]*/ double *pVal);
	STDMETHOD(put_MaxX)(/*[in]*/ double newVal);

	double m_xMax;					// 保存屬性 X 半軸的最大值
	double m_yMax;					// 保存屬性 Y 半軸的最大值
	double m_xVal[nPointCount];		// 自變量點(diǎn)
	double m_yVal[nPointCount];		// 因變量點(diǎn)
	CComBSTR m_sExpression;			// 函數(shù)式

	HRESULT OnDraw(ATL_DRAWINFO& di)
	{
		// 取得繪圖范圍
		RECT& rc = *(RECT*)di.prcBounds;
		// 計(jì)算坐標(biāo)原點(diǎn)
		long x = rc.left + ( rc.right - rc.left )/2;
		long y = rc.top + ( rc.bottom - rc.top )/2;
		// 用背景顏色填充
		COLORREF clr;
		::OleTranslateColor( m_clrBackColor, NULL, &clr);
		HBRUSH hbr = ::CreateSolidBrush( clr );
		hbr = (HBRUSH)::SelectObject( di.hdcDraw, hbr );
		Rectangle( di.hdcDraw, rc.left, rc.top, rc.right, rc.bottom );
		hbr = (HBRUSH)::SelectObject( di.hdcDraw, hbr );
		::DeleteObject( hbr );
		// 繪制坐標(biāo)線
		::OleTranslateColor( m_clrBorderColor, NULL, &clr );
		HPEN hPen = ::CreatePen( PS_SOLID, 0, clr );
		hPen = (HPEN)::SelectObject( di.hdcDraw, hPen );
		// 畫(huà) X 軸
		::MoveToEx( di.hdcDraw, rc.left, y, NULL );
		::LineTo( di.hdcDraw, rc.right, y );
		// 畫(huà) X 軸上的箭頭
		::SetPixel( di.hdcDraw, rc.right-2, y-1, clr );
		::SetPixel( di.hdcDraw, rc.right-3, y-1, clr );
		::SetPixel( di.hdcDraw, rc.right-3, y-2, clr );
		::SetPixel( di.hdcDraw, rc.right-4, y-1, clr );
		::SetPixel( di.hdcDraw, rc.right-4, y-2, clr );
		::SetPixel( di.hdcDraw, rc.right-4, y-3, clr );

		// 畫(huà) Y 軸
		::MoveToEx( di.hdcDraw, x, rc.top, NULL );
		::LineTo( di.hdcDraw, x, rc.bottom );
		// 畫(huà) Y 軸上的箭頭
		::SetPixel( di.hdcDraw, x-1, rc.top+1, clr );
		::SetPixel( di.hdcDraw, x-1, rc.top+2, clr );
		::SetPixel( di.hdcDraw, x-2, rc.top+2, clr );
		::SetPixel( di.hdcDraw, x-1, rc.top+3, clr );
		::SetPixel( di.hdcDraw, x-2, rc.top+3, clr );
		::SetPixel( di.hdcDraw, x-3, rc.top+3, clr );

		hPen = (HPEN)::SelectObject( di.hdcDraw, hPen );
		::DeleteObject( hPen );

		// 繪制函數(shù)曲線坐標(biāo)點(diǎn)
		::OleTranslateColor( m_clrForeColor, NULL, &clr );
		for( int i=0; i<nPointCount; i++ )
		{
			long xPos = (long)( x + ( rc.right - rc.left ) * m_xVal[i] / (m_xMax*2) );
			long yPos = (long)( y - ( rc.bottom - rc.top ) * m_yVal[i] / (m_yMax*2) );

			if(xPos>=rc.left && xPos<rc.right &&
				yPos>=rc.top && yPos<rc.bottom)
			{
				::SetPixel( di.hdcDraw, xPos, yPos, clr );
			}
		}

		return S_OK;
	}
	OLE_COLOR m_clrBackColor;		// 背景色
	OLE_COLOR m_clrBorderColor;		// 坐標(biāo)線顏色
	OLE_COLOR m_clrForeColor;		// 函數(shù)曲線顏色

private:
	BOOL Calc();	// 計(jì)算函數(shù)曲線的坐標(biāo)函數(shù)
};

#endif //__MAP_H_

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国内精品视频| 亚洲成人精品影院| 床上的激情91.| 国产精品素人视频| 97久久超碰国产精品| 亚洲国产毛片aaaaa无费看| 欧美三片在线视频观看| 免费的成人av| 国产精品日韩精品欧美在线| 91美女视频网站| 日本欧美加勒比视频| 久久九九全国免费| 色丁香久综合在线久综合在线观看| 一级日本不卡的影视| 欧美精品第1页| 国产高清久久久| 亚洲色图都市小说| 欧美一级高清片| av成人动漫在线观看| 亚洲电影欧美电影有声小说| 欧美大尺度电影在线| 不卡区在线中文字幕| 亚洲午夜视频在线| 久久综合九色综合97婷婷| 91蜜桃网址入口| 美女视频一区二区| ...av二区三区久久精品| 91精品久久久久久蜜臀| 粉嫩av一区二区三区| 亚洲国产精品久久久久婷婷884 | 亚洲国产美国国产综合一区二区| 欧美一区二区三区在线看| 成人中文字幕电影| 亚洲国产日韩av| 日本一区免费视频| 在线成人高清不卡| 99久久久精品| 久久99精品国产麻豆婷婷洗澡| 亚洲乱码国产乱码精品精可以看| 色综合天天狠狠| 国产精品午夜久久| 日韩欧美亚洲一区二区| 久久精品夜色噜噜亚洲aⅴ| 久久精品欧美日韩精品| 精品国产免费人成电影在线观看四季 | 亚洲欧美日韩国产另类专区| 国产精品久久久久久久久图文区 | 99久久免费视频.com| 成人av在线观| 色偷偷久久一区二区三区| 在线观看av一区| 欧美三级视频在线| 91.麻豆视频| 欧美成人免费网站| 久久久久国产精品厨房| 国产精品国产三级国产三级人妇| 中文字幕在线不卡一区| 亚洲美女在线国产| 视频一区中文字幕| 国产一区二区三区免费在线观看| 国产·精品毛片| 色婷婷久久久亚洲一区二区三区 | 久久九九影视网| 国产精品乱码人人做人人爱| 亚洲欧美成aⅴ人在线观看| 有坂深雪av一区二区精品| 亚洲小说春色综合另类电影| 亚洲视频 欧洲视频| 亚洲一区在线视频观看| 奇米影视在线99精品| 精一区二区三区| 国内外精品视频| 国产精品99久久久久久宅男| 国产揄拍国内精品对白| 国产成人精品免费| 播五月开心婷婷综合| 日本精品视频一区二区三区| 欧美一区日本一区韩国一区| 欧美国产成人精品| 黄色精品一二区| 国产乱码精品一区二区三区忘忧草 | 亚洲一区在线观看免费| 精品一区二区三区在线观看| 北岛玲一区二区三区四区| 欧美日韩二区三区| 国产午夜精品在线观看| 亚洲一区二区三区视频在线播放| 国产中文一区二区三区| 91黄色免费网站| www国产成人免费观看视频 深夜成人网| 国产精品理论片在线观看| 琪琪一区二区三区| 99久久久久久99| 亚洲精品一区二区在线观看| 亚洲女人小视频在线观看| 美腿丝袜亚洲色图| 色综合天天狠狠| 国产色综合久久| 午夜精品影院在线观看| 91色.com| 中文字幕欧美日韩一区| 日本免费新一区视频| 91激情在线视频| 国产精品女人毛片| 国产酒店精品激情| 欧美精品tushy高清| 专区另类欧美日韩| 国产91在线|亚洲| 亚洲精品一区二区三区影院| 亚洲va欧美va天堂v国产综合| 成人黄色小视频在线观看| 日韩欧美国产一二三区| 亚洲大型综合色站| 91视频.com| 国产欧美日韩亚州综合 | 欧美色综合网站| 91久久一区二区| 欧美精品一区二| 亚洲高清免费观看| 成人aa视频在线观看| 久久久久久一级片| 久久精品国产77777蜜臀| 欧美性xxxxxxxx| 亚洲二区视频在线| 欧美亚洲一区三区| 一区二区在线观看av| 99久久久久久99| 亚洲色欲色欲www| 色综合天天综合狠狠| 国产精品福利影院| 成人成人成人在线视频| 国产精品国产三级国产| 国产.精品.日韩.另类.中文.在线.播放| 精品国产91久久久久久久妲己| 日韩高清中文字幕一区| 欧美日韩国产经典色站一区二区三区| 亚洲一区二区三区美女| 欧美色窝79yyyycom| 亚洲成人一区二区在线观看| 精品视频在线免费看| 午夜精品视频一区| 欧美又粗又大又爽| 午夜精品一区在线观看| 欧美一区二区三区喷汁尤物| 久久er精品视频| 久久亚洲捆绑美女| 成人激情视频网站| 亚洲欧洲综合另类| 一本高清dvd不卡在线观看| 悠悠色在线精品| 这里只有精品视频在线观看| 美女视频一区二区| 国产日韩欧美在线一区| 99久久久国产精品免费蜜臀| 亚洲免费伊人电影| 91麻豆精品国产自产在线| 久久国内精品自在自线400部| 久久免费精品国产久精品久久久久| 国产.欧美.日韩| 亚洲最新在线观看| 日韩一区二区在线观看视频播放| 国产综合色在线| 亚洲少妇中出一区| 欧美一区二区啪啪| 成人久久18免费网站麻豆| 亚洲综合男人的天堂| 日韩视频中午一区| 高清免费成人av| 夜夜精品浪潮av一区二区三区| 制服视频三区第一页精品| 国产精品一区专区| 亚洲精品免费播放| 日韩视频免费直播| 91在线观看美女| 日韩国产一二三区| 国产嫩草影院久久久久| 欧美日韩一区三区四区| 激情六月婷婷综合| 亚洲综合在线电影| 国产亚洲美州欧州综合国| 欧美色倩网站大全免费| 国产精品一色哟哟哟| 亚洲午夜一二三区视频| 久久久久久久av麻豆果冻| 欧美午夜电影在线播放| 国产91精品露脸国语对白| 爽好久久久欧美精品| 国产欧美日产一区| 欧美一区二区在线播放| 91在线免费看| 国产一区二区三区免费播放| 亚洲综合一区二区精品导航| 久久久久综合网| 91精品国产综合久久精品| 99久久免费视频.com| 国模一区二区三区白浆| 亚洲午夜精品在线| 亚洲欧美一区二区三区极速播放 | 欧美色精品在线视频| 成人美女在线观看|