diff options
| author | [email protected] <[email protected]> | 2011-03-24 15:47:58 +0000 |
|---|---|---|
| committer | [email protected] <[email protected]> | 2011-03-24 15:47:58 +0000 |
| commit | c715ed6d90bdb6f481221051e82c7116c43ec073 (patch) | |
| tree | 8ccf652dcf10e89ecc3d5a66ba8efa1481880d82 /examples | |
| parent | 0621f30e9d4e69220991ad2a18ba6e89814f46f9 (diff) | |
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1347 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/rtgui_win/demo_gui_main.c | 7 | ||||
| -rw-r--r-- | examples/rtgui_win/demo_gui_win.c | 86 | ||||
| -rw-r--r-- | examples/rtgui_win/readme.txt | 3 |
3 files changed, 96 insertions, 0 deletions
diff --git a/examples/rtgui_win/demo_gui_main.c b/examples/rtgui_win/demo_gui_main.c index f62624c3d1..ee86d80a29 100644 --- a/examples/rtgui_win/demo_gui_main.c +++ b/examples/rtgui_win/demo_gui_main.c @@ -1,5 +1,7 @@ /*
* ���һ��RTGUI�����ӣ���ʾ����δ���һ��RTGUI����
+ * ��rtgui_win�����֧�У�û��toplevel�ؼ���Ĭ��panel
+ * ��Ϊtoplevel����ؼ�������������һ�������桱
*/
#include <rtthread.h>
#include <rtgui/rtgui.h>
@@ -12,6 +14,8 @@ #include <rtgui/widgets/listbox.h>
#include <rtgui/rtgui_theme.h>
+void demo_gui_win(PVOID wdt, rtgui_event_t *event);
+
rtgui_listbox_t *__lbox;
static rtgui_listbox_item_t _demo_list[] =
@@ -63,6 +67,9 @@ static void rtgui_panel_entry(void* parameter) 10,150,180,50,
RTGUI_TEXTBOX_MULTI);
+ button = rtgui_button_create(panel, "win",140,90,50,25);
+ rtgui_button_set_onbutton(button,demo_gui_win);
+
///////////////////////////////////////////////////////
rtgui_panel_show(panel);
diff --git a/examples/rtgui_win/demo_gui_win.c b/examples/rtgui_win/demo_gui_win.c new file mode 100644 index 0000000000..d2a99a36fe --- /dev/null +++ b/examples/rtgui_win/demo_gui_win.c @@ -0,0 +1,86 @@ +/*
+ * ���������ʾ�������һ���߳��д���һ��win
+ */
+
+#include <rtthread.h>
+#include <rtgui/rtgui.h>
+#include <rtgui/event.h>
+#include <rtgui/driver.h>
+#include <rtgui/widgets/label.h>
+#include <rtgui/widgets/button.h>
+#include <rtgui/widgets/window.h>
+
+static rt_bool_t demo_win_inited = RT_FALSE;
+
+ +static rt_bool_t demo_gui_win_event_handler(PVOID wdt, rtgui_event_t* event) +{
+
+ if(event->type == RTGUI_EVENT_PAINT)
+ {
+
+ }
+ + /* �����¼�ʹ��winĬ�ϵ��¼������������� */ + return rtgui_win_event_handler(wdt, event); +}
+ +static void gui_win_entry(void* parameter) +{ + const struct rtgui_graphic_driver* gd = rtgui_graphic_driver_get_default();
+ struct rt_messagequeue *mq; + rtgui_win_t *win;
+ rtgui_button_t *button;
+ rtgui_point_t p;
+ rtgui_rect_t rect = {0,0,150,120};
+ + /* ����GUIӦ����Ҫ����Ϣ���� */ + mq = rt_mq_create("demo_win", 256, 32, RT_IPC_FLAG_FIFO); + /* ע�ᵱǰ�߳� */ + rtgui_thread_register(rt_thread_self(), mq);
+
+ /* ���ھ��� */ + rtgui_rect_moveto(&rect, (gd->width - rtgui_rect_width(rect))/2, (gd->height - rtgui_rect_height(rect))/2); + /* �������� */ + win = rtgui_win_create(RT_NULL,"demo_win",&rect,RTGUI_WIN_DEFAULT);
+ if(win == RT_NULL) return;
+
+ /* ȡ�ÿͻ���������� */
+ p = rtgui_win_get_client_zero(win);
+ rtgui_label_create(win, "hello world!", p.x+10, p.y+10, 100,25);
+
+ button = rtgui_button_create(win, "Exit", 50,80,50,25);
+ rtgui_button_set_onbutton(button,rtgui_win_close);
+ + rtgui_widget_set_event_handler(win, demo_gui_win_event_handler);
+
+ rtgui_win_show(win,RT_FALSE);
+ + /* ִ�й���̨�¼�ѭ�� */ + rtgui_win_event_loop(win);
+ + demo_win_inited = RT_FALSE;
+ + /* ȥע��GUI�߳� */ + rtgui_thread_deregister(rt_thread_self()); + rt_mq_delete(mq); +} + +void demo_gui_win(PVOID wdt, rtgui_event_t *event) +{ + if(demo_win_inited == RT_FALSE) /* �����ظ���ʼ�������ı��� */ + { + struct rt_thread* tid; + + tid = rt_thread_create("demo_win", gui_win_entry, RT_NULL, 1024, 5, 10); + + if(tid != RT_NULL) rt_thread_startup(tid); + + demo_win_inited = RT_TRUE; + } +}
+
+
+
+
+
diff --git a/examples/rtgui_win/readme.txt b/examples/rtgui_win/readme.txt new file mode 100644 index 0000000000..410c590b81 --- /dev/null +++ b/examples/rtgui_win/readme.txt @@ -0,0 +1,3 @@ +����ļ����µ����Ӷ�Ӧ��rtgui_win��֧����֧��ַ�ǣ�
+http://rt-thread.googlecode.com/svn/branches/rtgui_win/
+�½����ļ��У���SVN update��ַ���ó�����ĵ�ַ���ɻ��rtgui_win��֧�Ĵ��롣
\ No newline at end of file |
