www.pudn.com > EditFlat_demo.zip > EditFlat.h


// Legal copyright: 
// 
// Author: 
// 
// Avtukhov Roman Victorovich 
// Lipetsk, RUSSIAN FEDERATION. 
// E-Mail: riku_rv@yahoo.com 
// all rights reserved. 
// 
// This code provided is for FREE (free changed, distribute, copy and others. 
// I will be very glad, if You place my name in Your application where this code 
// will be used. 
// Best regards! 
 
#if !defined(AFX_EDITFLAT_H__300DD998_4052_41E0_BB91_A15267C90623__INCLUDED_) 
#define AFX_EDITFLAT_H__300DD998_4052_41E0_BB91_A15267C90623__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
// EditFlat.h : header file 
// 
#include  
 
// setup system static library for link 
#pragma comment (lib, "winmm.lib") 
 
///////////////////////////////////////////////////////////////////////////// 
// CEditFlat window 
 
// Flat edit control MFC class 
class CEditFlat : public CEdit 
{ 
 
public: 
 
	// Set up sounds 
	// LPCTSTR pStrActivateSound = sound when mouse on control activated 
	// LPCTSTR pStrVerticalSound = sound when vertical scroll clicked 
	// LPCTSTR pStrHorizontalSound = sound when horizontal scroll clicked 
	BOOL SetSounds (LPCTSTR pStrActivateSound, LPCTSTR pStrVerticalSound = NULL, LPCTSTR pStrHorizontalSound = NULL); 
 
	// Set up resource instance 
	// (sound will be load from this resource) 
	// if function was not called, default instance is used 
	BOOL SetResourceHandle (HINSTANCE hInstance); 
 
 
public: 
	// Default constructor 
	CEditFlat(); 
	// Destructor 
	virtual ~CEditFlat(); 
 
// Overrides 
// ClassWizard generated virtual function overrides 
//{{AFX_VIRTUAL(CEditFlat) 
	protected: 
	virtual void PreSubclassWindow(); 
	//}}AFX_VIRTUAL 
 
protected: 
	 
	BOOL DrawEdit (VOID); 
 
	// Handle of main applications 
	HINSTANCE m_hInstance; 
	 
	// Sound names 
	CString m_StrVScrollSound; 
	CString m_StrHScrollSound; 
	CString m_StrActivateSound; 
	 
	// class variables 
	BOOL m_bIsActivateSound; 
	BOOL m_bIsVScrollSound; 
	BOOL m_bIsHScrollSound; 
	BYTE m_bHorizontalFrameWidth; 
	BYTE m_bVerticalFrameWidth; 
	BYTE m_iHorizontalScrollWidth; 
	BYTE m_iVerticalScrollWidthLeft; 
	BYTE m_iVerticalScrollWidthRight; 
	BOOL GetSysColors (VOID); 
	BOOL m_bIsFocused; 
	 
	// Dafault system colors 
	COLORREF m_clrButton; 
	COLORREF m_clrDarkShadow; 
	COLORREF m_clrShadow; 
	COLORREF m_clrHiLite; 
 
	// this variable is sets when mouse on edit 
	BOOL m_bMouseOnEdit; 
	BOOL m_bHScrollPressed; 
	BOOL m_bVScrollPressed; 
	CString m_StrWaveName; 
 
	//{{AFX_MSG(CEditFlat) 
	afx_msg void OnMouseMove(UINT nFlags, CPoint point); 
	afx_msg void OnPaint(); 
	afx_msg void OnSetFocus(CWnd* pOldWnd); 
	afx_msg void OnKillFocus(CWnd* pNewWnd); 
	afx_msg void OnSysColorChange(); 
	afx_msg void OnStyleChanging( int nStyleType, LPSTYLESTRUCT lpStyleStruct); 
	afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); 
	afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); 
	//}}AFX_MSG 
	DECLARE_MESSAGE_MAP() 
}; 
 
///////////////////////////////////////////////////////////////////////////// 
 
//{{AFX_INSERT_LOCATION}} 
// Microsoft Visual C++ will insert additional declarations immediately before the previous line. 
 
#endif // !defined(AFX_EDITFLAT_H__300DD998_4052_41E0_BB91_A15267C90623__INCLUDED_)