|
我是从ico控件进来的一个窗口下创建一个小窗口,这个小窗口创建一个子窗口(类似于做一个显示控件)此处使用WM_CreateWindowAsChild,然后由于没办法触发WM_NOTIFY_PARENT,我顺带在这个子窗口创建了一个TEXT,点这个TEXT就删除子窗口。就死了
static void cb_Win(WM_MESSAGE * pMsg) {
int NCode;
int Id;
WM_HWIN hItem;
switch (pMsg->MsgId) {
case WM_PAINT:
GUI_SetColor(0xCCCCCC);
GUI_AA_DrawRoundedRect(0,0,169,79,6);*/
GUI_DrawBitmap(&bmROM,5,15);
GUI_SetTextMode(GUI_TM_TRANS);
GUI_SetFont(&GUI_Font20B_1);
GUI_SetColor(GUI_BLACK);
GUI_DispStringAt("ROM",75,15);
GUI_SetFont(&GUI_Font16B_1);
GUI_SetColor(0xDDDDDD);
GUI_DispStringAt("update system",60,45);
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
WM_SetFocus(WM_GetParent(pMsg->hWin));
WM_DeleteWindow(pMsg->hWin);
//Create_ListBox(0,60,pMsg->hWin);
break;
default:
WM_DefaultProc(pMsg);
break;
}
}
WM_HWIN CreateSysOper (WM_HWIN hParent) {//这个是在ico进来窗口下的小窗口
WM_HWIN hSysOperation,hWin; //窗口控件句柄
hSysOperation = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), cb_SysOperation, hParent, 0, 0);
WINDOW_SetBkColor(hSysOperation,0xF9F9F9); //设置颜色
hWin =WM_CreateWindowAsChild(20,70,170,300,hSysOperation,WM_CF_SHOW|WM_CF_HASTRANS,cb_Win,0);//用此函数创建子窗口需要有控件才能触发WM_NOTIFY_PARENT
TEXT_CreateEx(0,0,170,50,hWin,WM_CF_SHOW,0,ID_TEXT_0,"");
return hSysOperation;
}
我想实现这个效果,第一个图是这样,然后点这个就打开显示第二个图的内容,然后我图二下面的选项后关闭回到第一个图,问问硬汉如何做,这个我没用图片,除了那个图标外都是手画的
|
|