例如CListCtrl中,下面的程序将模拟CListCtrl向父窗口发送LVN_ITEMCHANGED消息:NMHDR NMListView;
NMListView.hwndFrom=m_ListClient.GetSafeHwnd(); //列表框句柄
NMListView.idFrom=IDC_LIST_CLIENT; //列表框ID
NMListView.code=LVN_ITEMCHANGED; //消息
SendMessage(WM_NOTIFY,IDC_LIST_CLIENT,(LPARAM)&NMListView); //传入的是一个临时变量的指针上面的程序调试通过,不过我有一点不确定的地方,NMListView是个临时变量,在SendMessage函数返回后即被释放(假设SendMessage后面就是函数的结束符:}),这样windows再去取出消息的时候会不会出错?如果存放NMListView的内在被别的函数更改了怎么办?要不要把NMListView申明成类变量?
NMListView.hwndFrom=m_ListClient.GetSafeHwnd(); //列表框句柄
NMListView.idFrom=IDC_LIST_CLIENT; //列表框ID
NMListView.code=LVN_ITEMCHANGED; //消息
SendMessage(WM_NOTIFY,IDC_LIST_CLIENT,(LPARAM)&NMListView); //传入的是一个临时变量的指针上面的程序调试通过,不过我有一点不确定的地方,NMListView是个临时变量,在SendMessage函数返回后即被释放(假设SendMessage后面就是函数的结束符:}),这样windows再去取出消息的时候会不会出错?如果存放NMListView的内在被别的函数更改了怎么办?要不要把NMListView申明成类变量?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货