本文介绍了IsKindOf(RUNTIME_CLASS(CHeader ...的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

void CListView::OnInitialUpdate()
{
	CListView::OnInitialUpdate();


	// TODO: You may populate your ListView with items by directly accessing
	//  its list control through a call to GetListCtrl().

	
	// Add the parent item
	GetListCtrl().InsertColumn(0, _T("Column Text"), LVCFMT_LEFT, 200);
	
	GetListCtrl().SetImageList(&m_ImageSmall, LVSIL_SMALL);
	GetListCtrl().SetImageList(&m_ImageLarge, LVSIL_NORMAL);

	// Add children
	for( int i = 1; i < 5; i++ ) {
		GetListCtrl().InsertItem (0, _T("Child of Parent Item"));
	}

	CHeaderCtrl hc;
	if (hc.IsKindOf(RUNTIME_CLASS(CHeaderCtrl)))
	{
		int i = 0;//ok
	}

	if (GetListCtrl().GetHeaderCtrl()->IsKindOf(RUNTIME_CLASS(CHeaderCtrl)))
	{
	        //fail to step in, why?
		HWND hWndHeader = GetListCtrl().GetDlgItem(0)->GetSafeHwnd();
		m_flatHeader.SubclassWindow (hWndHeader);
	
	}
}





为什么它无法进入第二个if?



Why is it unable to step into the second "if"?

推荐答案


GetListCtrl().GetHeaderCtrl()->IsKindOf(RUNTIME_CLASS(CHeaderCtrl))





GetListCtrl()。GetHeaderCtrl()返回CHeaderCtrl或NULL。就是这样。



[]


这篇关于IsKindOf(RUNTIME_CLASS(CHeader ...的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-27 02:46