mfc list control控件问题
新建了一个对话框程序 拖进去一个listcontrol控件并在OnInitDialog函数最后加入下面代码 为什么没有讲头添加进去?
// TODO: 在此添加额外的初始化代码
CListCtrl *list_ctrl = (CListCtrl *)GetDlgItem(IDC_LIST1);
list_ctrl->InsertColumn( 0, _T("stes"), LVCFMT_CENTER );
DWORD dw_style = ::GetWindowLong( list_ctrl->m_hWnd, GWL_STYLE );
dw_style &= ~( LVS_TYPEMASK );
dw_style &= ~( LVS_EDITLABELS );
//SetWindowLong( list_ctrl->m_hWnd, GWL_STYLE, LVS_REPORT|LVS_NOLABELWRAP|LVS_SHOWSELALWAYS );
//设置扩展风格
DWORD styles = LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES;//|LVS_EX_CHECKBOXES;
ListView_SetExtendedListViewStyleEx( list_ctrl->m_hWnd, styles, styles );
//ListView_SetExtendedListViewStyleEX( list_ctrl->m_hWnd, styles, styles );
//add head row
TCHAR rgtsz[2][10] = { _T("col1"), _T("col2") };
LVCOLUMN lcol;
CRect rect;
char tmp[10];
memset( tmp, 0x00, sizeof(tmp) );
list_ctrl->GetWindowRect( &rect );
for( int i=0; i<2; i++ )
{
lcol.mask = LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH|LVCF_ORDER;
lcol.fmt = LVCFMT_LEFT;
lcol.pszText = rgtsz[i];
lcol.iSubItem = i;
lcol.iOrder = i;
if( i == 0 )
{
lcol.cx = rect.Width()*3/5;
}
else
{
lcol.cx = rect.Width()*2/5;
}
::MessageBox( NULL, _T(itoa(rect.Width(),tmp,10)),_T("rect.Width"),MB_OK );
list_ctrl->InsertColumn( i, &lcol );
}
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
// TODO: 在此添加额外的初始化代码
CListCtrl *list_ctrl = (CListCtrl *)GetDlgItem(IDC_LIST1);
list_ctrl->InsertColumn( 0, _T("stes"), LVCFMT_CENTER );
DWORD dw_style = ::GetWindowLong( list_ctrl->m_hWnd, GWL_STYLE );
dw_style &= ~( LVS_TYPEMASK );
dw_style &= ~( LVS_EDITLABELS );
//SetWindowLong( list_ctrl->m_hWnd, GWL_STYLE, LVS_REPORT|LVS_NOLABELWRAP|LVS_SHOWSELALWAYS );
//设置扩展风格
DWORD styles = LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES;//|LVS_EX_CHECKBOXES;
ListView_SetExtendedListViewStyleEx( list_ctrl->m_hWnd, styles, styles );
//ListView_SetExtendedListViewStyleEX( list_ctrl->m_hWnd, styles, styles );
//add head row
TCHAR rgtsz[2][10] = { _T("col1"), _T("col2") };
LVCOLUMN lcol;
CRect rect;
char tmp[10];
memset( tmp, 0x00, sizeof(tmp) );
list_ctrl->GetWindowRect( &rect );
for( int i=0; i<2; i++ )
{
lcol.mask = LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH|LVCF_ORDER;
lcol.fmt = LVCFMT_LEFT;
lcol.pszText = rgtsz[i];
lcol.iSubItem = i;
lcol.iOrder = i;
if( i == 0 )
{
lcol.cx = rect.Width()*3/5;
}
else
{
lcol.cx = rect.Width()*2/5;
}
::MessageBox( NULL, _T(itoa(rect.Width(),tmp,10)),_T("rect.Width"),MB_OK );
list_ctrl->InsertColumn( i, &lcol );
}
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
...全文
相关推荐
list control文本实现可编辑简易方法
大家都知道,C++MFC中的listcontrol默认是不可编辑的,一些资料也提供了建立CEditlist类的方法,但该方法有一缺陷就是编辑部分显示的大小会变化,为了防止这一情况,编写了该代码。
MFC List Control Report 制作表格
使用List Control 控件制作的一个表格,包含 checkbox列,图标、修改表格内容,接收文件拖拽等
MFC中改变list control满足条件的某一行的背景颜色
改变list control满足一定条件的某一行的背景颜色的习例。
MFC连接SqlServer数据库,并将查询的数据显示到listCtrl控件上
MFC连接SqlServer数据库,并将查询的数据显示到listCtrl控件上,包括listctrl控件的使用。
MFC.edit.list.box.control.code.rar_EDIT CONTROL_MFC_list control
MFC编辑列表框控件设计代码MFC edit list box control design code


界面
