{
case PSCB_INITIALIZED:
{
- hIcon = LoadIconW(hApplet, MAKEINTRESOURCEW(IDI_CPLSYSTEM));
+ hIcon = LoadIconW(hApplet, MAKEINTRESOURCEW(IDI_KEY_SHORT_ICO));
SendMessageW(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
break;
}
header.dwFlags = PSH_PROPSHEETPAGE | PSH_USEICONID | PSH_USECALLBACK;
header.hwndParent = hCPLWindow;
header.hInstance = hApplet;
- header.pszIcon = MAKEINTRESOURCEW(IDI_CPLSYSTEM);
+ header.pszIcon = MAKEINTRESOURCEW(IDI_KEY_SHORT_ICO);
header.pszCaption = szCaption;
header.nPages = ARRAYSIZE(page);
header.nStartPage = 0;
INT_PTR CALLBACK
MainPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
+ static HICON s_hIcon = NULL, s_hIconSm = NULL;
UNREFERENCED_PARAMETER(lParam);
switch (uMsg)
{
case WM_INITDIALOG:
AddColumns(GetDlgItem(hwndDlg,IDC_CONTROLLER_LIST));
+ s_hIcon = LoadIconW(hApplet, MAKEINTRESOURCEW(IDI_CPLSYSTEM));
+ s_hIconSm = (HICON)LoadImageW(hApplet, MAKEINTRESOURCEW(IDI_CPLSYSTEM),
+ IMAGE_ICON,
+ GetSystemMetrics(SM_CXSMICON),
+ GetSystemMetrics(SM_CYSMICON), 0);
+ SendMessageW(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)s_hIcon);
+ SendMessageW(hwndDlg, WM_SETICON, ICON_SMALL, (LPARAM)s_hIconSm);
break;
case WM_COMMAND:
break;
case IDOK:
+ DestroyIcon(s_hIcon);
+ DestroyIcon(s_hIconSm);
EndDialog(hwndDlg,LOWORD(wParam));
break;
}
switch (LOWORD(wParam))
{
case SC_CLOSE:
+ DestroyIcon(s_hIcon);
+ DestroyIcon(s_hIconSm);
EndDialog(hwndDlg,LOWORD(wParam));
break;
return FALSE;
}
+static int CALLBACK
+PropSheetProc(HWND hwndDlg, UINT uMsg, LPARAM lParam)
+{
+ // NOTE: This callback is needed to set large icon correctly.
+ HICON hIcon;
+ switch (uMsg)
+ {
+ case PSCB_INITIALIZED:
+ {
+ hIcon = LoadIconW(hApplet, MAKEINTRESOURCEW(IDI_HARDPROF));
+ SendMessageW(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
+ break;
+ }
+ }
+ return 0;
+}
static
VOID
ZeroMemory(&psh, sizeof(PROPSHEETHEADER));
psh.dwSize = sizeof(PROPSHEETHEADER);
- psh.dwFlags = PSH_PROPTITLE;
+ psh.dwFlags = PSH_PROPTITLE | PSH_USEICONID | PSH_USECALLBACK;
psh.hwndParent = hwndDlg;
psh.hInstance = hApplet;
- psh.hIcon = NULL;
+ psh.pszIcon = MAKEINTRESOURCEW(IDI_HARDPROF);
psh.pszCaption = pProfileData->pProfiles[pProfileData->dwSelectedProfileIndex].szFriendlyName;
psh.nPages = 1;
psh.nStartPage = 0;
psh.phpage = &hpsp;
- psh.pfnCallback = NULL;
+ psh.pfnCallback = PropSheetProc;
PropertySheet(&psh);
}
{
case PSCB_INITIALIZED:
{
- hIcon = LoadIconW(hApplet, MAKEINTRESOURCEW(IDI_CPLSYSTEM));
+ hIcon = LoadIconW(hApplet, MAKEINTRESOURCEW(IDI_USERPROF));
SendMessageW(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
break;
}
psh.dwFlags = PSH_PROPTITLE | PSH_USEICONID | PSH_USECALLBACK;
psh.hwndParent = hCPLWindow;
psh.hInstance = hApplet;
- psh.pszIcon = MAKEINTRESOURCEW(IDI_CPLSYSTEM);
+ psh.pszIcon = MAKEINTRESOURCEW(IDI_USERPROF);
psh.pszCaption = MAKEINTRESOURCE(IDS_CPLSYSTEMNAME);
psh.nPages = 0;
psh.nStartPage = 0;
EXTERN_C HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface, IDataObject *pDataObj);
+static int CALLBACK
+PropSheetProc(HWND hwndDlg, UINT uMsg, LPARAM lParam)
+{
+ // NOTE: This callback is needed to set large icon correctly.
+ HICON hIcon;
+ switch (uMsg)
+ {
+ case PSCB_INITIALIZED:
+ {
+ hIcon = LoadIconW(shell32_hInstance, MAKEINTRESOURCEW(IDI_SHELL_FOLDER_OPTIONS));
+ SendMessageW(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
+ break;
+ }
+ }
+ return 0;
+}
+
static VOID
ShowFolderOptionsDialog(HWND hWnd, HINSTANCE hInst)
{
memset(&pinfo, 0x0, sizeof(PROPSHEETHEADERW));
pinfo.dwSize = sizeof(PROPSHEETHEADERW);
- pinfo.dwFlags = PSH_NOCONTEXTHELP;
+ pinfo.dwFlags = PSH_NOCONTEXTHELP | PSH_USEICONID | PSH_USECALLBACK;
pinfo.hwndParent = stub;
pinfo.nPages = num_pages;
pinfo.phpage = hppages;
+ pinfo.pszIcon = MAKEINTRESOURCEW(IDI_SHELL_FOLDER_OPTIONS);
pinfo.pszCaption = szOptions;
+ pinfo.pfnCallback = PropSheetProc;
PropertySheetW(&pinfo);