调试方式运行,CListCtrl对象的地址为0x00000000
监视(watch)窗口的 @err,hr(即,GetLastError)为
@err,hr 0x00000578 无效的窗口句柄。 unsigned long
我是在属性页(CPropertyPage)的构造函数中调用InsertColumn的,CPropertyPage为窗体,继承于CDialog。程序执行到CPropertyPage构造函数时,属性页还没创建完成,其中的控件也还没创建完成,在调用InsertColumn时,向list控件发送一个LVM_INSERTCOLUMN消息,但由于list控件还没有创建,才会引起无效的窗口句柄错误!将InsertColumn方法放在CPropertyPage::OnInitDialog()中调用,问题就解决了!
如果你创建的窗口中没有OnInitDialog()函数,可以通过一下方式继承添加: