让CListCtrl的SubItem也具有编辑功能:
2010-10-23 09:28
141 查看
要重载一个文本框,然后在LVN_BEGINLABELEDIT时改变文本框位置。
CInEdit m_InEdit;
if( ( GetStyle() & LVS_TYPEMASK ) == LVS_REPORT && ( m_nEditSubItem != 0 ) )
{
HWND hwndEdit;
CRect rtBound;
CString strText;
hwndEdit = (HWND)SendMessage( LVM_GETEDITCONTROL );
GetSubItemRect( pDispInfo->item.iItem, m_nEditSubItem, LVIR_LABEL, rtBound );
m_InEdit.SubclassWindow( hwndEdit );
m_InEdit.m_left = rtBound.left;
strText = GetItemText( pDispInfo->item.iItem, m_nEditSubItem );
m_InEdit.SetWindowText( strText );
}
void CInEdit::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos)
{
CRect rtClient;
lpwndpos->x = m_left; // m_left在LVN_BEGINLABELEDIT中设置
CEdit::OnWindowPosChanging(lpwndpos);
// TODO: Add your message handler code here
}
CInEdit m_InEdit;
if( ( GetStyle() & LVS_TYPEMASK ) == LVS_REPORT && ( m_nEditSubItem != 0 ) )
{
HWND hwndEdit;
CRect rtBound;
CString strText;
hwndEdit = (HWND)SendMessage( LVM_GETEDITCONTROL );
GetSubItemRect( pDispInfo->item.iItem, m_nEditSubItem, LVIR_LABEL, rtBound );
m_InEdit.SubclassWindow( hwndEdit );
m_InEdit.m_left = rtBound.left;
strText = GetItemText( pDispInfo->item.iItem, m_nEditSubItem );
m_InEdit.SetWindowText( strText );
}
void CInEdit::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos)
{
CRect rtClient;
lpwndpos->x = m_left; // m_left在LVN_BEGINLABELEDIT中设置
CEdit::OnWindowPosChanging(lpwndpos);
// TODO: Add your message handler code here
}
相关文章推荐
- 让CListCtrl的SubItem也具有编辑功能
- 如何实现 clistctrl每个subitem编辑功能
- 为CListCtrl添加item编辑功能
- 用C++Builder开发具有历史记录功能的编辑控件
- Chrome中利用HTML5实现具有文件“编辑”及“下载”功能的本地应用
- 关于如何让VC6.0 VS代码编辑具有智能提醒功能的软件Visual Assist X
- 为CListCtrl添加item编辑功能
- MFC 重载CListCtrl实现可编辑功能
- VC实现具有回车移动焦点功能的编辑框
- Chrome中利用HTML5实现具有文件“编辑”及“下载”功能的本地应用
- 如何使MsFlexGrid控件具有编辑功能
- WinForm控件开发总结(七)-----为复杂属性的子属性提供编辑功能
- 底牌项目中上传牌谱功能之编辑标准模式
- jqgrid 编辑添加功能详细解析
- 应该为在运行时可能编辑的任何文本嵌入字体,具有"使用设备字体"设置的文本除外。
- jQuery树形菜单,使用zTree插件,异步加载 & 编辑功能&Check 共存
- easyui datagrid 行编辑功能
- :/coolpigs//Visual Studio 2010 "工具">"选项"中的VC++目录编辑功能已被否决
- 实现一个具有文件下载功能的网页
- 利用Jotm 2使Tomcat 6具有分布式事务管理功能