本文介绍了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 ...的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!