資源簡(jiǎn)介
可編輯的CListctrl 支持CEDIT文本框,COMBOBOX組合框,CSTATIC,CDateTimeCtrl,CList等。
源碼+測(cè)試程序。使用時(shí)#include "ListCtrlEditable.h"即可。
歡迎指教。
源碼+測(cè)試程序。使用時(shí)#include "ListCtrlEditable.h"即可。
歡迎指教。
代碼片段和文件信息
//?ListCtrlEditable.cpp?:?實(shí)現(xiàn)文件
//
#include?“stdafx.h“
#include?“ListCtrlEx.h“
#include?“ListCtrlEditable.h“
#include?“.\listctrleditable.h“
//?CComboxNoBorder
IMPLEMENT_DYNAMIC(CComboxNoBorder?CComboBox)
CComboxNoBorder::CComboxNoBorder()
{
}
CComboxNoBorder::~CComboxNoBorder()
{
}
BEGIN_MESSAGE_MAP(CComboxNoBorder?CComboBox)
//ON_WM_PAINT()
ON_WM_CTLCOLOR()
ON_WM_SHOWWINDOW()
END_MESSAGE_MAP()
//?CComboxNoBorder?消息處理程序
void?CComboxNoBorder::OnPaint()
{
CPaintDC?dc(this);?//?device?context?for?painting
}
HBRUSH?CComboxNoBorder::OnCtlColor(CDC*?pDC?CWnd*?pWnd?UINT?nCtlColor)
{
CRect?rc;
if?(nCtlColor?==?CTLCOLOR_EDIT)
{
CEdit?*pEdit?=?(CEdit*)pWnd;
if?(pEdit)
{
GetClientRect(&rc);
rc.right?-=?GetSystemMetrics(SM_CXVSCROLL)?+?2;
pEdit->MoveWindow(&rc);
pEdit->GetClientRect(&rc);
pEdit->SetRect(&rc);
}
}
HBRUSH?hbr?=?CComboBox::OnCtlColor(pDC?pWnd?nCtlColor);
return?hbr;
}
void?CComboxNoBorder::OnShowWindow(BOOL?bShow?UINT?nStatus)
{
if?(bShow)
{
LOGFONT?lf;
GetFont()->GetLogFont(&lf);
SendMessage(CB_SETITEMHEIGHT?-1?abs(lf.lfHeight));
}
CComboBox::OnShowWindow(bShow?nStatus);
}
////////////////////////////////////////////////////////////////////////////////////
//?CListCtrlEditable
IMPLEMENT_DYNAMIC(CListCtrlEditable?CListCtrl)
CListCtrlEditable::CListCtrlEditable()
{
}
CListCtrlEditable::~CListCtrlEditable()
{
}
BEGIN_MESSAGE_MAP(CListCtrlEditable?CListCtrl)
ON_WM_CREATE()
ON_NOTIFY_REFLECT(LVN_ITEMCHANGED?OnLvnItemchanged)
ON_NOTIFY_REFLECT(NM_DBLCLK?OnNMDblclk)
ON_EN_KILLFOCUS(501?OnCtrlKillFocus)
ON_CBN_KILLFOCUS(502?OnCtrlKillFocus)
ON_LBN_KILLFOCUS(503?OnCtrlKillFocus)
ON_NOTIFY(NM_KILLFOCUS?504?OnCtrlKillFocus)
END_MESSAGE_MAP()
//?CListCtrlEditable?消息處理程序
BOOL?CListCtrlEditable::PreCreateWindow(CREATESTRUCT&?cs)
{
//cs.dwExstyle?|=?LVS_EX_FULLROWSELECT?|?LVS_EX_GRIDLINES;
return?CListCtrl::PreCreateWindow(cs);
}
int?CListCtrlEditable::InsertColumn(int?nCol?LPCTSTR?lpszColumnHeading?ControlType?ctrltype?DWORD?style?bool?bEditable?int?nFormat?int?nWidth1?int?nSubItem)
{
int?ival?=?CListCtrl::InsertColumn(nCol?lpszColumnHeading?nFormat?nWidth1?nSubItem);
if?(ival?!=?-1)
m_ctMap.insert(std::pair((int)m_ctMap.size()??CColumType(nCol?nSubItem?ctrltype?style?bEditable?this)));
return?ival;
}
CWnd*?CListCtrlEditable::GetColumControl(int?col?/*?=?-1?*/?int?subitem?/*?=?-1?*/)
{
CWnd?*pwnd?=?NULL;
for?(int?i?=?0;?i?(int)m_ctMap.size();?i++)
{
CColumType?&ct?=?m_ctMap[i];
if?(ct.iCol?==?col?&&?ct.iSubItem?==?subitem)
{
pwnd?=?ct.pCtrlWnd;
break;
}
}
return?pwnd;
}
void?CListCtrlEditable::SetColumCtrlText(CWnd?*pColumCtrl)
{
if?(pColumCtrl)
{
for?(int?i?=?0;?i?(int)m_ctMap.size();?i++)
{
CColumType?&ct?=?m_ctMap[i];
if?(ct.pCtrlWnd?==?pColumCtrl)
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????184320??2011-09-14?16:05??ListCtrlEx\ListCtrlEx\Debug\ListCtrlEx.exe
?????目錄??????????0??2011-09-14?16:06??ListCtrlEx\ListCtrlEx\Debug
?????文件???????7617??2011-09-14?15:44??ListCtrlEx\ListCtrlEx\ListCtrlEditable.cpp
?????文件???????5579??2011-09-14?15:52??ListCtrlEx\ListCtrlEx\ListCtrlEditable.h
?????文件??????58340??2011-09-14?15:37??ListCtrlEx\ListCtrlEx\ListCtrlEx.aps
?????文件???????1504??2011-09-13?09:09??ListCtrlEx\ListCtrlEx\ListCtrlEx.cpp
?????文件????????461??2011-09-13?09:09??ListCtrlEx\ListCtrlEx\ListCtrlEx.h
?????文件???????5068??2011-09-14?15:37??ListCtrlEx\ListCtrlEx\ListCtrlEx.rc
?????文件???????4875??2011-09-13?09:44??ListCtrlEx\ListCtrlEx\ListCtrlEx.vcproj
?????文件???????4375??2011-09-14?15:30??ListCtrlEx\ListCtrlEx\ListCtrlExDlg.cpp
?????文件????????661??2011-09-14?15:30??ListCtrlEx\ListCtrlEx\ListCtrlExDlg.h
?????文件???????2868??2011-09-13?09:09??ListCtrlEx\ListCtrlEx\ReadMe.txt
?????文件??????21630??2003-04-01?19:36??ListCtrlEx\ListCtrlEx\res\ListCtrlEx.ico
?????文件????????699??2011-09-13?09:09??ListCtrlEx\ListCtrlEx\res\ListCtrlEx.manifest
?????文件????????366??2011-09-13?09:09??ListCtrlEx\ListCtrlEx\res\ListCtrlEx.rc2
?????目錄??????????0??2011-09-13?09:09??ListCtrlEx\ListCtrlEx\res
?????文件????????682??2011-09-14?15:37??ListCtrlEx\ListCtrlEx\resource.h
?????文件????????139??2011-09-13?09:09??ListCtrlEx\ListCtrlEx\stdafx.cpp
?????文件???????1458??2011-09-13?15:16??ListCtrlEx\ListCtrlEx\stdafx.h
?????目錄??????????0??2011-09-14?15:52??ListCtrlEx\ListCtrlEx
?????文件????????920??2011-09-13?09:09??ListCtrlEx\ListCtrlEx.sln
????..A..H.?????10240??2011-09-14?16:06??ListCtrlEx\ListCtrlEx.suo
?????目錄??????????0??2011-09-14?16:06??ListCtrlEx
-----------?---------??----------?-----??----
???????????????311802????????????????????23
評(píng)論
共有 條評(píng)論