资源简介
一个功能强大的Grid控件的vc源码源码

代码片段和文件信息
#include “stdafx.h“
#include “CGridColumnTraitCombo.h“
#include “CGridColumnTraitVisitor.h“
#include “CGridListCtrlEx.h“
//------------------------------------------------------------------------
// CGridColumnTraitCombo
//------------------------------------------------------------------------
CGridColumnTraitCombo::CGridColumnTraitCombo()
:m_MaxItems(7)
m_MaxWidth(200)
m_ComboBoxstyle(WS_VSCROLL | WS_HSCROLL | CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_NOINTEGRALHEIGHT)
m_pComboBox(NULL)
{}
void CGridColumnTraitCombo::Accept(CGridColumnTraitVisitor& visitor)
{
visitor.Visit(*this);
}
void CGridColumnTraitCombo::SetMaxItems(int items)
{
m_MaxItems = items;
}
int CGridColumnTraitCombo::GetMaxItems() const
{
return m_MaxItems;
}
void CGridColumnTraitCombo::SetMaxWidth(int width)
{
m_MaxWidth = width;
}
int CGridColumnTraitCombo::GetMaxWidth() const
{
return m_MaxWidth;
}
void CGridColumnTraitCombo::Setstyle(DWORD dwstyle)
{
m_ComboBoxstyle = dwstyle;
}
DWORD CGridColumnTraitCombo::Getstyle() const
{
return m_ComboBoxstyle;
}
CComboBox* CGridColumnTraitCombo::CreateComboBox(CGridListCtrlEx& owner int nRow int nCol const CRect& rect)
{
CComboBox* pComboBox = new CGridEditorComboBox(nRow nCol m_MaxWidth);
VERIFY( pComboBox->Create( WS_CHILD | m_ComboBoxstyle rect &owner 0) );
// Configure font
pComboBox->SetFont(owner.GetCellFont());
return pComboBox;
}
CWnd* CGridColumnTraitCombo::OnEditBegin(CGridListCtrlEx& owner int nRow int nCol)
{
// Get position of the cell to edit
CRect rcItem = GetCellEditRect(owner nRow nCol);
int requiredHeight = GetCellFontHeight(owner);
// Expand the size of the ComboBox according to max-elements
CRect rcFinalSize = rcItem;
rcFinalSize.bottom += rcItem.Height() + requiredHeight * m_MaxItems;
// Create edit control to edit the cell
// - Stores the pointer so elements can be dynamically added later
m_pComboBox = CreateComboBox(owner nRow nCol rcFinalSize);
VERIFY(m_pComboBox!=NULL);
// Add all items to list
if (m_ComboList.GetSize()>0)
{
LoadList(m_ComboList -1);
// Guess the currently selected item in the list
CString item = owner.GetItemText(nRow nCol);
int nCurSel = m_pComboBox->FindString(-1 item);
if (nCurSel!=-1)
m_pComboBox->SetCurSel(nCurSel);
else
m_pComboBox->SetWindowText(item);
}
else
{
CString item = owner.GetItemText(nRow nCol);
m_pComboBox->SetWindowText(item);
}
// Resize combobox according to element count
VERIFY( owner.GetCellRect(nRow nCol LVIR_LABEL rcFinalSize) );
rcFinalSize.bottom += rcItem.Height() + requiredHeight * min(m_MaxItems m_pComboBox->GetCount() + 1);
m_pComboBox->SetWindowPos(NULL // not relative to any other windows
0 0 // TopLeft corner doesn‘t change
rcFinalSize.Width() rcFinalSize.Height() // existing width new height
SWP_NOMOVE | SWP_NOZORDER // don‘t move bo
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2008-11-07 12:15 CGridListCtrlEx\
文件 2679 2008-09-11 11:05 CGridListCtrlEx\CGridColumnTrait.h
文件 9691 2008-10-21 13:11 CGridListCtrlEx\CGridColumnTraitCombo.cpp
文件 2773 2008-09-18 10:16 CGridListCtrlEx\CGridColumnTraitCombo.h
文件 4461 2008-10-21 13:11 CGridListCtrlEx\CGridColumnTraitDateTime.cpp
文件 1723 2008-09-11 11:05 CGridListCtrlEx\CGridColumnTraitDateTime.h
文件 3525 2008-10-21 13:11 CGridListCtrlEx\CGridColumnTraitEdit.cpp
文件 1329 2008-09-11 11:05 CGridListCtrlEx\CGridColumnTraitEdit.h
文件 4150 2008-10-29 16:39 CGridListCtrlEx\CGridColumnTraitText.cpp
文件 1036 2008-09-22 10:56 CGridListCtrlEx\CGridColumnTraitText.h
文件 827 2008-09-11 11:05 CGridListCtrlEx\CGridColumnTraitVisitor.h
文件 50616 2008-11-07 12:08 CGridListCtrlEx\CGridListCtrlEx.cpp
文件 7205 2008-11-07 12:08 CGridListCtrlEx\CGridListCtrlEx.h
文件 22839 2008-11-03 10:37 CGridListCtrlEx\CGridListCtrlGroups.cpp
文件 2535 2008-09-22 10:56 CGridListCtrlEx\CGridListCtrlGroups.h
文件 920 2008-09-22 10:56 CGridListCtrlEx\CGridRowTrait.h
文件 5331 2008-10-29 16:39 CGridListCtrlEx\CGridRowTraitText.cpp
文件 1092 2008-09-22 10:56 CGridListCtrlEx\CGridRowTraitText.h
文件 652 2008-09-22 10:56 CGridListCtrlEx\CGridRowTraitVisitor.h
文件 4009 2008-09-22 10:56 CGridListCtrlEx\CGridRowTraitXP.cpp
文件 667 2008-09-22 10:56 CGridListCtrlEx\CGridRowTraitXP.h
相关资源
- 用单片机控制蜂鸣器播放旋律程序(
- qt texteditor(富文本编辑器)
- 使用Qt实现Excel读取工具
- c++ 注入exe
- Hex文件转bin文件
- Voice Process(基于speex的回声消除)
- VProtect+注册机.rar
- C++ 读取excel2007文件,转成lua文件
- 正则表达式(regex)C语言源码,超强
- 编译原理简易C编译器
- 实现语法分析器-编译原理
- VC++开发IE ActiveX控件
- c++ 源码通过dll启动应用程序exe
- VS2010 C++ 操作Excel表格的编程实现
- Expert Visual C++_CLI.pdf
- Visual Studio 2010 Express 学习版
- VC MFC操作Excel 20个 源代码合集
- VC++2010 Express(含激活
- c++读取EXCEL表
- Exploring C++ 无水印pdf
- VS90SP1-KB976656-x86.exe
- 使用itextsharp.dll把两个pdf文件合并成一
- VC++ 2010 Express 中文
- MFC实现可编辑Excel文件
- VC6中使用MFC自动化Excel数据写入和图表
- 最新版AddFlow ActiveX Control矢量图OCX控件
- 图像增强MSRCR算法
- C++读取Excel,就两个文件,里面有,可
- 求解一元四次方程(vbvcc#excelhtml)-
- VC6通过dll读写excel文件,不需要安装
评论
共有 条评论