• 大小: 88.14 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-10-06
  • 语言: 其他
  • 标签: cedit  combobox  cstatic  

资源简介

可编辑的CListctrl 支持CEDIT文本框,COMBOBOX组合框,CSTATIC,CDateTimeCtrl,CList等。

源码+测试程序。使用时#include "ListCtrlEditable.h"即可。
欢迎指教。

资源截图

代码片段和文件信息

// ListCtrlEditable.cpp : 实现文件
//

#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)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     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


评论

共有 条评论