MFC的CStatic子类化,解决背景透明,文本重叠,刷新闪烁


两个CStatic子类,良好的解决了背景透明,动态设置文本时,防止文本重叠,防止刷新闪烁,我在PC和工控机上测试效果很不错,网上很多人的分享并没有解决我的问题,这两个类是CodeProject上面的,只是我对其做了修改,修改部分DEMO中有注释,利用我的使用,所以就不要积分了,我觉还是很有参考价值的
资源截图
代码片段和文件信息
// Label.cpp : implementation file
//

#include “stdafx.h“
#include “Label.h“

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

BEGIN_MESSAGE_MAP(CLabel CStatic)
//{{AFX_MSG_MAP(CLabel)
ON_WM_TIMER()
ON_WM_LBUTTONDOWN()
ON_WM_SETCURSOR()
ON_WM_SYSCOLORCHANGE()
ON_WM_PAINT()
ON_WM_ERASEBKGND()
//}}AFX_MSG_MAP
ON_WM_CTLCOLOR_REFLECT()
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLabel Version 1.2
//
// From now on I‘ll try to keep a log of fixes and enhancements...
// 
// The new feature were added due to the response of people.
// All I ask is to all you programmers out there is if you add fix or
// enhance this code sent me a copy and I‘ll send the copy on to www.codeproject.com
//
// Happy Software Engineer :)
// 
// New features include:
//
// A. Support for 3D Fonts
// B. Support for background transparency
// C. More comments provided
// D. If alignment is ‘centered‘ and the window text is seperated by ‘

//   the will be centered accordingly - requested by someone @ nasa ;)
// E. Support for font rotation.
// F. Respond to System Color Change
// G. OnPaint improved performance - using Double Buffering Technique
//
// Thanks to:
// Mark McDowell - For suggestion on ‘Increasing the flexibility of “hypertext“ setting...‘
// Erich Ruth - For suggestion on ‘Font Rotation‘
//

/////////////////////////////////////////////////////////////////////////////
// CLabel Version 1.3
//
// A. Added SS_LEFTNOWORDWRAP to include wordwrap
// B. Fix repainting problem 
// C. Fix SetBkColor
// D. Added SS_CENTER

// Thanks to:
// Marius - Added styling problem.
// Azing Vondeling & Broker - Spotting painting Problem.
// Mel Stober - Back Color & SS_CENTER
// 
/////////////////////////////////////////////////////////////////////////////
// CLabel Version 1.4
//
// A. Fix to transparency mode
// B. Added new SetText3DHiliteColor to change the 3D Font face color - default is white.
// 
// Thanks to:
// michael.groeger - Spotting Transparency with other controls bug.
//
//
/////////////////////////////////////////////////////////////////////////////
// CLabel Version 1.5
//
// A. Sanity handle check
// B. Support Interface Charset
// C. Check compilition with _UNICODE
// D. Fix hyperlink feature
// E. Support default Dialog Font
// F. Inclusion of SS_OWNERDRAW via control creation and subclassing
// G. Modification to Text aligmnent code
// H. New background gradient fill function
// 
// Thanks to:
// Steve Kowald - Using null handles 
// Alan Chan - Supporting International Windows
// Dieter Fauth - Request for default Dialog font
// Herb Illfelder - Text Alignment code
// 
/////////////////////////////////////////////////////////////////////////////
// CLabel Version 1.6
// Jeroen Roosendaal - SetFont suggestion
// Laurent

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-08-12 00:09  CStatic子类化_收集修改by唐太咸
     目录           0  2014-08-12 00:09  CStatic子类化_收集修改by唐太咸Label
     文件       31422  2014-08-11 18:21  CStatic子类化_收集修改by唐太咸LabelLabel.cpp
     文件        3599  2014-08-11 15:55  CStatic子类化_收集修改by唐太咸LabelLabel.h
     目录           0  2014-08-12 00:10  CStatic子类化_收集修改by唐太咸 cStatic_demo
     目录           0  2014-08-12 00:06  CStatic子类化_收集修改by唐太咸 cStatic_demoRelease
     文件     1576960  2014-08-11 18:30  CStatic子类化_收集修改by唐太咸 cStatic_demoRelease cStatic.exe
     文件     6417408  2014-08-11 18:30  CStatic子类化_收集修改by唐太咸 cStatic_demoRelease cStatic.pdb
     目录           0  2014-08-12 00:11  CStatic子类化_收集修改by唐太咸 cStatic_demo cStatic
     文件       11264  2014-08-12 00:10  CStatic子类化_收集修改by唐太咸 cStatic_demo cStatic.ncb
     文件         890  2014-07-28 14:48  CStatic子类化_收集修改by唐太咸 cStatic_demo cStatic.sln
     文件       65024  2014-08-11 18:31  CStatic子类化_收集修改by唐太咸 cStatic_demo cStatic.suo
     文件     1204388  2014-08-11 15:52  CStatic子类化_收集修改by唐太咸 cStatic_demo cStaticackground.bmp
     文件        2305  2014-07-28 14:48  CStatic子类化_收集修改by唐太咸 cStatic_demo cStaticDlgProxy.cpp
     文件         634  2014-07-28 14:48  CStatic子类化_收集修改by唐太咸 cStatic_demo cStaticDlgProxy.h
     文件       31422  2014-08-11 18:21  CStatic子类化_收集修改by唐太咸 cStatic_demo cStaticLabel.cpp
     文件        3599  2014-08-11 15:55  CStatic子类化_收集修改by唐太咸 cStatic_demo cStaticLabel.h
     文件        2193  2002-10-15 02:19  CStatic子类化_收集修改by唐太咸 cStatic_demo cStaticocci.h
     文件         542  2014-08-11 18:27  CStatic子类化_收集修改by唐太咸 cStatic_demo cStaticReadMe.txt
     目录           0  2014-08-12 00:06  CStatic子类化_收集修改by唐太咸 cStatic_demo cStatic
es
     文件         907  2014-08-11 16:20  CStatic子类化_收集修改by唐太咸 cStatic_demo cStatic
esource.h
     文件       21630  2003-07-24 09:52  CStatic子类化_收集修改by唐太咸 cStatic_demo cStatic
es cStatic.ico
     文件         364  2014-07-28 14:48  CStatic子类化_收集修改by唐太咸 cStatic_demo cStatic
es cStatic.rc2
     文件         139  2014-07-28 14:48  CStatic子类化_收集修改by唐太咸 cStatic_demo cStaticstdafx.cpp
     文件        2488  2014-07-28 14:48  CStatic子类化_收集修改by唐太咸 cStatic_demo cStaticstdafx.h
     文件        1030  2014-07-28 14:48  CStatic子类化_收集修改by唐太咸 cStatic_demo cStatic argetver.h
     文件     1263376  2014-08-11 18:30  CStatic子类化_收集修改by唐太咸 cStatic_demo cStatic cStatic.aps
     文件        2982  2014-07-28 14:48  CStatic子类化_收集修改by唐太咸 cStatic_demo cStatic cStatic.cpp
     文件         449  2014-07-28 14:48  CStatic子类化_收集修改by唐太咸 cStatic_demo cStatic cStatic.h
     文件         873  2014-07-28 14:53  CStatic子类化_收集修改by唐太咸 cStatic_demo cStatic cStatic.idl
     文件        5114  2014-08-11 18:30  CStatic子类化_收集修改by唐太咸 cStatic_demo cStatic cStatic.rc
............此处省略14个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)