C++两个属性页间的控件响应有关问题
C++两个属性页间的控件响应问题
通过响应属性页1中的按钮来给属性页2中的组合框添加内容,
代码,如何写?
求大神帮忙,小弟接触C++不久!!求解决
------解决方案--------------------
PostMessage即可。
------解决方案--------------------
只要能获取属性页2的句柄,就可以直接调用属性页2的成员函数获取到组合框的句柄,最后在响应函数中向组合框句柄(相当于一个窗口句柄)发送消息,在组合框的消息响应函数中可以获取到发过来的数据,添加进去就可以了。如果你觉得发送消息麻烦,也可以在按钮响应函数中获取组合框的句柄后,直接调用组合框的成员函数将数据添加进去亦可。
PS: 句柄其实是windows为了高效管理内存引入的,windows会在必要的时候移动内存。为此,如果直接用指针操作窗口的数据结构,有可能导致保存的窗口指针无效。windows在内部替我们维护了移动内存带来的改变,因此你通过句柄就可以访问到数据结构了。一旦获取到句柄,就好比我们调用类的成员函数改变类的数据成员,再次刷新的时候,我们看到的数据就会发生变化。
------解决方案--------------------
通过响应属性页1中的按钮来给属性页2中的组合框添加内容,
代码,如何写?
求大神帮忙,小弟接触C++不久!!求解决
------解决方案--------------------
PostMessage即可。
------解决方案--------------------
只要能获取属性页2的句柄,就可以直接调用属性页2的成员函数获取到组合框的句柄,最后在响应函数中向组合框句柄(相当于一个窗口句柄)发送消息,在组合框的消息响应函数中可以获取到发过来的数据,添加进去就可以了。如果你觉得发送消息麻烦,也可以在按钮响应函数中获取组合框的句柄后,直接调用组合框的成员函数将数据添加进去亦可。
PS: 句柄其实是windows为了高效管理内存引入的,windows会在必要的时候移动内存。为此,如果直接用指针操作窗口的数据结构,有可能导致保存的窗口指针无效。windows在内部替我们维护了移动内存带来的改变,因此你通过句柄就可以访问到数据结构了。一旦获取到句柄,就好比我们调用类的成员函数改变类的数据成员,再次刷新的时候,我们看到的数据就会发生变化。
------解决方案--------------------
::SetDlgItemText(HWND_XXX, ID_XXX1,Text );