CEdit中,设置字体颜色,怎么做?

张佩 2005-02-04 09:07:14
rt
...全文
960 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
张佩 2005-02-04
  • 打赏
  • 举报
回复
谢谢!
老夏Max 2005-02-04
  • 打赏
  • 举报
回复
/*===========================================================================
==== ====
==== File name : EditTrans.cpp ====
==== Creation date : 7/10/2001 ====
==== Author(s) : Dany Cantin ====
==== ====
===========================================================================*/

#include "stdafx.h"
#include "EditTrans.h"

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

/////////////////////////////////////////////////////////////////////////////
// CEditTrans

CEditTrans::CEditTrans()
{
m_TextColor = RGB(0, 0, 0);
m_BackColor = TRANS_BACK;
}

CEditTrans::~CEditTrans()
{
}


BEGIN_MESSAGE_MAP(CEditTrans, CEdit)
//{{AFX_MSG_MAP(CEditTrans)
ON_WM_CTLCOLOR_REFLECT()
ON_CONTROL_REFLECT(EN_UPDATE, OnUpdate)
ON_WM_LBUTTONDOWN()
ON_CONTROL_REFLECT(EN_KILLFOCUS, OnKillfocus)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CEditTrans message handlers

HBRUSH CEditTrans::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);

LOGBRUSH lb1;
lb1.lbStyle = BS_HOLLOW;
lb1.lbColor = RGB(192,224,255);

HBRUSH hBrush1 = CreateBrushIndirect(&lb1);
return hBrush1;
}


void CEditTrans::OnKillfocus()
{
UpdateCtrl();
}


void CEditTrans::OnUpdate()
{
UpdateCtrl();
}


void CEditTrans::OnLButtonDown(UINT nFlags, CPoint point)
{
UpdateCtrl();

CEdit::OnLButtonDown(nFlags, point);
}


void CEditTrans::UpdateCtrl()
{
CWnd* pParent = GetParent();
CRect rect;

GetWindowRect(rect);
pParent->ScreenToClient(rect);
rect.DeflateRect(2, 2);

pParent->InvalidateRect(rect, FALSE);
}
老夏Max 2005-02-04
  • 打赏
  • 举报
回复
/*===========================================================================
==== ====
==== File name : EditTrans.h ====
==== Creation date : 7/10/2001 ====
==== Author(s) : Dany Cantin ====
==== ====
===========================================================================*/

#ifndef EDITTRANS_H
#define EDITTRANS_H

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


/////////////////////////////////////////////////////////////////////////////
// CEditTrans window

#define TRANS_BACK -1

class CEditTrans : public CEdit
{
// Construction
public:
CEditTrans();

// Attributes
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(CEditTrans)
//}}AFX_VIRTUAL

// Implementation
public:
virtual ~CEditTrans();

// Generated message map functions
protected:
//{{AFX_MSG(CEditTrans)
afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
afx_msg void OnUpdate();
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnKillfocus();
//}}AFX_MSG

DECLARE_MESSAGE_MAP()
};


#endif // EDITTRANS_H

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧