* - Wizard 97 header resizing
* - Enforcing of minimal wizard size
* - Messages:
- * o PSM_INSERTPAGE
* o PSM_RECALCPAGESIZES
- * o PSM_SETHEADERSUBTITLE
- * o PSM_SETHEADERTITLE
* o WM_HELP
* o WM_CONTEXTMENU
* - Notifications:
static PADDING_INFO PROPSHEET_GetPaddingInfoWizard(HWND hwndDlg, const PropSheetInfo* psInfo);
static BOOL PROPSHEET_DoCommand(HWND hwnd, WORD wID);
static BOOL PROPSHEET_RemovePage(HWND hwndDlg, int index, HPROPSHEETPAGE hpage);
-static BOOL PROPSHEET_InsertPage(HWND hwndDlg, HPROPSHEETPAGE hpageInsertAfter, HPROPSHEETPAGE hpage);
static INT_PTR CALLBACK
PROPSHEET_DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
WINE_DEFAULT_DEBUG_CHANNEL(propsheet);
+static WCHAR *heap_strdupW(const WCHAR *str)
+{
+ int len = strlenW(str) + 1;
+ WCHAR *ret = Alloc(len * sizeof(WCHAR));
+ strcpyW(ret, str);
+ return ret;
+}
+
+static WCHAR *heap_strdupAtoW(const char *str)
+{
+ WCHAR *ret;
+ INT len;
+
+ len = MultiByteToWideChar(CP_ACP, 0, str, -1, 0, 0);
+ ret = Alloc(len * sizeof(WCHAR));
+ MultiByteToWideChar(CP_ACP, 0, str, -1, ret, len);
+
+ return ret;
+}
+
#define add_flag(a) if (dwFlags & a) {strcat(string, #a );strcat(string," ");}
/******************************************************************************
* PROPSHEET_UnImplementedFlags
return i;
}
-/******************************************************************************
- * PROPSHEET_AtoW
- *
- * Convert ASCII to Unicode since all data is saved as Unicode.
- */
-static void PROPSHEET_AtoW(LPCWSTR *tostr, LPCSTR frstr)
-{
- INT len;
- WCHAR *to;
-
- TRACE("<%s>\n", frstr);
- len = MultiByteToWideChar(CP_ACP, 0, frstr, -1, 0, 0);
- to = Alloc(len * sizeof(WCHAR));
- MultiByteToWideChar(CP_ACP, 0, frstr, -1, to, len);
- *tostr = to;
-}
-
/******************************************************************************
* PROPSHEET_CollectSheetInfoCommon
*
else
{
if (!IS_INTRESOURCE(lppsh->pszCaption))
- {
- int len = strlenW(lppsh->pszCaption);
- WCHAR *caption = Alloc( (len+1)*sizeof(WCHAR) );
-
- psInfo->ppshheader.pszCaption = strcpyW( caption, lppsh->pszCaption );
- }
+ psInfo->ppshheader.pszCaption = heap_strdupW( lppsh->pszCaption );
}
psInfo->nPages = lppsh->nPages;
width = (WORD)*p; p++;
height = (WORD)*p; p++;
+ if (lppsp->dwFlags & (PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE))
+ psInfo->ppshheader.dwFlags |= PSH_HEADER;
+
/* Special calculation for interior wizard pages so the largest page is
* calculated correctly. We need to add all the padding and space occupied
* by the header so the width and height sums up to the whole wizard client
WCHAR szTitle[256];
const WCHAR *pTitle;
static const WCHAR pszNull[] = { '(','n','u','l','l',')',0 };
- WCHAR *text;
- int len;
if (IS_INTRESOURCE( lppsp->pszTitle ))
{
else
pTitle = lppsp->pszTitle;
- len = strlenW(pTitle);
- text = Alloc( (len+1)*sizeof (WCHAR) );
- psInfo->proppage[index].pszText = strcpyW( text, pTitle);
+ psInfo->proppage[index].pszText = heap_strdupW( pTitle );
}
/*
*/
resSize = SizeofResource(COMCTL32_hModule, hRes);
- temp = Alloc(resSize);
+ temp = Alloc(2 * resSize);
if (!temp)
return -1;
return msgResult;
}
+/******************************************************************************
+ * PROPSHEET_InsertPage
+ */
+static BOOL PROPSHEET_InsertPage(HWND hwndDlg, HPROPSHEETPAGE hpageInsertAfter, HPROPSHEETPAGE hpage)
+{
+ PropSheetInfo *psInfo = GetPropW(hwndDlg, PropSheetInfoStr);
+ PropPageInfo *ppi, *prev_ppi = psInfo->proppage;
+ HWND hwndTabControl = GetDlgItem(hwndDlg, IDC_TABCONTROL);
+ LPCPROPSHEETPAGEW ppsp = (LPCPROPSHEETPAGEW)hpage;
+ TCITEMW item;
+ int index;
+
+ TRACE("hwndDlg %p, hpageInsertAfter %p, hpage %p\n", hwndDlg, hpageInsertAfter, hpage);
+
+ if (IS_INTRESOURCE(hpageInsertAfter))
+ index = LOWORD(hpageInsertAfter);
+ else
+ {
+ index = PROPSHEET_GetPageIndex(hpageInsertAfter, psInfo, -1);
+ if (index < 0)
+ {
+ TRACE("Could not find page to insert after!\n");
+ return FALSE;
+ }
+ index++;
+ }
+
+ if (index > psInfo->nPages)
+ index = psInfo->nPages;
+
+ ppi = Alloc(sizeof(PropPageInfo) * (psInfo->nPages + 1));
+ if (!ppi)
+ return FALSE;
+
+ /*
+ * Fill in a new PropPageInfo entry.
+ */
+ if (index > 0)
+ memcpy(ppi, prev_ppi, index * sizeof(PropPageInfo));
+ memset(&ppi[index], 0, sizeof(PropPageInfo));
+ if (index < psInfo->nPages)
+ memcpy(&ppi[index + 1], &prev_ppi[index], (psInfo->nPages - index) * sizeof(PropPageInfo));
+ psInfo->proppage = ppi;
+
+ if (!PROPSHEET_CollectPageInfo(ppsp, psInfo, index, FALSE))
+ {
+ psInfo->proppage = prev_ppi;
+ Free(ppi);
+ return FALSE;
+ }
+
+ psInfo->proppage[index].hpage = hpage;
+
+ if (ppsp->dwFlags & PSP_PREMATURE)
+ {
+ /* Create the page but don't show it */
+ if (!PROPSHEET_CreatePage(hwndDlg, index, psInfo, ppsp))
+ {
+ psInfo->proppage = prev_ppi;
+ Free(ppi);
+ return FALSE;
+ }
+ }
+
+ Free(prev_ppi);
+ psInfo->nPages++;
+ if (index <= psInfo->active_page)
+ psInfo->active_page++;
+
+ /*
+ * Add a new tab to the tab control.
+ */
+ item.mask = TCIF_TEXT;
+ item.pszText = (LPWSTR) psInfo->proppage[index].pszText;
+ item.cchTextMax = MAX_TABTEXT_LENGTH;
+
+ if (psInfo->hImageList)
+ SendMessageW(hwndTabControl, TCM_SETIMAGELIST, 0, (LPARAM)psInfo->hImageList);
+
+ if (psInfo->proppage[index].hasIcon)
+ {
+ item.mask |= TCIF_IMAGE;
+ item.iImage = index;
+ }
+
+ SendMessageW(hwndTabControl, TCM_INSERTITEMW, index, (LPARAM)&item);
+
+ /* If it is the only page - show it */
+ if (psInfo->nPages == 1)
+ PROPSHEET_SetCurSel(hwndDlg, 0, 1, 0);
+
+ return TRUE;
+}
/******************************************************************************
* PROPSHEET_AddPage
*/
-static BOOL PROPSHEET_AddPage(HWND hwndDlg,
- HPROPSHEETPAGE hpage)
+static BOOL PROPSHEET_AddPage(HWND hwndDlg, HPROPSHEETPAGE hpage)
{
PropSheetInfo * psInfo = GetPropW(hwndDlg, PropSheetInfoStr);
- TRACE("hpage %p\n", hpage);
- return PROPSHEET_InsertPage(hwndDlg, (HPROPSHEETPAGE)(ULONG_PTR)psInfo->nPages, hpage);
+ TRACE("hwndDlg %p, hpage %p\n", hwndDlg, hpage);
+ return PROPSHEET_InsertPage(hwndDlg, UlongToPtr(psInfo->nPages), hpage);
}
/******************************************************************************
}
/******************************************************************************
- * PROPSHEET_InsertPage
+ * PROPSHEET_SetHeaderTitleW
*/
-static BOOL PROPSHEET_InsertPage(HWND hwndDlg, HPROPSHEETPAGE hpageInsertAfter, HPROPSHEETPAGE hpage)
+static void PROPSHEET_SetHeaderTitleW(HWND hwndDlg, UINT page_index, const WCHAR *title)
{
- PropSheetInfo * psInfo = GetPropW(hwndDlg, PropSheetInfoStr);
- PropPageInfo * ppi, * prev_ppi = psInfo->proppage;
- HWND hwndTabControl = GetDlgItem(hwndDlg, IDC_TABCONTROL);
- LPCPROPSHEETPAGEW ppsp = (LPCPROPSHEETPAGEW)hpage;
- TCITEMW item;
- int index;
-
- TRACE("hwndDlg %p, hpageInsertAfter %p, hpage %p\n", hwndDlg, hpageInsertAfter, hpage);
-
- if (IS_INTRESOURCE(hpageInsertAfter))
- index = LOWORD(hpageInsertAfter);
- else
- {
- index = PROPSHEET_GetPageIndex(hpageInsertAfter, psInfo, -1);
- if (index < 0)
- {
- TRACE("Could not find page to insert after!\n");
- return FALSE;
- }
- index++;
- }
-
- if (index > psInfo->nPages)
- index = psInfo->nPages;
-
- /*
- * Allocate a new PropPageInfo entry.
- */
- ppi = Alloc(sizeof(PropPageInfo) * (psInfo->nPages + 1));
- if (!ppi)
- return FALSE;
-
- /*
- * Fill in a new PropPageInfo entry.
- */
- if (index > 0)
- memcpy(ppi, prev_ppi, index * sizeof(PropPageInfo));
- memset(&ppi[index], 0, sizeof(PropPageInfo));
- if (index < psInfo->nPages)
- memcpy(&ppi[index + 1], &prev_ppi[index], (psInfo->nPages - index) * sizeof(PropPageInfo));
- psInfo->proppage = ppi;
-
- if (!PROPSHEET_CollectPageInfo(ppsp, psInfo, index, FALSE))
- {
- psInfo->proppage = prev_ppi;
- Free(ppi);
- return FALSE;
- }
-
- psInfo->proppage[index].hpage = hpage;
-
- if (ppsp->dwFlags & PSP_PREMATURE)
- {
- /* Create the page but don't show it */
- if(!PROPSHEET_CreatePage(hwndDlg, index, psInfo, ppsp))
- {
- psInfo->proppage = prev_ppi;
- Free(ppi);
- return FALSE;
- }
- }
-
- Free(prev_ppi);
- psInfo->nPages++;
- if (index <= psInfo->active_page)
- psInfo->active_page++;
+ PropSheetInfo *psInfo = GetPropW(hwndDlg, PropSheetInfoStr);
+ PROPSHEETPAGEW *page;
- /*
- * Add a new tab to the tab control.
- */
- item.mask = TCIF_TEXT;
- item.pszText = (LPWSTR) psInfo->proppage[index].pszText;
- item.cchTextMax = MAX_TABTEXT_LENGTH;
+ TRACE("(%p, %u, %s)\n", hwndDlg, page_index, debugstr_w(title));
- if (psInfo->hImageList)
- {
- SendMessageW(hwndTabControl, TCM_SETIMAGELIST, 0, (LPARAM)psInfo->hImageList);
- }
+ if (page_index >= psInfo->nPages)
+ return;
- if (psInfo->proppage[index].hasIcon)
- {
- item.mask |= TCIF_IMAGE;
- item.iImage = index;
- }
-
- SendMessageW(hwndTabControl, TCM_INSERTITEMW, index,
- (LPARAM)&item);
-
- /* If it is the only page - show it */
- if (psInfo->nPages == 1)
- PROPSHEET_SetCurSel(hwndDlg, 0, 1, 0);
+ page = (PROPSHEETPAGEW *)psInfo->proppage[page_index].hpage;
- return TRUE;
-}
+ if (!IS_INTRESOURCE(page->pszHeaderTitle))
+ Free((void *)page->pszHeaderTitle);
-/******************************************************************************
- * PROPSHEET_SetHeaderTitleW
- */
-static void PROPSHEET_SetHeaderTitleW(HWND hwndDlg, int iPageIndex, LPCWSTR pszHeaderTitle)
-{
- FIXME("(%p, %d, %s): stub\n", hwndDlg, iPageIndex, debugstr_w(pszHeaderTitle));
+ page->pszHeaderTitle = heap_strdupW(title);
+ page->dwFlags |= PSP_USEHEADERTITLE;
}
/******************************************************************************
* PROPSHEET_SetHeaderTitleA
*/
-static void PROPSHEET_SetHeaderTitleA(HWND hwndDlg, int iPageIndex, LPCSTR pszHeaderTitle)
+static void PROPSHEET_SetHeaderTitleA(HWND hwndDlg, UINT page_index, const char *title)
{
- FIXME("(%p, %d, %s): stub\n", hwndDlg, iPageIndex, debugstr_a(pszHeaderTitle));
+ WCHAR *titleW;
+
+ TRACE("(%p, %u, %s)\n", hwndDlg, page_index, debugstr_a(title));
+
+ titleW = heap_strdupAtoW(title);
+ PROPSHEET_SetHeaderTitleW(hwndDlg, page_index, titleW);
+ Free(titleW);
}
/******************************************************************************
* PROPSHEET_SetHeaderSubTitleW
*/
-static void PROPSHEET_SetHeaderSubTitleW(HWND hwndDlg, int iPageIndex, LPCWSTR pszHeaderSubTitle)
+static void PROPSHEET_SetHeaderSubTitleW(HWND hwndDlg, UINT page_index, const WCHAR *subtitle)
{
- FIXME("(%p, %d, %s): stub\n", hwndDlg, iPageIndex, debugstr_w(pszHeaderSubTitle));
+ PropSheetInfo *psInfo = GetPropW(hwndDlg, PropSheetInfoStr);
+ PROPSHEETPAGEW *page;
+
+ TRACE("(%p, %u, %s)\n", hwndDlg, page_index, debugstr_w(subtitle));
+
+ if (page_index >= psInfo->nPages)
+ return;
+
+ page = (PROPSHEETPAGEW *)psInfo->proppage[page_index].hpage;
+
+ if (!IS_INTRESOURCE(page->pszHeaderSubTitle))
+ Free((void *)page->pszHeaderSubTitle);
+
+ page->pszHeaderSubTitle = heap_strdupW(subtitle);
+ page->dwFlags |= PSP_USEHEADERSUBTITLE;
}
/******************************************************************************
* PROPSHEET_SetHeaderSubTitleA
*/
-static void PROPSHEET_SetHeaderSubTitleA(HWND hwndDlg, int iPageIndex, LPCSTR pszHeaderSubTitle)
+static void PROPSHEET_SetHeaderSubTitleA(HWND hwndDlg, UINT page_index, const char *subtitle)
{
- FIXME("(%p, %d, %s): stub\n", hwndDlg, iPageIndex, debugstr_a(pszHeaderSubTitle));
+ WCHAR *subtitleW;
+
+ TRACE("(%p, %u, %s)\n", hwndDlg, page_index, debugstr_a(subtitle));
+
+ subtitleW = heap_strdupAtoW(subtitle);
+ PROPSHEET_SetHeaderSubTitleW(hwndDlg, page_index, subtitleW);
+ Free(subtitleW);
}
/******************************************************************************
if (ppsp->dwFlags & PSP_USEICONID)
{
if (!IS_INTRESOURCE( ppsp->u2.pszIcon ))
- PROPSHEET_AtoW(&ppsp->u2.pszIcon, lpPropSheetPage->u2.pszIcon);
+ ppsp->u2.pszIcon = heap_strdupAtoW( lpPropSheetPage->u2.pszIcon );
}
if (ppsp->dwFlags & PSP_USETITLE)
{
- if (!IS_INTRESOURCE( ppsp->pszTitle ))
- PROPSHEET_AtoW( &ppsp->pszTitle, lpPropSheetPage->pszTitle );
- else
+ if (IS_INTRESOURCE( ppsp->pszTitle ))
ppsp->pszTitle = load_string( ppsp->hInstance, ppsp->pszTitle );
+ else
+ ppsp->pszTitle = heap_strdupAtoW( lpPropSheetPage->pszTitle );
}
else
ppsp->pszTitle = NULL;
if (ppsp->dwFlags & PSP_USEHEADERTITLE)
{
- if (!IS_INTRESOURCE( ppsp->pszHeaderTitle ))
- PROPSHEET_AtoW(&ppsp->pszHeaderTitle, lpPropSheetPage->pszHeaderTitle);
- else
+ if (IS_INTRESOURCE( ppsp->pszHeaderTitle ))
ppsp->pszHeaderTitle = load_string( ppsp->hInstance, ppsp->pszHeaderTitle );
+ else
+ ppsp->pszHeaderTitle = heap_strdupAtoW( lpPropSheetPage->pszHeaderTitle );
}
else
ppsp->pszHeaderTitle = NULL;
if (ppsp->dwFlags & PSP_USEHEADERSUBTITLE)
{
- if (!IS_INTRESOURCE( ppsp->pszHeaderSubTitle ))
- PROPSHEET_AtoW(&ppsp->pszHeaderSubTitle, lpPropSheetPage->pszHeaderSubTitle);
- else
+ if (IS_INTRESOURCE( ppsp->pszHeaderSubTitle ))
ppsp->pszHeaderSubTitle = load_string( ppsp->hInstance, ppsp->pszHeaderSubTitle );
+ else
+ ppsp->pszHeaderSubTitle = heap_strdupAtoW( lpPropSheetPage->pszHeaderSubTitle );
}
else
ppsp->pszHeaderSubTitle = NULL;
+ if ((ppsp->dwFlags & PSH_USECALLBACK) && ppsp->pfnCallback)
+ ppsp->pfnCallback(0, PSPCB_ADDREF, ppsp);
+
return (HPROPSHEETPAGE)ppsp;
}
if ( !(ppsp->dwFlags & PSP_DLGINDIRECT) )
{
if (!IS_INTRESOURCE( ppsp->u.pszTemplate ))
- {
- int len = strlenW(lpPropSheetPage->u.pszTemplate) + 1;
- WCHAR *template = Alloc( len * sizeof (WCHAR) );
-
- ppsp->u.pszTemplate = strcpyW( template, lpPropSheetPage->u.pszTemplate );
- }
+ ppsp->u.pszTemplate = heap_strdupW( lpPropSheetPage->u.pszTemplate );
}
if ( ppsp->dwFlags & PSP_USEICONID )
{
if (!IS_INTRESOURCE( ppsp->u2.pszIcon ))
- {
- int len = strlenW(lpPropSheetPage->u2.pszIcon) + 1;
- WCHAR *icon = Alloc( len * sizeof (WCHAR) );
-
- ppsp->u2.pszIcon = strcpyW( icon, lpPropSheetPage->u2.pszIcon );
- }
+ ppsp->u2.pszIcon = heap_strdupW( lpPropSheetPage->u2.pszIcon );
}
if (ppsp->dwFlags & PSP_USETITLE)
else
ppsp->pszHeaderSubTitle = NULL;
+ if ((ppsp->dwFlags & PSH_USECALLBACK) && ppsp->pfnCallback)
+ ppsp->pfnCallback(0, PSPCB_ADDREF, ppsp);
+
return (HPROPSHEETPAGE)ppsp;
}
if (!psp)
return FALSE;
+ if ((psp->dwFlags & PSH_USECALLBACK) && psp->pfnCallback)
+ psp->pfnCallback(0, PSPCB_RELEASE, psp);
+
if (!(psp->dwFlags & PSP_DLGINDIRECT) && !IS_INTRESOURCE( psp->u.pszTemplate ))
Free ((LPVOID)psp->u.pszTemplate);
COLORREF clrOld = 0;
int oldBkMode = 0;
- hbmp = SelectObject(hdcSrc, psInfo->ppshheader.u5.hbmHeader);
- hOldFont = SelectObject(hdc, psInfo->hFontBold);
-
- GetClientRect(hwndLineHeader, &r);
- MapWindowPoints(hwndLineHeader, hwnd, (LPPOINT) &r, 2);
- SetRect(&rzone, 0, 0, r.right + 1, r.top - 1);
-
- GetObjectW(psInfo->ppshheader.u5.hbmHeader, sizeof(BITMAP), &bm);
-
- if (psInfo->ppshheader.dwFlags & PSH_WIZARD97_OLD)
- {
- /* Fill the unoccupied part of the header with color of the
- * left-top pixel, but do it only when needed.
- */
- if (bm.bmWidth < r.right || bm.bmHeight < r.bottom)
- {
- hbr = CreateSolidBrush(GetPixel(hdcSrc, 0, 0));
- r = rzone;
- if (bm.bmWidth < r.right)
- {
- r.left = bm.bmWidth;
- FillRect(hdc, &r, hbr);
- }
- if (bm.bmHeight < r.bottom)
- {
- r.left = 0;
- r.top = bm.bmHeight;
- FillRect(hdc, &r, hbr);
- }
- DeleteObject(hbr);
- }
-
- /* Draw the header itself. */
- BitBlt(hdc, 0, 0,
- bm.bmWidth, min(bm.bmHeight, rzone.bottom),
- hdcSrc, 0, 0, SRCCOPY);
- }
- else
- {
- int margin;
- hbr = GetSysColorBrush(COLOR_WINDOW);
- FillRect(hdc, &rzone, hbr);
-
- /* Draw the header bitmap. It's always centered like a
- * common 49 x 49 bitmap. */
- margin = (rzone.bottom - 49) / 2;
- BitBlt(hdc, rzone.right - 49 - margin, margin,
- min(bm.bmWidth, 49), min(bm.bmHeight, 49),
- hdcSrc, 0, 0, SRCCOPY);
-
- /* NOTE: Native COMCTL32 draws a white stripe over the bitmap
- * if its height is smaller than 49 pixels. Because the reason
- * for this bug is unknown the current code doesn't try to
- * replicate it. */
- }
+ GetClientRect(hwndLineHeader, &r);
+ MapWindowPoints(hwndLineHeader, hwnd, (LPPOINT) &r, 2);
+ SetRect(&rzone, 0, 0, r.right + 1, r.top - 1);
+
+ hOldFont = SelectObject(hdc, psInfo->hFontBold);
+
+ if (psInfo->ppshheader.dwFlags & PSH_USEHBMHEADER)
+ {
+ hbmp = SelectObject(hdcSrc, psInfo->ppshheader.u5.hbmHeader);
+
+ GetObjectW(psInfo->ppshheader.u5.hbmHeader, sizeof(BITMAP), &bm);
+ if (psInfo->ppshheader.dwFlags & PSH_WIZARD97_OLD)
+ {
+ /* Fill the unoccupied part of the header with color of the
+ * left-top pixel, but do it only when needed.
+ */
+ if (bm.bmWidth < r.right || bm.bmHeight < r.bottom)
+ {
+ hbr = CreateSolidBrush(GetPixel(hdcSrc, 0, 0));
+ r = rzone;
+ if (bm.bmWidth < r.right)
+ {
+ r.left = bm.bmWidth;
+ FillRect(hdc, &r, hbr);
+ }
+ if (bm.bmHeight < r.bottom)
+ {
+ r.left = 0;
+ r.top = bm.bmHeight;
+ FillRect(hdc, &r, hbr);
+ }
+ DeleteObject(hbr);
+ }
+
+ /* Draw the header itself. */
+ BitBlt(hdc, 0, 0, bm.bmWidth, min(bm.bmHeight, rzone.bottom),
+ hdcSrc, 0, 0, SRCCOPY);
+ }
+ else
+ {
+ int margin;
+ hbr = GetSysColorBrush(COLOR_WINDOW);
+ FillRect(hdc, &rzone, hbr);
+
+ /* Draw the header bitmap. It's always centered like a
+ * common 49 x 49 bitmap. */
+ margin = (rzone.bottom - 49) / 2;
+ BitBlt(hdc, rzone.right - 49 - margin, margin,
+ min(bm.bmWidth, 49), min(bm.bmHeight, 49),
+ hdcSrc, 0, 0, SRCCOPY);
+
+ /* NOTE: Native COMCTL32 draws a white stripe over the bitmap
+ * if its height is smaller than 49 pixels. Because the reason
+ * for this bug is unknown the current code doesn't try to
+ * replicate it. */
+ }
+
+ SelectObject(hdcSrc, hbmp);
+ }
clrOld = SetTextColor (hdc, 0x00000000);
oldBkMode = SetBkMode (hdc, TRANSPARENT);
SetTextColor(hdc, clrOld);
SetBkMode(hdc, oldBkMode);
SelectObject(hdc, hOldFont);
- SelectObject(hdcSrc, hbmp);
}
if ( (ppshpage && (ppshpage->dwFlags & PSP_HIDEHEADER)) &&
}
case PSM_SETHEADERTITLEW:
- PROPSHEET_SetHeaderTitleW(hwnd, (int)wParam, (LPCWSTR)lParam);
+ PROPSHEET_SetHeaderTitleW(hwnd, wParam, (LPCWSTR)lParam);
return TRUE;
case PSM_SETHEADERTITLEA:
- PROPSHEET_SetHeaderTitleA(hwnd, (int)wParam, (LPCSTR)lParam);
+ PROPSHEET_SetHeaderTitleA(hwnd, wParam, (LPCSTR)lParam);
return TRUE;
case PSM_SETHEADERSUBTITLEW:
- PROPSHEET_SetHeaderSubTitleW(hwnd, (int)wParam, (LPCWSTR)lParam);
+ PROPSHEET_SetHeaderSubTitleW(hwnd, wParam, (LPCWSTR)lParam);
return TRUE;
case PSM_SETHEADERSUBTITLEA:
- PROPSHEET_SetHeaderSubTitleA(hwnd, (int)wParam, (LPCSTR)lParam);
+ PROPSHEET_SetHeaderSubTitleA(hwnd, wParam, (LPCSTR)lParam);
return TRUE;
case PSM_HWNDTOINDEX: