问一个DialogBox的有关问题(C++)
问一个DialogBox的问题(C++)
我创建了一个DialogBox用来显示一些信息,但是我想在这个窗口下面添加Command,就是左右软键那样的,比如左边是返回,右边是退出这样,请问应该如何添加呢?添加之后怎样响应用户按键?谢谢!
------解决方案--------------------
1、wndproc响应函数响应WM_INITDIALOG消息,用SHCreateMenuBar创建菜单。
2、wndproc中响应WM_COMMAND消息,LOWORD(wParam)==ID_YOURCOMMANDID时响应你要添加的功能,ID_YOURCOMMANDID为你的menu资源中对应的menu item的id
------解决方案--------------------
OnInitDialog 中加:
// Create a MenuBar for WCE devices
SHMENUBARINFO mbi;
memset(&mbi, 0, sizeof(SHMENUBARINFO));
mbi.cbSize = sizeof(SHMENUBARINFO);
mbi.hwndParent = m_hWnd;
mbi.nToolBarId = IDR_MAINWND;
mbi.hInstRes = AfxGetApp()->m_hInstance;
mbi.nBmpId = 0;
mbi.cBmpImages = 0;
if (FALSE == SHCreateMenuBar(&mbi))
{
TRACE0("SHCreateMenuBar Failed");
return -1;
}
------解决方案--------------------
2楼中还要加mbi.dwFlags=SHCMBF_HMENU;
否则显示不出来菜单栏。也就是1楼说的第一步。
然后就根据1楼的往下做。
顶1楼。。。。。。。。。。。。。。。。。。
我创建了一个DialogBox用来显示一些信息,但是我想在这个窗口下面添加Command,就是左右软键那样的,比如左边是返回,右边是退出这样,请问应该如何添加呢?添加之后怎样响应用户按键?谢谢!
------解决方案--------------------
1、wndproc响应函数响应WM_INITDIALOG消息,用SHCreateMenuBar创建菜单。
2、wndproc中响应WM_COMMAND消息,LOWORD(wParam)==ID_YOURCOMMANDID时响应你要添加的功能,ID_YOURCOMMANDID为你的menu资源中对应的menu item的id
------解决方案--------------------
OnInitDialog 中加:
// Create a MenuBar for WCE devices
SHMENUBARINFO mbi;
memset(&mbi, 0, sizeof(SHMENUBARINFO));
mbi.cbSize = sizeof(SHMENUBARINFO);
mbi.hwndParent = m_hWnd;
mbi.nToolBarId = IDR_MAINWND;
mbi.hInstRes = AfxGetApp()->m_hInstance;
mbi.nBmpId = 0;
mbi.cBmpImages = 0;
if (FALSE == SHCreateMenuBar(&mbi))
{
TRACE0("SHCreateMenuBar Failed");
return -1;
}
------解决方案--------------------
2楼中还要加mbi.dwFlags=SHCMBF_HMENU;
否则显示不出来菜单栏。也就是1楼说的第一步。
然后就根据1楼的往下做。
顶1楼。。。。。。。。。。。。。。。。。。