代码还是看着比较辛苦,有没更简单的,就一个窗口跑个按钮,跑个存储设备,能说明问题就行。- #include "DIALOG.h"
- #include "wm.h"
-
- #define TRACK_X0 0
- #define TRACK_Y0 40
- #define TRACK_H 320
- #define TRACK_V 240
-
- static const GUI_WIDGET_CREATE_INFO _aDialogCreate_track[] =
- {
- { WINDOW_CreateIndirect, "", GUI_ID_WIN0, TRACK_X0, TRACK_Y0, TRACK_H, TRACK_V, 0, 0x0, 0 },
-
- };
-
- static GUI_MEMDEV_Handle h_mem_track;
-
- static void track_display_init(void)
- {
- h_mem_track = GUI_MEMDEV_CreateEx(TRACK_X0,TRACK_Y0,TRACK_H,TRACK_V,GUI_MEMDEV_NOTRANS); //GUI_MEMDEV_HASTRANS GUI_MEMDEV_NOTRANS
- GUI_MEMDEV_Select(h_mem_track);
- GUI_SetBkColor(GUI_WHITE);
- GUI_Clear();
-
- GUI_SetFont(&GUI_Font24_ASCII);
- GUI_SetColor(GUI_BLACK);
- //GUI_SetBkColor(GUI_WHITE);
- GUI_DispStringAt("X:",TRACK_X0,TRACK_Y0);
- GUI_DispStringAt("Y:",TRACK_X0+100,TRACK_Y0);
- GUI_MEMDEV_Select(0);
- }
-
- static void track_display(void)
- {
- GUI_MEMDEV_Select(0);
- GUI_MEMDEV_WriteAt(h_mem_track,TRACK_X0,TRACK_Y0);
- }
-
- static void _cbDialog_track(WM_MESSAGE *pMsg)
- {
- WM_HWIN hWin = pMsg->hWin;
-
- switch (pMsg->MsgId)
- {
- case WM_PAINT:
- track_display();
- break;
-
- case WM_INIT_DIALOG:
- {
- track_display_init();
- }
- break;
-
- default:
- WM_DefaultProc(pMsg);
- break;
- }
- }
-
-
- WM_HWIN h_page_track;
- WM_HWIN page_track(void)
- {
- h_page_track = GUI_CreateDialogBox(_aDialogCreate_track,
- GUI_COUNTOF(_aDialogCreate_track),
- _cbDialog_track,
- WM_HBKWIN,
- 0, 0);
- return h_page_track;
- }
-
- void add_track(int x0,int y0,int x1,int y1)
- {
- char coord[8];
-
- GUI_MEMDEV_Select(h_mem_track);
-
- GUI_SetFont(&GUI_Font24B_ASCII);
-
- GUI_SetBkColor(GUI_WHITE);
- GUI_SetColor(GUI_BLACK);
- GUI_DispStringAt("hello world",TRACK_X0+x1,TRACK_Y0+30+y1);
-
- // GUI_SetColor(GUI_RED);
- // sprintf(coord,"%d",x1);
- GUI_DispStringAt(" ",TRACK_X0 + 30,TRACK_Y0);
- GUI_DispStringAt(coord,TRACK_X0+30,TRACK_Y0);
- // sprintf(coord,"%d",y1);
- GUI_DispStringAt(" ",TRACK_X0+120,TRACK_Y0);
- GUI_DispStringAt(coord,TRACK_X0+120,TRACK_Y0);
-
- GUI_MEMDEV_Select(0);
-
- WM_InvalidateWindow(h_page_track);
- }
-
-
-
- static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] =
- {
- { WINDOW_CreateIndirect, "", GUI_ID_WIN0, 0, 0, 800, 480, 0, 0x0, 0 },
-
- { TEXT_CreateIndirect, "", GUI_ID_TEXT11, 0, 0, 100, 40, 0, 0, 0 },
- { TEXT_CreateIndirect, "", GUI_ID_TEXT12, 100, 0, 100, 40, 0, 0, 0 },
- { TEXT_CreateIndirect, "", GUI_ID_TEXT13, 500, 0, 100, 40, 0, 0, 0 },
-
- { BUTTON_CreateIndirect, "", GUI_ID_BUTTON0, 400, 60, 100, 20, 0, 0x0, 0 },
- { BUTTON_CreateIndirect, "", GUI_ID_BUTTON1, 400, 90, 100, 20, 0, 0x0, 0 },
- { BUTTON_CreateIndirect, "", GUI_ID_BUTTON2, 400, 120, 100, 20, 0, 0x0, 0 },
- { BUTTON_CreateIndirect, "", GUI_ID_BUTTON3, 400, 150, 100, 20, 0, 0x0, 0 },
-
- { BUTTON_CreateIndirect, "", GUI_ID_BUTTON4, 400, 180, 100, 20, 0, 0x0, 0 },
- { BUTTON_CreateIndirect, "", GUI_ID_BUTTON5, 400, 210, 100, 20, 0, 0x0, 0 },
-
- { BUTTON_CreateIndirect, "", GUI_ID_BUTTON6, 400, 240, 100, 20, 0, 0x0, 0 },
- { BUTTON_CreateIndirect, "", GUI_ID_BUTTON7, 400, 270, 100, 20, 0, 0x0, 0 },
- { BUTTON_CreateIndirect, "", GUI_ID_BUTTON8, 400, 300, 100, 20, 0, 0x0, 0 },
- { BUTTON_CreateIndirect, "", GUI_ID_BUTTON9, 400, 330, 100, 20, 0, 0x0, 0 },
-
- #if 0
- { TEXT_CreateIndirect, "", GUI_ID_TEXT0, T0_X0, T0_Y0, 50, 20, 0, 0, 0 },
- { TEXT_CreateIndirect, "", GUI_ID_TEXT1, T1_X0, T1_Y0, 50, 20, 0, 0, 0 },
- { TEXT_CreateIndirect, "", GUI_ID_TEXT2, T2_X0, T2_Y0, 50, 20, 0, 0, 0 },
- { TEXT_CreateIndirect, "", GUI_ID_TEXT3, T3_X0, T3_Y0, 50, 20, 0, 0, 0 },
- #endif
-
- #if 0
- { TEXT_CreateIndirect, "", GUI_ID_TEXT4, T4_X0, T4_Y0, 50, 20, 0, 0, 0 },
- { TEXT_CreateIndirect, "", GUI_ID_TEXT5, T5_X0, T5_Y0, 50, 20, 0, 0, 0 },
- { TEXT_CreateIndirect, "", GUI_ID_TEXT6, T6_X0, T6_Y0, 50, 20, 0, 0, 0 },
- { TEXT_CreateIndirect, "", GUI_ID_TEXT7, T7_X0, T7_Y0, 50, 20, 0, 0, 0 },
- { TEXT_CreateIndirect, "", GUI_ID_TEXT8, T8_X0, T8_Y0, 50, 20, 0, 0, 0 },
- { EDIT_CreateIndirect, "", GUI_ID_EDIT0, E0_X0, E0_Y0, 50, 20, 0, 0, 0 },
- { EDIT_CreateIndirect, "", GUI_ID_EDIT1, E1_X0, E1_Y0, 50, 20, 0, 0, 0 },
- { EDIT_CreateIndirect, "", GUI_ID_EDIT2, E2_X0, E2_Y0, 50, 20, 0, 0, 0 },
- { EDIT_CreateIndirect, "", GUI_ID_EDIT3, E3_X0, E3_Y0, 50, 20, 0, 0, 0 },
- { EDIT_CreateIndirect, "", GUI_ID_EDIT4, E4_X0, E4_Y0, 50, 20, 0, 0, 0 },
- #endif
- };
-
-
- int f_language_change;
-
- static void page_dialog_init(WM_HWIN hWin)
- {
-
-
- }
-
- static void _cbDialog(WM_MESSAGE *pMsg)
- {
- WM_HWIN hWin = pMsg->hWin;
-
- switch (pMsg->MsgId)
- {
- case WM_PAINT:
- {
- }
- break;
-
- case WM_INIT_DIALOG:
- WINDOW_SetBkColor(hWin,GUI_BLUE);
- // page_dialog_init(hWin);
- break;
-
- case WM_NOTIFY_PARENT:
- {
-
- }
- break;
-
- default:
- WM_DefaultProc(pMsg);
- break;
- }
- }
-
- WM_HWIN h_page_main;
- WM_HWIN page_main_page(void)
- {
- h_page_main = GUI_CreateDialogBox(_aDialogCreate,
- GUI_COUNTOF(_aDialogCreate),
- _cbDialog,
- WM_HBKWIN,
- 0, 0);
- return h_page_main;
- }
-
-
-
- #define DEBUG_TRACK 1
-
-
- void _main(void)
- {
- WM_HWIN h_dlg;
- int x0,y0,x1,y1;
- int add_dec;
- static int cnt = 0;
- int test_send_cnt = 0;
-
- GUI_Init();
-
- WM_SetCreateFlags(WM_CF_MEMDEV);
-
- h_dlg = page_main_page();//page_carve_param_set();//page_main_page();
-
- WM_DisableMemdev(h_dlg);
-
- h_dlg = page_track();
- WM_DisableMemdev(h_dlg);
-
- x0 = 0;
- y0 = 0;
- x1 = 5;
- y1 = 5;
-
- add_dec = 0;
-
- while(1)
- {
- GUI_Delay(200);
-
- #if DEBUG_TRACK
- cnt++;
- if(cnt < 20)
- {
-
- }
-
- add_track(x0,y0,x1,y1);
-
- if(add_dec)
- {
- x1 -= 3;
- y1 -= 4;
- }
- else
- {
- x1 += 3;
- y1 += 4;
- }
-
- if(x1>200 || y1>200)
- {
- add_dec = 1;
- }
-
- if(x1<3 || y1<4)
- {
- add_dec = 0;
- }
- #endif
- }
- }
复制代码 |