关于消息参数的接收有关问题和一个关于函数的小疑点
关于消息参数的接收问题和一个关于函数的小问题
1.消息参数一般是wparam和lparam。如果我想传递消息同时传入一个参数,例如发送一个Lbuttondowm消息,传入一个Cpoint* x。*x = (int,int)。LPARAM lp = (LPARAM)x;PostMessage(hWND,WM_LBUTTONDOWN,w,lp)。
这样传入应该没问题吧?那接收时是怎么接收?OnLbuttonDown这个响应函数参数只有UINT nFlags和CPoint point啊,不能直接接收吗?
2.类的对象虽然是资源不同,但实现起来在程序里实际上是共用一个函数对吧,用this指针区分,有个问题是,如果类中有fuc A,对象是b,c。我在b调用fucA时发一个消息给c,让c也调用fucA,因为函数共用不可能同时处理2个数据?似乎要出问题?
------解决方案--------------------
1.想的挺多的。个人理解,一些已经封装好的消息,参数类型已经明确了,估计就不能乱传了,你得按规矩来。因为这些消息,windows自己也会处理,它得明确参数的意义,不能含糊。你可以响应这个消息,作些处理,但如果你不响应,这个消息其实也会有默认的动作的。
你说的LPARAM,那是自定义消息时用的,参数比较抽象,以便于你自已来约定实际的参数类型。这样的自定义消息,windows就只负责传递,不会做任何处理了,因为它不知道你的参数是什么玩意啊。
2。貌似你好像理解了类和对象的区别,可仔细看来,你还是不懂啊。函数不存在共用的问题,在形成对象后,是在不同的空间的。就好比人都会走路,但每个人的走的路自然是不一样的。走路就像函数,具体到每个对象,那是各走各的路了。
------解决方案--------------------
代码只是指令而已。就好像你看操作说明书,难道你开始看说明书到一半的时候,别人也开始看同一版本的另一本书,你的说明书后面一半就变乱码了?
1.消息参数一般是wparam和lparam。如果我想传递消息同时传入一个参数,例如发送一个Lbuttondowm消息,传入一个Cpoint* x。*x = (int,int)。LPARAM lp = (LPARAM)x;PostMessage(hWND,WM_LBUTTONDOWN,w,lp)。
这样传入应该没问题吧?那接收时是怎么接收?OnLbuttonDown这个响应函数参数只有UINT nFlags和CPoint point啊,不能直接接收吗?
2.类的对象虽然是资源不同,但实现起来在程序里实际上是共用一个函数对吧,用this指针区分,有个问题是,如果类中有fuc A,对象是b,c。我在b调用fucA时发一个消息给c,让c也调用fucA,因为函数共用不可能同时处理2个数据?似乎要出问题?
------解决方案--------------------
1.想的挺多的。个人理解,一些已经封装好的消息,参数类型已经明确了,估计就不能乱传了,你得按规矩来。因为这些消息,windows自己也会处理,它得明确参数的意义,不能含糊。你可以响应这个消息,作些处理,但如果你不响应,这个消息其实也会有默认的动作的。
你说的LPARAM,那是自定义消息时用的,参数比较抽象,以便于你自已来约定实际的参数类型。这样的自定义消息,windows就只负责传递,不会做任何处理了,因为它不知道你的参数是什么玩意啊。
2。貌似你好像理解了类和对象的区别,可仔细看来,你还是不懂啊。函数不存在共用的问题,在形成对象后,是在不同的空间的。就好比人都会走路,但每个人的走的路自然是不一样的。走路就像函数,具体到每个对象,那是各走各的路了。
------解决方案--------------------
代码只是指令而已。就好像你看操作说明书,难道你开始看说明书到一半的时候,别人也开始看同一版本的另一本书,你的说明书后面一半就变乱码了?