summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
author[email protected] <[email protected]>2011-03-24 15:47:58 +0000
committer[email protected] <[email protected]>2011-03-24 15:47:58 +0000
commitc715ed6d90bdb6f481221051e82c7116c43ec073 (patch)
tree8ccf652dcf10e89ecc3d5a66ba8efa1481880d82 /examples
parent0621f30e9d4e69220991ad2a18ba6e89814f46f9 (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.c7
-rw-r--r--examples/rtgui_win/demo_gui_win.c86
-rw-r--r--examples/rtgui_win/readme.txt3
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