cstatic控件的transparent属性设为真怎么不起作用? ??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 也许它里面的OnPaint根本没有处理之,呵呵,要使用透明的CStatic,我给你一个类! /*=============================================================================== ======== File name : StaticTrans.h ======== Creation date : 7/10/2001 ======== Author(s) : Dany Cantin ======== ===============================================================================*/#ifndef STATICTRANS_H#define STATICTRANS_H#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000/////////////////////////////////////////////////////////////////////////////// CStaticTrans window#define TRANS_BACK -1class CStaticTrans : public CStatic{ // Constructionpublic: CStaticTrans(); private: COLORREF m_TextColor; COLORREF m_BackColor; CBrush m_Brush; // Operationspublic: void SetTextColor(COLORREF col) { m_TextColor = col; UpdateCtrl(); } void SetBackColor(COLORREF col) { m_BackColor = col; UpdateCtrl(); }private: void UpdateCtrl(); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CStaticTrans) //}}AFX_VIRTUAL// Implementationpublic: virtual ~CStaticTrans(); // Generated message map functionsprotected: //{{AFX_MSG(CStaticTrans) afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor); //}}AFX_MSG DECLARE_MESSAGE_MAP()};#endif // STATICTRANS_H /*=============================================================================== ======== File name : StaticTrans.cpp ======== Creation date : 7/10/2001 ======== Author(s) : Dany Cantin ======== ===============================================================================*/#include "stdafx.h"#include "StaticTrans.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// CStaticTransCStaticTrans::CStaticTrans(){ m_TextColor = RGB(0, 0, 0); m_BackColor = TRANS_BACK; }CStaticTrans::~CStaticTrans(){}BEGIN_MESSAGE_MAP(CStaticTrans, CStatic) //{{AFX_MSG_MAP(CStaticTrans) ON_WM_CTLCOLOR_REFLECT() //}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CStaticTrans message handlersHBRUSH CStaticTrans::CtlColor(CDC* pDC, UINT nCtlColor) { m_Brush.DeleteObject(); if (m_BackColor == TRANS_BACK) { m_Brush.CreateStockObject(HOLLOW_BRUSH); pDC->SetBkMode(TRANSPARENT); } else { m_Brush.CreateSolidBrush(m_BackColor); pDC->SetBkColor(m_BackColor); } pDC->SetTextColor(m_TextColor); return (HBRUSH)m_Brush;}void CStaticTrans::UpdateCtrl(){ CWnd* pParent = GetParent(); CRect rect; GetWindowRect(rect); pParent->ScreenToClient(rect); rect.DeflateRect(2, 2); pParent->InvalidateRect(rect, FALSE); } 需要在父窗口中的WM_CTLCOLOR中设置透明效果 关于绘图保存的问题 cryptopp与openssl的安全性。 大侠们救命啊!字符串比较问题 Recordset->XML????? 一个很菜的问题:串口,并口,端口,PCI有什么区别?? 关于编译的小问题! RGB(5,6,5)位图混合算法优化 怎样启动同一个UI线程多次,而各线程互不干扰? 如何实现56KModem传送文件 如何使焦点永远在切分窗口中上边的View上? vc调试与运行,急! OnInitDialog()中HICON hIcon= AfxGetApp()->LoadIcon("C:\\icon1.ico")不成功怎么回事
==== ====
==== File name : StaticTrans.h ====
==== Creation date : 7/10/2001 ====
==== Author(s) : Dany Cantin ====
==== ====
===========================================================================*/#ifndef STATICTRANS_H
#define STATICTRANS_H#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////////
// CStaticTrans window#define TRANS_BACK -1class CStaticTrans : public CStatic
{
// Construction
public:
CStaticTrans();
private:
COLORREF m_TextColor;
COLORREF m_BackColor;
CBrush m_Brush;
// Operations
public:
void SetTextColor(COLORREF col) { m_TextColor = col;
UpdateCtrl(); }
void SetBackColor(COLORREF col) { m_BackColor = col;
UpdateCtrl(); }private:
void UpdateCtrl();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CStaticTrans)
//}}AFX_VIRTUAL// Implementation
public:
virtual ~CStaticTrans(); // Generated message map functions
protected:
//{{AFX_MSG(CStaticTrans)
afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
//}}AFX_MSG DECLARE_MESSAGE_MAP()
};
#endif // STATICTRANS_H
==== ====
==== File name : StaticTrans.cpp ====
==== Creation date : 7/10/2001 ====
==== Author(s) : Dany Cantin ====
==== ====
===========================================================================*/#include "stdafx.h"
#include "StaticTrans.h"#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif/////////////////////////////////////////////////////////////////////////////
// CStaticTransCStaticTrans::CStaticTrans()
{
m_TextColor = RGB(0, 0, 0);
m_BackColor = TRANS_BACK;
}CStaticTrans::~CStaticTrans()
{
}
BEGIN_MESSAGE_MAP(CStaticTrans, CStatic)
//{{AFX_MSG_MAP(CStaticTrans)
ON_WM_CTLCOLOR_REFLECT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////
// CStaticTrans message handlersHBRUSH CStaticTrans::CtlColor(CDC* pDC, UINT nCtlColor)
{
m_Brush.DeleteObject();
if (m_BackColor == TRANS_BACK) {
m_Brush.CreateStockObject(HOLLOW_BRUSH);
pDC->SetBkMode(TRANSPARENT);
}
else {
m_Brush.CreateSolidBrush(m_BackColor);
pDC->SetBkColor(m_BackColor);
}
pDC->SetTextColor(m_TextColor);
return (HBRUSH)m_Brush;
}void CStaticTrans::UpdateCtrl()
{
CWnd* pParent = GetParent();
CRect rect;
GetWindowRect(rect);
pParent->ScreenToClient(rect);
rect.DeflateRect(2, 2);
pParent->InvalidateRect(rect, FALSE);
}