資源簡介
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語言關鍵語句
評論
共有 條評論