Click here to Skip to main content
15,885,757 members
Articles / Desktop Programming / MFC

BigClock with Transparent Background

Rate me:
Please Sign up or sign in to vote.
4.82/5 (15 votes)
19 Jan 2008CPOL1 min read 57.8K   2.8K   59  
BigClock with Transparent Background based on the 7 segment LCD
  • bigclock.zip
    • .svn
      • text-base
        • About.cpp.svn-base
        • About.h.svn-base
        • bigclock.cpp.svn-base
        • bigclock.dsp.svn-base
        • bigclock.dsw.svn-base
        • bigclock.h.svn-base
        • bigclock.rc.svn-base
        • bigclockDlg.cpp.svn-base
        • bigclockDlg.h.svn-base
        • Config.cpp.svn-base
        • Config.h.svn-base
        • label1.cpp.svn-base
        • label1.h.svn-base
        • lcd7.cpp.svn-base
        • lcd7.h.svn-base
        • ReadMe.txt.svn-base
        • resource.h.svn-base
        • StdAfx.cpp.svn-base
        • StdAfx.h.svn-base
    • About.cpp
    • About.h
    • bigclock.cpp
    • bigclock.dsp
    • bigclock.dsw
    • bigclock.h
    • bigclock.opt
    • bigclock.plg
    • bigclock.rc
    • bigclockDlg.cpp
    • bigclockDlg.h
    • Config.cpp
    • Config.h
    • label1.cpp
    • label1.h
    • lcd7.cpp
    • lcd7.h
    • ReadMe.txt
    • Release
      • .svn
        • prop-base
          • bigclock.exe.svn-base
        • text-base
          • bigclock.exe.svn-base
    • res
      • .svn
        • prop-base
          • bigclock.ico.svn-base
          • bitmap1.bmp.svn-base
          • Graphic1.bmp.svn-base
        • text-base
          • bigclock.ico.svn-base
          • bigclock.rc2.svn-base
          • bitmap1.bmp.svn-base
          • Graphic1.bmp.svn-base
      • bigclock.ico
      • bigclock.rc2
      • bitmap1.bmp
      • Graphic1.bmp
    • resource.h
    • StdAfx.cpp
    • StdAfx.h
#if !defined(AFX_LABEL_H__A4EABEC5_2E8C_11D1_B79F_00805F9ECE10__INCLUDED_)
#define AFX_LABEL_H__A4EABEC5_2E8C_11D1_B79F_00805F9ECE10__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// Label.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CLabel window
enum FlashType {None, Text, Background };

class CLabel : public CStatic
{
	DECLARE_DYNAMIC(CLabel)

	//{{AFX_VIRTUAL(CLabel)
	//}}AFX_VIRTUAL

// Construction
public:
	CLabel();
	CLabel& SetBkColor(COLORREF crBkgnd);
	CLabel& SetTextColor(COLORREF crText);
	CLabel& SetText(const CString& strText);
	CLabel& SetFontBold(BOOL bBold);
	CLabel& SetFontName(const CString& strFont);
	CLabel& SetFontUnderline(BOOL bSet);
	CLabel& SetFontItalic(BOOL bSet);
	CLabel& SetFontSize(int nSize);
	CLabel& SetSunken(BOOL bSet);
	CLabel& SetBorder(BOOL bSet);
	CLabel& FlashText(BOOL bActivate);
	CLabel& FlashBk(BOOL bActivate);
	CLabel& SetLink(BOOL bLink);
	CLabel& SetLinkCursor(HCURSOR hCursor);

	

// Attributes
public:

	
protected:

	int			m_inited;
	int			m_transparent;
	int			m_center;
	int			m_right;
	COLORREF	m_bkcolor;
	CString		m_text;

protected:

	void		ReDraw();
	void		RedrawParent();
	void		ReconstructFont();
	
	COLORREF	m_crText;
	HBRUSH		m_hBrush;
	HBRUSH		m_hwndBrush;
	LOGFONT		m_lf;
	CFont		m_font;

	//CString		m_strText;

	CString		m_backup;

	BOOL		m_bState;
	BOOL		m_bTimer;
	BOOL		m_bLink;
	FlashType	m_Type;
	HCURSOR		m_hCursor;

	RECT orig;
	afx_msg BOOL OnEraseBkgnd( CDC* pDC );


			// Operations
public:
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CLabel)
	//}}AFX_VIRTUAL

// Implementation
public:
	
	void SetTrans(int flag = true);
	void CenterText(int flag = true);
	void GetText(CString &str);
	
	virtual ~CLabel();

	// Generated message map functions
protected:
	void CalcSize();
	//{{AFX_MSG(CLabel)
	afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
	afx_msg void OnPaint(void);
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_LABEL_H__A4EABEC5_2E8C_11D1_B79F_00805F9ECE10__INCLUDED_)

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 Code Project Open License (CPOL)


Written By
Software Developer (Senior) Self Employed
United States United States
C, C++, DSP, Graphical Apps, UNIX, LINUX

Comments and Discussions