客户提出,要在控制面板的系统信息里面增加一个标签,以及删除一些没有用的程序,如音量和声音、区域设置等。
修改主要涉及到以下两个文件:
c:/WINCE600/PUBLIC/WCESHELLFE/OAK/CTLPNL/CPLMAIN/cpltable.cpp
c:/WINCE600/PUBLIC/WCESHELLFE/OAK/CTLPNL/CPLMAIN/cplmain.rc
1、首先要在cplmain.rc下增加相关标签页的信息,我要在系统属性程序里面增加一个基本的信息标签.
标签信息示例如下:
IDD_BASE DIALOG DISCARDABLE 0, 15, 264, 81
STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS
BEGIN
LTEXT "Device Producter:",IDC_STATIC,5,44,89,9
LTEXT "JiangSu Tongbao Industry Co.,Ltd",IDC_STATIC,104,44,85,9
LTEXT "JiangSu Tongbao Industry Co.,Ltd",IDC_STATIC,104,55,110,11
LTEXT "www.jstongbao.com",IDC_STATIC,104,66,72,9
LTEXT "Animal Tracing Reader P&&C880",IDC_STATIC,52,7,103,9
LTEXT "Product Name:",IDC_STATIC,5,8,42,9
LTEXT "Version:",IDC_STATIC,5,20,42,9
LTEXT "Seriel NO:",IDC_STATIC,5,32,36,9
LTEXT "V1.0.0",IDC_STATIC_VER,52,20,86,9
LTEXT "TB10000195900088",IDC_STATIC_NO,52,32,86,9
END
2、在cpltable.cpp里面增加相关信息。
const CPLTABINFO SystemTab = {
IDS_SYSTEM_SYSTAB, IDD_SYSTEM, L"SystemDlgProc", rgSystemBold, ARRAYSIZEOF(rgSystemBold), 0, L"file:ctpnl.htm#adjusting_memory_and_power_settings",
};
3、把标签添加到Applet里面。如下所示。以下亦是所有控制面板的程序,我们可以在这边控制让它显示与否。
CPLAPPLETINFO rgApplets[] = {
// mutex-name, pwd-protect, icon, name, description, commctrl flags CPLTABINFO pointers
{L"CPL_Comm", NULL, 0, IDI_COMM, IDS_COMM_NAME, IDS_COMM_DESC, IDS_COMM_TITLE,0, &CommRasTab, 0, 0, 0, 0 },
{L"CPL_Dialing", NULL, 0, IDI_DIALING,IDS_DIALING_NAME,IDS_DIALING_DESC,IDS_DIALING_TITLE,0,&DialingTab,0, 0, 0, 0 },
{L"CPL_Keyboard",NULL, 0, IDI_KEYBD, IDS_KEYBD_NAME, IDS_KEYBD_DESC, IDS_KEYBD_TITLE,0, &KeybdTab, 0, 0, 0, 0 },
{L"CPL_Password",NULL, 1, IDI_PASSWD, IDS_PASSWD_NAME, IDS_PASSWD_DESC, IDS_PASSWD_TITLE,0, &PasswdTab, 0, 0, 0, 0 },
{L"CPL_Owner", NULL, 1, IDI_PROFILE,IDS_PROFILE_NAME,IDS_PROFILE_DESC,IDS_PROFILE_TITLE,0,&OwnerTab, ¬esTab, &NetIdentTab, 0, 0 },
{L"CPL_Power", _T("PowerCallback"), 0, IDI_POWER, IDS_POWER_NAME, IDS_POWER_DESC, IDS_POWER_TITLE, ICC_LISTVIEW_CLASSES, &BatteryTab, 0, 0, 0, 0 },
{L"CPL_System", NULL, 0, IDI_SYSTEM, IDS_SYSTEM_NAME, IDS_SYSTEM_DESC, IDS_SYSTEM_TITLE,0, &SystemTab, &MemoryTab, &SystemIdentTab, ©rTab},
{L"CPL_Screen", NULL, 0, IDI_SCREEN, IDS_SCREEN_NAME, IDS_SCREEN_DESC, IDS_SCREEN_TITLE,0, &BackgndTab,&ColSchemeTab, &BcklitTab, 0, 0 },
{L"CPL_Mouse", NULL, 0, IDI_MOUSE, IDS_MOUSE_NAME, IDS_MOUSE_DESC, IDS_MOUSE_TITLE,0, &DblClkTab, 0, 0, 0, 0 },
{L"CPL_Stylus", NULL, 0, IDI_STYLUS, IDS_STYLUS_NAME, IDS_STYLUS_DESC, IDS_STYLUS_TITLE,0, &DblTapTab, &CalibratTab, 0, 0, 0 },
{L"CPL_Sounds", NULL, 0, IDI_SOUNDS, IDS_SOUND_NAME, IDS_SOUND_DESC, IDS_SOUND_TITLE,0, &VolumeTab, &SndSchemeTab, 0, 0, 0 },
{L"CPL_SIP", NULL, 0, IDI_SIP, IDS_SIP_NAME, IDS_SIP_DESC, IDS_SIP_TITLE,0, &SipTab, 0, 0, 0, 0 },
{L"CPL_Remove", NULL, 0, IDI_REMOVE, IDS_REMOVE_NAME, IDS_REMOVE_DESC, IDS_REMOVE_TITLE,0, &RemoveTab, 0, 0, 0, 0 },
{L"CPL_DateTime",NULL, 0, IDI_TIME, IDS_DATETIME_NAME, IDS_DATETIME_DESC, IDS_DATETIME_TITLE,ICC_DATE_CLASSES, &DateTimeTab, 0, 0, 0, 0 },
{L"CPL_Certs", NULL, 0, IDI_CERT, IDS_CERTCPL_NAME,IDS_CERTCPL_DESC,IDS_CERTCPL_TITLE,0,&CertRootsTab, 0, 0, 0, 0 },
{L"CPL_Accessib",NULL, 0, IDI_ACCESS, IDS_ACCESS_NAME, IDS_ACCESS_DESC, IDS_ACCESS_TITLE,0, &AccKeybdTab, &AccSoundTab, &AccDispTab, &AccMouseTab, &AccGeneralTab},
};
4、由于是修改了public下的代码所以,要全编,即Build and Sysgen.