结构体不能赋值的原因.CListCtrl不响应右键。想法回溯。

本文探讨了在C++编程中使用Union结构时遇到的异常情况及其原因,并讨论了在扩展CListCtrl控件时可能遇到的消息响应冲突问题。

struct Union_Sting{
   CString stra;
   CString strb;
}
在别的类中使用的使用时候,会遇到。
CString strSource;
Union_Sting unStr;
unStr.stra=strSource;
//异常了,这时候就需要向上找错误的原因,我遇到的原因
都是,Union_Sting结构体所在的类中,类的指针没有new一个
对象。该类的指针为空指针。或者在赋值之前已经释放了指针。


比如还有CListCtrlEx::CListCtrl   用CListCtrlEx扩展了CListCtrl
遇到的问题。 如果在CListCtrlEx中响应了比如右键的消息,
.h
CMydialog:CDialog
{

   afx_msg void OnBnClickedOk();
   CListCtrlEx m_list;
}

.cpp

BEGIN_MESSAGE_MAP(CInfoDlg, CDialog)
ON_NOTIFY(NM_RCLICK,IDC_LIST_LINKMAN, OnRclickContactlist)
END_MESSAGE_MAP()
CMydialog::OnRclickContactlist((NMHDR* pNMHDR, LRESULT* pResult)
{
  
}

那么CMydialog中的m_list 不会再响应的右键单击消息。该消息已在CListCtrlEx
中处理。
想给自己说明的是,有时候无意中在上层或者更深一步的地方,做出了一些处理。
导致当前无法做到一些效果。 在解决问题的时候一定要注意不仅要在当前思考,更
应该考虑下有没有上或者下对当前造成了什么影响。想法的回溯。

 

转载于:https://www.cnblogs.com/yuzhould/archive/2010/08/05/4455006.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值