• 大小: 145KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: C/C++
  • 标签: CComboBox  

资源简介

MFC CComboBox 实现自动补全、实现自绘

资源截图

代码片段和文件信息

//////////////////////////////////////////////////////////////////////////
//
// ComboBoxIS.h : 版本 2.0 - 见文章 www.csdn.net
//
// 作者: 少莫千华  
//          
//
// 描述:
// CComboBoxIS是由CComboBox派生的空间,支持输入时自动匹配提示,自动补全。
// CComboBox控件基础属性
// (Combo-box Control) IComboEditor
// 行为
// Has Strings = True
// Owner Draw = Fixed
// 外观
// Type = Dropdown
//
// 历史
//     版本 1.0 - 2014-02-20
//     - 初次公开发布
//    版本 2.0 - 2016-12-07
//    - 增加自绘部分
//
///////////////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “ComboBoxIS.h“

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//----------------------------------------------------------------------
// 描    述 : 简化函数代码,绘制下拉框下箭头
//----------------------------------------------------------------------
#define  scn(ab) memDC.SetPixel(CPoint(orPnt.x + aorPnt.y + b)m_colorArrow)
#define  scs(ab) memDC.SetPixel(CPoint(orPnt.x + aorPnt.y + b)m_colorArrowSelect)
#define fscn(anmima) for(int i = mi ; i <= ma;i++) scn(ian);
#define fscs(anmima) for(int i = mi ; i <= ma;i++) scs(ian);

//----------------------------------------------------------------------
// 描    述 : 简化函数代码,绘制下拉框下箭头
//----------------------------------------------------------------------
static WNDPROC m_pWndProc = 0;

//----------------------------------------------------------------------
// 描    述 : 这个CListBox空间实际的拥有者是父窗口,所有所有的消息由父窗口处理.
// 返回类型 : LRESULT
//----------------------------------------------------------------------
extern “C“ LRESULT FAR PASCAL BitComboBoxListBoxProc(HWND hWnd UINT nMsg WPARAM wParam LPARAM lParam)
{
//TRACE(“BitComboBoxListBoxProc 0x%.4X\n“nMsg);
return CallWindowProc(m_pWndProc hWnd nMsg wParam lParam);
}
IMPLEMENT_DYNAMIC(CComboBoxIS CComboBox)

CComboBoxIS::CComboBoxIS()
{
m_editState = Mouse_Normal;
m_bTracking = false;
//Color
m_colorframe = RGB(000);
m_colorText = RGB(000);
m_colorBackgroud = RGB(255255255);

m_colorLBBackgroud = RGB(255255255);
m_colorLBText = RGB(000);

m_colorLBTextSelect = RGB(255255255);
m_colorLBBackgroudSelect = RGB(000);

m_colorArrow = RGB(000);
m_colorArrowBackground = RGB(255255255);

m_colorArrowSelect = RGB(35350);
m_colorArrowBackgroundSelect = RGB(190220255);
}

CComboBoxIS::~CComboBoxIS()
{
if(m_memDC.m_hDC)
{
m_memDC.DeleteDC();
}
}


BEGIN_MESSAGE_MAP(CComboBoxIS CComboBox)
ON_WM_PAINT()
ON_WM_DESTROY()
ON_WM_MOUSEMOVE()
ON_WM_LBUTTONUP()
ON_WM_ERASEBKGND()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONDBLCLK()

ON_MESSAGE(WM_MOUSELEAVE onmouseleave)
ON_MESSAGE(WM_MOUSEHOVER OnMouseHover)
ON_MESSAGE(WM_CTLCOLORLISTBOXOnCtlColorListBox)

ON_CONTROL_REFLECT(CBN_DROPDOWN OnCbnDropDown)
ON_CONTROL_REFLECT(CBN_EDITUPDATE OnCbnEditUpdate)
ON_CONTROL_REFLECT(CBN_SELCHANGE OnCbnSelChange)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-12-07 13:45  ComboxAutomaticCompletion\
     文件         942  2016-12-05 09:07  ComboxAutomaticCompletion.sln
     文件       16114  2016-12-07 11:59  ComboxAutomaticCompletion\ComboBoxIS.cpp
     文件        3477  2016-12-07 11:59  ComboxAutomaticCompletion\ComboBoxIS.h
     文件        2240  2016-12-05 09:07  ComboxAutomaticCompletion\ComboxAutomaticCompletion.cpp
     文件         556  2016-12-05 09:07  ComboxAutomaticCompletion\ComboxAutomaticCompletion.h
     文件       10892  2016-12-06 17:14  ComboxAutomaticCompletion\ComboxAutomaticCompletion.rc
     文件        6166  2016-12-07 13:43  ComboxAutomaticCompletion\ComboxAutomaticCompletion.vcxproj
     文件        2300  2016-12-07 11:32  ComboxAutomaticCompletion\ComboxAutomaticCompletion.vcxproj.filters
     文件        3891  2016-12-07 13:43  ComboxAutomaticCompletion\ComboxAutomaticCompletionDlg.cpp
     文件         717  2016-12-07 13:35  ComboxAutomaticCompletion\ComboxAutomaticCompletionDlg.h
     文件        3483  2016-12-05 09:07  ComboxAutomaticCompletion\ReadMe.txt
     目录           0  2016-12-05 09:07  ComboxAutomaticCompletion\res\
     文件        1406  2016-12-05 09:48  ComboxAutomaticCompletion\resource.h
     文件       67777  2009-08-31 02:31  ComboxAutomaticCompletion\res\ComboxAutomaticCompletion.ico
     文件         706  2016-12-05 09:07  ComboxAutomaticCompletion\res\ComboxAutomaticCompletion.rc2
     文件         158  2016-12-05 09:07  ComboxAutomaticCompletion\stdafx.cpp
     文件        1632  2016-12-05 09:07  ComboxAutomaticCompletion\stdafx.h
     文件         234  2016-12-05 09:07  ComboxAutomaticCompletion\targetver.h
     目录           0  2016-12-07 13:44  Release\
     文件      100864  2016-12-07 13:43  Release\ComboxAutomaticCompletion.exe

评论

共有 条评论

相关资源