如何在CListView 中加OnCreat函数

如何在CListView 中加OnCreat函数,第1张

手动添加代码步骤:

(1)步骤一:

在CMedicListVIew.h中添加代码(声明消息函数):afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct)

(2)步骤二:

在CMdicListVIew.cpp中的PreCreateWindow()函数之前添加OnCreate(LPCREATESTRUCT lpCreateStruct)函数的代码,代码如下:

int CMdicListVIew::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

if (CFrameWnd::OnCreate(lpCreateStruct) == -1)

return -1

if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP

| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||

!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))

{

TRACE0("Failed to create toolbar\n")

return -1 // fail to create

}

if (!m_wndStatusBar.Create(this) ||

!m_wndStatusBar.SetIndicators(indicators,

sizeof(indicators)/sizeof(UINT)))

{

TRACE0("Failed to create status bar\n")

return -1 // fail to create

}

// TODO: Delete these three lines if you don't want the toolbar to

// be dockable

m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY)

EnableDocking(CBRS_ALIGN_ANY)

DockControlBar(&m_wndToolBar)

return 0

}

这样就可以了!

文档窗口的话需要将其基类设为CListView,然后用定义一个列表控件类的引用,CListCtrl&m_ListCtrl = GetListView(),(一定要是引用),之后通过它的成员函数InsertColumn(),InsertItem()分别添加列表头和列表项即可。

在MFC中CListView是在CView和CListCtrl中继承的,而该类的列表功能主要从 CListCtrl 获得.

可以使用下列方式来获得 CListView 中的 CListCtrl 成员

CListCtrl&theCtrl = GetListCtrl()

然后可以在 theCtrl 中添加需要的列表项

下面的例子来自 MSDN 供参考

void CMyListView::OnInitialUpdate()

{

CListView::OnInitialUpdate()

// this code only works for a report-mode list view

ASSERT(GetStyle() &LVS_REPORT)

// Gain a reference to the list control itself

CListCtrl&theCtrl = GetListCtrl()

// Insert a column. This override is the most convenient.

theCtrl.InsertColumn(0, _T("Player Name"), LVCFMT_LEFT)

// The other InsertColumn() override requires an initialized

// LVCOLUMN structure.

LVCOLUMN col

col.mask = LVCF_FMT | LVCF_TEXT

col.pszText = _T("Jersey Number")

col.fmt = LVCFMT_LEFT

theCtrl.InsertColumn(1, &col)

// Set reasonable widths for our columns

theCtrl.SetColumnWidth(0, LVSCW_AUTOSIZE_USEHEADER)

theCtrl.SetColumnWidth(1, LVSCW_AUTOSIZE_USEHEADER)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11256275.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存