Click here to Skip to main content
15,884,298 members
Articles / Desktop Programming / MFC

CCurveDlg - Curve Interpolation

Rate me:
Please Sign up or sign in to vote.
2.75/5 (4 votes)
15 Sep 20012 min read 113.4K   5.3K   42  
A Photoshop-like curve dialog.
#ifndef _JANSSENS_JOHAN_CURVEDLG_H_
#define _JANSSENS_JOHAN_CURVEDLG_H_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "CurveWnd.h"

class CCurvesDlg : public CDialog
{
// Construction
public:
	CCurvesDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CCurvesDlg)
	enum { IDD = IDD_CURVES_DIALOG };
	CButton	m_cDelCurve;
	CButton	m_cAddCurve;
	CComboBox	m_cSelectCurve;
	CEdit	m_cOutput;
	CListBox	m_cSmoothing;
	CButton	m_cSave;
	CButton	m_cParabolic;
	CButton	m_cNew;
	CButton	m_cLoad;
	CEdit	m_cInput;
	CButton	m_cDiscreet;
	CButton	m_cAveraging;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CCurvesDlg)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	//Implemenation
	BOOL CreateCurveWnd();

	void InsertCurve(CString strCurve);
	void RemoveCurve(UINT nIndex);
	
	void RemoveAllCurves();

	//Implementation
	HICON m_hIcon;

	//Canvas Wnd
	CCurveWnd	m_cCurveWnd;
	UINT		m_nCurveIndex;	

	//Tooltips
	CToolTipCtrl m_cToolTip;

	// Generated message map functions
	//{{AFX_MSG(CCurvesDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnAveraging();
	afx_msg void OnParabolic();
	afx_msg void OnLoad();
	afx_msg void OnSave();
	afx_msg void OnAddcurve();
	afx_msg void OnDelcurve();
	afx_msg void OnNew();
	afx_msg void OnSelchangeSelectcurve();
	afx_msg void OnDiscreet();
	afx_msg void OnAuto();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

private :

	CCurveObject* m_pCurveObj;	//Currect CurveObject
	CObArray	m_arrCurves;	//Curve Object Array
};

/////////////////////////////////////////////////////////////////////////////
#endif // _JANSSENS_JOHAN_CURVEDLG_H_

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 has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
Russian Federation Russian Federation
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions