|
这个是在上面那个官方例程基础上修改的。
目的是要把屏莫左边的那个图形显示到这个LIGHTRED框内。这个框是一个窗口控件。
还是上源码吧,看看是哪里的问题,搞了半天就是不显示。
怎么上传不为文件呢?
那只能贴这里了:
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] =
{
{ WINDOW_CreateIndirect, "", 0, 200, 60, 320, 280, 0, 0, 0 },
};
static GUI_RECT Rect = {0, 130, 100, 180};
static void memdev_draw(int Delay)
{
GUI_SetPenSize(5);
GUI_SetColor(GUI_RED);
GUI_DrawLine(Rect.x0 + 3, Rect.y0 + 3, Rect.x1 - 3, Rect.y1 - 3);
GUI_Delay(Delay);
GUI_SetColor(GUI_GREEN);
GUI_DrawLine(Rect.x0 + 3, Rect.y1 - 3, Rect.x1 - 3, Rect.y0 + 3);
GUI_Delay(Delay);
GUI_SetColor(GUI_WHITE);
GUI_SetFont(&GUI_FontComic24B_ASCII);
GUI_SetTextMode(GUI_TM_TRANS);
GUI_DispStringInRect("Closed", &Rect, GUI_TA_HCENTER | GUI_TA_VCENTER);
GUI_Delay(Delay);
}
static void demo_mem_dev(void)
{
int i;
#if 1
h_memdev = GUI_MEMDEV_Create(0, 0, 800, 480);
#else
h_memdev = GUI_MEMDEV_Create(Rect.x0, Rect.y0, Rect.x1 - Rect.x0, Rect.y1 - Rect.y0);
#endif
GUI_MEMDEV_Select(h_memdev);
memdev_draw(0);
GUI_MEMDEV_Select(0);
}
static void _cbDialog(WM_MESSAGE *pMsg)
{
WM_HWIN hWin;
int NCode;
int Id;
switch (pMsg->MsgId)
{
case WM_INIT_DIALOG:
{
WINDOW_SetBkColor(pMsg->hWin,GUI_LIGHTRED);
memdev_draw(0);
demo_mem_dev();
}
break;
case WM_PAINT:
{
GUI_MEMDEV_CopyToLCDAt(h_memdev, 240, 100);
}
break;
default:
WM_DefaultProc(pMsg);
break;
}
}
void MainTask(void)
{
WM_HWIN h_win_mem;
GUI_Init();
WM_SetCreateFlags(WM_CF_MEMDEV);
h_win_mem = GUI_CreateDialogBox(_aDialogCreate,
GUI_COUNTOF(_aDialogCreate),
_cbDialog,
WM_HBKWIN,
0, 0);
while(1)
{
GUI_Delay(100);
}
} |
|