emwin的窗口管理和窗口之间的消息传递
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;
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啊:dizzy:
不传了,结贴了:dizzy:
页:
[1]