Click here to Skip to main content
Click here to Skip to main content
Articles » Multimedia » GDI+ » Applications » Downloads
 
Add your own
alternative version

GDI+ Plot ActiveX Control

, 5 Sep 2013
GDI+ 2D plot ActiveX control
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++

// NOTE: Do not modify the contents of this file.  If this class is regenerated by
//  Microsoft Visual C++, your modifications will be overwritten.


#include "stdafx.h"
#include "gdiplusplot.h"

/////////////////////////////////////////////////////////////////////////////
// CGDIPlusPlot

IMPLEMENT_DYNCREATE(CGDIPlusPlot, CWnd)

/////////////////////////////////////////////////////////////////////////////
// CGDIPlusPlot properties

CString CGDIPlusPlot::GetCaption()
{
	CString result;
	GetProperty(0x1, VT_BSTR, (void*)&result);
	return result;
}

void CGDIPlusPlot::SetCaption(LPCTSTR propVal)
{
	SetProperty(0x1, VT_BSTR, propVal);
}

BOOL CGDIPlusPlot::GetXTime()
{
	BOOL result;
	GetProperty(0x2, VT_BOOL, (void*)&result);
	return result;
}

void CGDIPlusPlot::SetXTime(BOOL propVal)
{
	SetProperty(0x2, VT_BOOL, propVal);
}

CString CGDIPlusPlot::GetXLabel()
{
	CString result;
	GetProperty(0x3, VT_BSTR, (void*)&result);
	return result;
}

void CGDIPlusPlot::SetXLabel(LPCTSTR propVal)
{
	SetProperty(0x3, VT_BSTR, propVal);
}

CString CGDIPlusPlot::GetYLabel()
{
	CString result;
	GetProperty(0x4, VT_BSTR, (void*)&result);
	return result;
}

void CGDIPlusPlot::SetYLabel(LPCTSTR propVal)
{
	SetProperty(0x4, VT_BSTR, propVal);
}

short CGDIPlusPlot::GetInterval()
{
	short result;
	GetProperty(0x5, VT_I2, (void*)&result);
	return result;
}

void CGDIPlusPlot::SetInterval(short propVal)
{
	SetProperty(0x5, VT_I2, propVal);
}

CString CGDIPlusPlot::GetAnnolabel()
{
	CString result;
	GetProperty(0x6, VT_BSTR, (void*)&result);
	return result;
}

void CGDIPlusPlot::SetAnnolabel(LPCTSTR propVal)
{
	SetProperty(0x6, VT_BSTR, propVal);
}

BOOL CGDIPlusPlot::GetXTrack()
{
	BOOL result;
	GetProperty(0x7, VT_BOOL, (void*)&result);
	return result;
}

void CGDIPlusPlot::SetXTrack(BOOL propVal)
{
	SetProperty(0x7, VT_BOOL, propVal);
}

/////////////////////////////////////////////////////////////////////////////
// CGDIPlusPlot operations

void CGDIPlusPlot::PlotXY(double xValue, double yValue, short index)
{
	static BYTE parms[] =
		VTS_R8 VTS_R8 VTS_I2;
	InvokeHelper(0x8, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 xValue, yValue, index);
}

void CGDIPlusPlot::SetRange(double xMin, double xMax, double yMin, double yMax)
{
	static BYTE parms[] =
		VTS_R8 VTS_R8 VTS_R8 VTS_R8;
	InvokeHelper(0x9, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 xMin, xMax, yMin, yMax);
}

void CGDIPlusPlot::PlotY(double newValue, short index)
{
	static BYTE parms[] =
		VTS_R8 VTS_I2;
	InvokeHelper(0xa, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 newValue, index);
}

void CGDIPlusPlot::ClearGraph()
{
	InvokeHelper(0xb, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}

void CGDIPlusPlot::AddElement(short color)
{
	static BYTE parms[] =
		VTS_I2;
	InvokeHelper(0xc, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 color);
}

void CGDIPlusPlot::IsElementVisible(short index, BOOL visible)
{
	static BYTE parms[] =
		VTS_I2 VTS_BOOL;
	InvokeHelper(0xd, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 index, visible);
}

void CGDIPlusPlot::SetXCursorPos(double xValue)
{
	static BYTE parms[] =
		VTS_R8;
	InvokeHelper(0xe, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 xValue);
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The GNU Lesser General Public License (LGPLv3)

About the Author

Leslie Zhai
Engineer
China China
An individual human existence should be like a river - small at first, narrowly contained within its banks, and rushing passionately past boulders and over waterfalls. Gradually the river grows wider, the banks recede, the waters flow more quietly, and in the end, without any visible break, they become merged in the sea, and painlessly lose their individual being.
Follow on   Twitter   Google+   LinkedIn

| Advertise | Privacy | Mobile
Web04 | 2.8.140721.1 | Last Updated 6 Sep 2013
Article Copyright 2009 by Leslie Zhai
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid