|
91program blog 中这样写到
具体的修改,主要是修改WinCE500\PUBLIC\SHELL\OAK\HPC\EXPLORER\TASKBAR\stmenu.cpp文件。
由于是在Windows CE内核源代码的基础之上进行修改的,所以没有将全部代码贴出来。将修改的主要部分内容,进行了说明。其中所需要的部分变量需要自己根据需要自定义。
第一:修改stmenuData数组
例如增加:{IDM_MOBILE, IDS_MOBILE, IDI_MOBILE, STATIC_ITEM, 0, 0, 0},
等,需要多个菜单的,可增加多行的内容
第二:为菜单定义背景图,并加载背景图:hbmStMenuBackGround
第三:在StartMenu_DrawMenuItem()的ODA_SELECT分支中,增加菜单背景绘制过程
if(hbmStMenuBackGround)
{
HDC hdcmem = CreateCompatibleDC(lpdis->hDC);
if(hdcmem)
{
SelectObject(hdcmem, hbmStMenuBackGround);
BitBlt(lpdis->hDC, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, hdcmem, rc.left, rc.top, SRCCOPY);
DeleteDC(hdcmem);
}
}
第四:在StartMenu_ProcessCommand()函数中,处理菜单响应
如
case IDM_MOBILE:
info.cbSize = sizeof(info);
info.fMask = SEE_MASK_NOCLOSEPROCESS | SEE_MASK_FLAG_NO_UI;
info.lpVerb = NULL;
info.lpFile = L"\\ResidentFlash\\MyMobileApp.exe";
info.lpParameters = NULL;
info.lpDirectory = NULL;
info.nShow = SW_SHOW;
info.hInstApp = NULL;
ShellExecuteEx(&info);
break;
最后:删除背景图资源
新添加菜单的图标和字符串,在下列两个文件中修改的
WINCE600\PUBLIC\SHELL\OAK\HPC\EXPLORER\MAIN\explorerbase.rc 文件和resource.h文件
按照此方法做了,但是现在的问题是开始菜单的背景没有修改成功,新添加的菜单也没有图标和字符显示
|
|