appele 发表于 2010-9-9 15:31:11

RTGUI 隱藏了按鈕,依然對該區的事件有反應??

是不是不Destory 的話不行??
還是在自己的Onbutton function 處理...
另外, rtgui_widget_show 可以立刻更新,rtgui_widget_hide 卻不能,我是不是少了甚麼沒有做?

現在用rtgui_view_show...

原來被 rtgui_workbench_show_view 中的
        /* already shown */
        if (workbench->current_view == view) return;
給走了...

ffxz 发表于 2010-9-9 19:34:32

hide有些问题,已经修复了,见svn版本。

后面的没看得太明白。

appele 发表于 2010-9-9 23:59:21

static void go_view_chk(struct rtgui_widget* widget, rtgui_event_t *event){
rt_kprintf("Press chk\n");

if (RTGUI_WIDGET_IS_HIDE(RTGUI_WIDGET(cal_btn))){
                rtgui_widget_show(RTGUI_WIDGET(cal_btn));
                rtgui_widget_update(RTGUI_WIDGET(cal_btn));
}else{
                rtgui_widget_hide(RTGUI_WIDGET(cal_btn));
                rtgui_view_show(view, RT_FALSE);
                }

}
其實用rtgui_widget_show / rtgui_widget_hide 的時候有更新View/Container/Workbench 的嗎?

我現在
用rtgui_widget_show 命令後用 rtgui_widget_update 去更新自己
但用在rtgui_widget_hide 的時候 rtgui_widget_update 只會更新自己,不會對上層更新
所以只有以rtgui_view_show 去 重繪 view
我這麼對嗎??

appele 发表于 2010-9-10 00:10:14

感謝ffxz


if (RTGUI_WIDGET_IS_HIDE(widget))   RT_FALSE;

少了return

if (RTGUI_WIDGET_IS_HIDE(widget)) return RT_FALSE;

ffxz 发表于 2010-9-10 07:38:24

多谢指出,已经更新了,另外widget和hide相关的一些问题也都查了一遍,并进行修正。
页: [1]
查看完整版本: RTGUI 隱藏了按鈕,依然對該區的事件有反應??