资源简介
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
- 上一篇:模拟一个飞机票订票和退票系统
- 下一篇:单片机C语言关键语句
评论
共有 条评论