怎么用GUI建立一个简单的窗口????????????
成功移植GUI已有四五天了,想学GUI中的窗口的管理,但是到目前为止,我表示连一个窗口都建立不起来,这个函数WM_CreateWindow()用了没反应,求大家指点怎么建立起一个简单的窗口?求源代码。谢谢! 有例子吧!ucgui有不少例子的,看一下就知道了 uCGUIBulider4.0 挺好用的小工具,可以再PC环境下设计界面,不过Win7 64Bit中有问题,其他windows还行 wxfje 发表于 2012-11-4 17:30 static/image/common/back.gif有例子吧!ucgui有不少例子的,看一下就知道了
很多例子都是在模拟器上运行的程序,不能直接在我的板子上运行,没多大价值。 楼主把程序贴上来看看 lcw_swust 发表于 2012-11-5 09:48 static/image/common/back.gif
楼主把程序贴上来看看
建立一个窗口的问题已经解决了,但是现在又出现了新的问题,最多只能建立一个窗口(建立两个窗口只能显示一个),这是怎么回事?
static void Window1(WM_MESSAGE* pMsg)
{
GUI_RECT Rect;
int x,y;
switch(pMsg->MsgId)
{
case WM_PAINT:
WM_GetInsideRect(&Rect);
GUI_SetBkColor(GUI_RED);
GUI_SetColor(GUI_YELLOW);
GUI_ClearRectEx(&Rect);
GUI_DrawRectEx(&Rect);
GUI_SetColor(GUI_WHITE);
GUI_SetFont(&GUI_Font24_ASCII);
x=WM_GetWindowSizeX(pMsg->hWin);
y=WM_GetWindowSizeY(pMsg->hWin);
GUI_DispStringHCenterAt("Micrium",x/2,(y/2)-12);
break;
default:
WM_DefaultProc(pMsg);//要处理WM_GetInsideRect发过来的消息
}
}
static void cbChild(WM_MESSAGE* pMsg)
{
int x,y;
GUI_RECT Rect;
switch(pMsg->MsgId)
{
GUI_SetBkColor(GUI_WHITE);
WM_GetInsideRect(&Rect);
GUI_SetBkColor(GUI_RED);
GUI_SetColor(GUI_YELLOW);
GUI_ClearRectEx(&Rect);
GUI_DrawRectEx(&Rect);
// GUI_Clear();
GUI_SetColor(GUI_RED);
GUI_SetFont(&GUI_Font24_ASCII);
x=WM_GetWindowSizeX(pMsg->hWin);
y=WM_GetWindowSizeY(pMsg->hWin);
GUI_DispStringHCenterAt("Micrium",x/2,(y/2)-12);
break;
default:
WM_DefaultProc(pMsg);
}
}
void main(void)
{
WM_HWIN hWindow1,hChild;
//BUTTON_Handle hProgBar;
InitClock();
GUI_Init();
GUI_CLR_Screen(0xE1FA);
hWindow1=WM_CreateWindow(50,70,165,100,WM_CF_SHOW|WM_CF_MEMDEV,Window1,0);
GUI_Delay(1000/3);
hChild=WM_CreateWindow(10,50,145,40,WM_CF_SHOW|WM_CF_MEMDEV,cbChild,0);
GUI_Delay(1000);
GUI_MessageBox("love\nyou","Caption/Title",GUI_MESSAGEBOX_CF_MOVEABLE);
while(1)
{
// WM_Paint(hWin2);
WM_Exec();
}
} LZW520 发表于 2012-11-18 21:58 static/image/common/back.gif
建立一个窗口的问题已经解决了,但是现在又出现了新的问题,最多只能建立一个窗口(建立两个窗口只能显示 ...
WM_Exec里是什么?
页:
[1]