桌面UI主要涉及到CDesktopView类 ,CDesktopView类继承于CDefShellView类;如果要更改桌面的UI表现形式,只要从这个类入手即可.CDesktopView类位于
$(_WINCEROOT)\PUBLIC\SHELL\OAK\HPC\CESHELL文件夹中.可以使用ctrl+F搜索一下就好。
在CDesktopView::PaintBackground中修改。
修改背景颜色:
// --- Original code commented out ---// ::FillRect(hdc, &rc, ::GetSysColorBrush(COLOR_BACKGROUND));// Explicitly set the background color.::FillRect(hdc, &rc, ::GetSysColorBrush(RGB(230, 150, 230)));
修改版本号:
PB的platform setting,build option里勾选enable ship build。
显示版本信息的代码在\WINCE500\PUBLIC\SHELL\OAK\HPC\CESHELL\UI\desktopview.cpp
void CDesktopView::PaintBackground(HDC hdc) const
......
#ifndef SHIP_BUILD
......
::wsprintf(wszVersion, L"Microsoft Windows CE v%d.%02d (Build %d on %s) ",
VerInfo.dwMajorVersion, VerInfo.dwMinorVersion, VerInfo.dwBuildNumber, TEXT(__DATE__));
........
怎么去掉桌面背景 一行字符
Microsoft Windows CE v5.00 (Build 1400 on Jul 23 2007)
修改如下:
在文件D:\WINCE500\PUBLIC\SHELL\OAK\HPC\CESHELL\UI\desktopview.cpp中把::wsprintf(wszVersion, L"Microsoft Windows CE v%d.%02d (Build %d on %s) ",
// VerInfo.dwMajorVersion, VerInfo.dwMinorVersion, VerInfo.dwBuildNumber, TEXT(__DATE__));
改为::wsprintf(wszVersion, L"");即可
//::wsprintf(wszVersion, L"Microsoft Windows CE v%d.%02d (Build %d on %s) ",
// VerInfo.dwMajorVersion, VerInfo.dwMinorVersion, VerInfo.dwBuildNumber, TEXT(__DATE__));
::wsprintf(wszVersion, L""); //删除桌面 一行字符串
把这几行改掉
public\wceshellfe\oak\ctlpnl\cplmain\system.cpp
extern "C" BOOL APIENTRY SystemDlgProc (HWND hDlg, UINT message, UINT wParam, LONG lParam)
GetVersionEx(&osvi);
{
if (osvi.dwBuildNumber > 0) {
StringCbPrintf(szTemp, sizeof(szTemp), CELOADSZ(IDS_SYSTEM_VER_WITH_BUILD),
osvi.dwMajorVersion,osvi.dwMinorVersion, osvi.dwBuildNumber);
}
else {
StringCbPrintf(szTemp, sizeof(szTemp), CELOADSZ(IDS_SYSTEM_VER_WITHOUT_BUILD), osvi.dwMajorVersion, osvi.dwMinorVersion);
}
]