我显示的界面跟上面这个图很像。点击查询按钮,弹出一个框架窗口。 右上角有一个关闭按钮,显示成一个叉号。
我点击它,试图关闭框架窗口,发现有时候会死机。 //回调函数
static void _cbCallback1(WM_MESSAGE * pMsg)
{
// int i;
hItem1 = pMsg->hWin;
switch (pMsg->MsgId)
{
case WM_INIT_DIALOG: //初始化属性
break;
case WM_PAINT:
break;
case WM_NOTIFY_PARENT:
Id1 = WM_GetId(pMsg->hWinSrc); //控件ID
NCode1 = pMsg->Data.v; // 功能码
switch (NCode1)
{
case WM_NOTIFICATION_RELEASED: //只有当释放时有效
break;
case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_SEL_CHANGED:
break;
case WM_NOTIFICATION_LOST_FOCUS:
if(Id1==0x176)
{
FRAMEWIN_Delete(hWin1);
}
break;
}
break;
default:
WM_DefaultProc(pMsg);
}
}
回调函数如上。 我调试时,发现点击关闭按钮,会进到​
Id1 = WM_GetId(pMsg->hWinSrc); //控件ID
NCode1 = pMsg->Data.v; // 功能码 下面的代码处。​
再然后,进到下面的代码, case WM_NOTIFICATION_LOST_FOCUS:
if(Id1==0x176)
{
FRAMEWIN_Delete(hWin1);
} 但是有时候会死机。就是程序在回调函数里死循环。 还有,我不太清楚如何正确使框架窗口关闭,以上 程序是我摸索出来的,不一定正确。 哪位大神教教我该如何处理?或者给一个例程也行啊。谢谢!​
|