soui中使用SSendMessage函数
soui中提供了SSendMessage函数,用于发送消息,和windows的api函数SendMessage功能相同,但是又有不同。
soui中提供的SSendMessage函数能够进行消息的发送,但是消息的响应函数在当前调用此函数的线程中执行。因此在消息响应函数中执行的时候,若函数中有代码进行ui方面的更改,则有可能会出现问题。
windows Api提供的SendMessage函数则会将线程切换到主线程,然后在主线程中进行消息响应函数的执行。
因此在使用soui中的SSendMessage函数中要注意消息响应函数的编写。如果需要在消息响应函数中进行ui操作,则有可能需要使用windows api提供的SendMessage函数,函数参数中的句柄为其窗口的句柄:this->GetContainer()->GetHostHwnd() ,然后在包含此控件的窗口进行消息响应的处理。