让一个ComboBox的显示字符串以给定的颜色显示,怎么做?

张佩 2005-02-04 10:33:00
rt
...全文
168 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wizard13 2005-03-24
  • 打赏
  • 举报
回复
A ZA A ZA, FIGHTING!
wizard13 2005-03-24
  • 打赏
  • 举报
回复
jf
张佩 2005-02-05
  • 打赏
  • 举报
回复
/*===========================================================================
==== ====
==== 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;
COLORREF m_EditColor;
CBrush m_Brush;
// Operations
public:
void SetTextColor(COLORREF col) { m_TextColor = col;
UpdateCtrl(); }
void SetBackColor(COLORREF col) { m_BackColor = col;
UpdateCtrl(); }
void SetEditColor(COLORREF col) { m_EditColor = 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
张佩 2005-02-05
  • 打赏
  • 举报
回复
// SuperComboBox.cpp : implementation file
//

#include "stdafx.h"
#include "cfileinfo.h"
#include "SuperComboBox.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSuperComboBox

CSuperComboBox::CSuperComboBox()
{
m_TextColor = RGB(0, 0, 0);
m_BackColor = TRANS_BACK;
m_EditColor = RGB(255, 255, 255);
}

CSuperComboBox::~CSuperComboBox()
{
}


BEGIN_MESSAGE_MAP(CSuperComboBox, CComboBox)
//{{AFX_MSG_MAP(CSuperComboBox)
ON_WM_DESTROY()
ON_WM_CTLCOLOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSuperComboBox message handlers

void CSuperComboBox::OnDestroy()
{
CComboBox::OnDestroy();
if ( m_Edit.GetSafeHwnd() != NULL )
{
m_Edit.UnsubclassWindow();
}
// TODO: Add your message handler code here
}

HBRUSH CSuperComboBox::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
if ( nCtlColor == CTLCOLOR_EDIT )
{
if ( m_Edit.GetSafeHwnd() == NULL )
{
m_Edit.SubclassWindow( pWnd->GetSafeHwnd());
m_Edit.SetTextColor(m_TextColor);
m_Edit.SetEditColor(m_EditColor);
m_Edit.SetBackColor(m_BackColor);
}
}
else if (nCtlColor == CTLCOLOR_LISTBOX)
{
//istBox control
if (m_List.GetSafeHwnd() == NULL)
{
m_List.SubclassWindow(pWnd->GetSafeHwnd());
m_List.SetTextColor(m_TextColor);
m_List.SetEditColor(m_EditColor);
m_List.SetBackColor(m_BackColor);
}
}
return CComboBox::OnCtlColor( pDC, pWnd, nCtlColor );
}

张佩 2005-02-05
  • 打赏
  • 举报
回复
#include "CEditTrans.h"
#include "ListBoxTrans.h"
class CSuperComboBox : public CComboBox
{
// Construction
public:
CSuperComboBox();

// Attributes
public:
CEditTrans m_Edit;
CListBoxTrans m_List;
private:
COLORREF m_TextColor;
COLORREF m_BackColor;
COLORREF m_EditColor;
// Operations
public:
void SetTextColor(COLORREF col) { m_TextColor = col;}
void SetBackColor(COLORREF col) { m_BackColor = col;}
void SetEditColor(COLORREF col) { m_EditColor = col;}
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CSuperComboBox)
//}}AFX_VIRTUAL

// Implementation
public:
virtual ~CSuperComboBox();

// Generated message map functions
protected:
//{{AFX_MSG(CSuperComboBox)
afx_msg void OnDestroy();
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
//}}AFX_MSG

DECLARE_MESSAGE_MAP()
};

15,979

社区成员

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

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