|
小弟刚学ucgui不就有个问题请教大家问题如下:比如我想在主函数中在需要的时候通过sendmessage的方式把一个变量的值发送到一个w1窗体中应该怎么实现,如果定时的让w1重绘肯定是可
以实现的,但是那样很不方便,而且重绘的东西比较多,我自己写的一个函数如下
void send_data_to_window(WM_HWIN my_window,int MsgId,int my_data)
{
WM_MESSAGE my_message;
my_message.MsgId=MsgId;
my_message.hWin=my_window;
my_message.Data.v=my_data;
WM__SendMessage(my_window, &my_message) ;
}
假如w1窗体的回调函数是cb_w1(),如果我想在主函数中把一个固定的变量ad_value 在需要的时候发送的w1窗体上显示实时更新(不需要的话就不要更新),我调用的方法如下,
send_data_to_window(w1,int WM_PAINT,ad_value);然后在回调函数中处理方式如下
void cb_w1(WM_MESSAGE * pMsg)
{
switch (pMsg->MsgId)
{
case WM_PAINT:
GUI_DispDecAt(pMsg->Data.v,0,0,4);
break;
default:
WM_DefaultProc(pMsg);
}
}
我的疑问是这种方法为什么不行,需要怎么改?,应该怎么样才能通过主函数往窗体发送变量并更新显示? 求大侠指教,不胜感激,,,,
|
|