emwin的窗口管理 hWinBase = WM_CreateWindow(0, 0, 480, 320, WM_CF_SHOW, _cbDummy, 0); 创建window界面后, static void _cbDummy(WM_MESSAGE* pMsg){ int Id, NCode; WM_HWIN hWin, hItem; char buffer[6]; hWin = pMsg->hWin; switch (pMsg->MsgId) { case WM_CREATE: break; case WM_TIMER: break; case WM_PAINT: create_basePage(); //每次都重绘背景和标题 break; case WM_NOTIFY_PARENT://处理按钮相应事件 Id = WM_GetId(pMsg->hWinSrc); NCode = pMsg->Data.v; switch(Id) { case ID_BUTTON_0: //设置 switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: //创建子页面 功能设置界面 hWinSet = WM_CreateWindowAsChild(0, 52, 379, 267, hWinBase, WM_CF_SHOW, _cbSetView, 0); break; } case ID_BUTTON_1: //返回 switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: WM_DeleteWindow(hWinSet); break; } break; default: WM_DefaultProc(pMsg); break; } } 问题是: 1.window创建的时候,界面初始化应该放在 case WM_CREATE:下面吗? 放在WM_CREATE下面后,按钮无效,如果部分静态的放在create下面,按钮显示之类的放在paint下面。可以使用,但是静态的文字会穿透到子页面上。全部放在paint下面时,不会 有这种问题,但是出现了问题2 2.子页面的数据怎么传递到父窗口上 要用WM_SendMessage,但是传过去的数据被paint刷新掉了 有没有这方面相关的实例啊,最好是源代码,谢谢! |
搞这个需不需要回去学一下MFC啊 |
不传了,结贴了 |