psInfo->ppshheader.pszCaption = NULL;
else
{
- if (HIWORD(lppsh->pszCaption))
+ if (!IS_INTRESOURCE(lppsh->pszCaption))
{
int len = MultiByteToWideChar(CP_ACP, 0, lppsh->pszCaption, -1, NULL, 0);
WCHAR *caption = Alloc( len*sizeof (WCHAR) );
psInfo->ppshheader.pszCaption = NULL;
else
{
- if (HIWORD(lppsh->pszCaption))
+ if (!IS_INTRESOURCE(lppsh->pszCaption))
{
int len = strlenW(lppsh->pszCaption);
WCHAR *caption = Alloc( (len+1)*sizeof(WCHAR) );
WCHAR *text;
int len;
- if ( !HIWORD( lppsp->pszTitle ) )
+ if (IS_INTRESOURCE( lppsp->pszTitle ))
{
if (!LoadStringW( lppsp->hInstance, (DWORD_PTR)lppsp->pszTitle,szTitle,sizeof(szTitle)/sizeof(szTitle[0]) ))
{
}
item.pszText = (LPWSTR) psInfo->proppage[i].pszText;
- SendMessageW(hwndTabCtrl, TCM_INSERTITEMW, (WPARAM)i, (LPARAM)&item);
+ SendMessageW(hwndTabCtrl, TCM_INSERTITEMW, i, (LPARAM)&item);
}
SendMessageW(GetDlgItem(hwndTabCtrl, IDC_TABCONTROL), WM_SETREDRAW, 1, 0);
const PropSheetInfo * psInfo,
LPCPROPSHEETPAGEW ppshpage)
{
- DLGTEMPLATE* pTemplate;
+ const DLGTEMPLATE* pTemplate;
HWND hwndPage;
DWORD resSize;
- LPVOID temp = NULL;
+ DLGTEMPLATE* pTemplateCopy = NULL;
TRACE("index %d\n", index);
if (ppshpage->dwFlags & PSP_DLGINDIRECT)
{
- pTemplate = (DLGTEMPLATE*)ppshpage->u.pResource;
+ pTemplate = ppshpage->u.pResource;
resSize = GetTemplateSize(pTemplate);
}
else if(ppshpage->dwFlags & PSP_INTERNAL_UNICODE)
* Make a copy of the dialog template to make it writable
*/
}
- temp = Alloc(resSize);
- if (!temp)
+ pTemplateCopy = Alloc(resSize);
+ if (!pTemplateCopy)
return FALSE;
- TRACE("copying pTemplate %p into temp %p (%d)\n", pTemplate, temp, resSize);
- memcpy(temp, pTemplate, resSize);
- pTemplate = temp;
+ TRACE("copying pTemplate %p into pTemplateCopy %p (%d)\n", pTemplate, pTemplateCopy, resSize);
+ memcpy(pTemplateCopy, pTemplate, resSize);
- if (((MyDLGTEMPLATEEX*)pTemplate)->signature == 0xFFFF)
+ if (((MyDLGTEMPLATEEX*)pTemplateCopy)->signature == 0xFFFF)
{
- ((MyDLGTEMPLATEEX*)pTemplate)->style |= WS_CHILD | WS_TABSTOP | DS_CONTROL;
- ((MyDLGTEMPLATEEX*)pTemplate)->style &= ~DS_MODALFRAME;
- ((MyDLGTEMPLATEEX*)pTemplate)->style &= ~WS_CAPTION;
- ((MyDLGTEMPLATEEX*)pTemplate)->style &= ~WS_SYSMENU;
- ((MyDLGTEMPLATEEX*)pTemplate)->style &= ~WS_POPUP;
- ((MyDLGTEMPLATEEX*)pTemplate)->style &= ~WS_DISABLED;
- ((MyDLGTEMPLATEEX*)pTemplate)->style &= ~WS_VISIBLE;
- ((MyDLGTEMPLATEEX*)pTemplate)->style &= ~WS_THICKFRAME;
+ ((MyDLGTEMPLATEEX*)pTemplateCopy)->style |= WS_CHILD | WS_TABSTOP | DS_CONTROL;
+ ((MyDLGTEMPLATEEX*)pTemplateCopy)->style &= ~DS_MODALFRAME;
+ ((MyDLGTEMPLATEEX*)pTemplateCopy)->style &= ~WS_CAPTION;
+ ((MyDLGTEMPLATEEX*)pTemplateCopy)->style &= ~WS_SYSMENU;
+ ((MyDLGTEMPLATEEX*)pTemplateCopy)->style &= ~WS_POPUP;
+ ((MyDLGTEMPLATEEX*)pTemplateCopy)->style &= ~WS_DISABLED;
+ ((MyDLGTEMPLATEEX*)pTemplateCopy)->style &= ~WS_VISIBLE;
+ ((MyDLGTEMPLATEEX*)pTemplateCopy)->style &= ~WS_THICKFRAME;
- ((MyDLGTEMPLATEEX*)pTemplate)->exStyle |= WS_EX_CONTROLPARENT;
+ ((MyDLGTEMPLATEEX*)pTemplateCopy)->exStyle |= WS_EX_CONTROLPARENT;
}
else
{
- pTemplate->style |= WS_CHILD | WS_TABSTOP | DS_CONTROL;
- pTemplate->style &= ~DS_MODALFRAME;
- pTemplate->style &= ~WS_CAPTION;
- pTemplate->style &= ~WS_SYSMENU;
- pTemplate->style &= ~WS_POPUP;
- pTemplate->style &= ~WS_DISABLED;
- pTemplate->style &= ~WS_VISIBLE;
- pTemplate->style &= ~WS_THICKFRAME;
+ pTemplateCopy->style |= WS_CHILD | WS_TABSTOP | DS_CONTROL;
+ pTemplateCopy->style &= ~DS_MODALFRAME;
+ pTemplateCopy->style &= ~WS_CAPTION;
+ pTemplateCopy->style &= ~WS_SYSMENU;
+ pTemplateCopy->style &= ~WS_POPUP;
+ pTemplateCopy->style &= ~WS_DISABLED;
+ pTemplateCopy->style &= ~WS_VISIBLE;
+ pTemplateCopy->style &= ~WS_THICKFRAME;
- pTemplate->dwExtendedStyle |= WS_EX_CONTROLPARENT;
+ pTemplateCopy->dwExtendedStyle |= WS_EX_CONTROLPARENT;
}
if (psInfo->proppage[index].useCallback)
if(ppshpage->dwFlags & PSP_INTERNAL_UNICODE)
hwndPage = CreateDialogIndirectParamW(ppshpage->hInstance,
- pTemplate,
+ pTemplateCopy,
hwndParent,
ppshpage->pfnDlgProc,
(LPARAM)ppshpage);
else
hwndPage = CreateDialogIndirectParamA(ppshpage->hInstance,
- pTemplate,
+ pTemplateCopy,
hwndParent,
ppshpage->pfnDlgProc,
(LPARAM)ppshpage);
/* Free a no more needed copy */
- Free(temp);
+ Free(pTemplateCopy);
psInfo->proppage[index].hwndPage = hwndPage;
*/
static void PROPSHEET_SetTitleA(HWND hwndDlg, DWORD dwStyle, LPCSTR lpszText)
{
- if(HIWORD(lpszText))
+ if(!IS_INTRESOURCE(lpszText))
{
WCHAR szTitle[256];
MultiByteToWideChar(CP_ACP, 0, lpszText, -1,
WCHAR szTitle[256];
TRACE("%s (style %08x)\n", debugstr_w(lpszText), dwStyle);
- if (HIWORD(lpszText) == 0) {
+ if (IS_INTRESOURCE(lpszText)) {
if (!LoadStringW(psInfo->ppshheader.hInstance,
LOWORD(lpszText), szTitle, sizeof(szTitle)/sizeof(szTitle[0])))
return;
return FALSE;
}
-BOOL CALLBACK
-EnumChildProc(HWND hwnd, LPARAM lParam)
-{
- WCHAR szType[20];
- RealGetWindowClassW(hwnd, szType, 20);
-
- if (strcmpW(szType, WC_EDITW) == 0)
- {
- if (IsWindowEnabled(hwnd) && IsWindowVisible(hwnd))
- {
- SetFocus(hwnd);
- return FALSE;
- }
- }
- else
- {
- EnumChildWindows(hwnd, EnumChildProc, 0);
- }
-
- return TRUE;
-}
-
/******************************************************************************
* PROPSHEET_SetWizButtons
*
EnableWindow(hwndNext, FALSE);
EnableWindow(hwndFinish, FALSE);
+ /* set the default pushbutton to an enabled button */
+ if (((dwFlags & PSWIZB_FINISH) || psInfo->hasFinish) && !(dwFlags & PSWIZB_DISABLEDFINISH))
+ SendMessageW(hwndDlg, DM_SETDEFID, IDC_FINISH_BUTTON, 0);
+ else if (dwFlags & PSWIZB_NEXT)
+ SendMessageW(hwndDlg, DM_SETDEFID, IDC_NEXT_BUTTON, 0);
+ else if (dwFlags & PSWIZB_BACK)
+ SendMessageW(hwndDlg, DM_SETDEFID, IDC_BACK_BUTTON, 0);
+ else
+ SendMessageW(hwndDlg, DM_SETDEFID, IDCANCEL, 0);
+
+
if (dwFlags & PSWIZB_BACK)
EnableWindow(hwndBack, TRUE);
}
else if (!(dwFlags & PSWIZB_DISABLEDFINISH))
EnableWindow(hwndFinish, TRUE);
-
- /* set the default pushbutton to an enabled button and give it focus */
- if (((dwFlags & PSWIZB_FINISH) || psInfo->hasFinish) && !(dwFlags & PSWIZB_DISABLEDFINISH))
- {
- SendMessageW(hwndDlg, DM_SETDEFID, IDC_FINISH_BUTTON, 0);
- SetFocus(hwndFinish);
- }
- else if (dwFlags & PSWIZB_NEXT)
- {
- SendMessageW(hwndDlg, DM_SETDEFID, IDC_NEXT_BUTTON, 0);
- SetFocus(hwndNext);
- }
- else if (dwFlags & PSWIZB_BACK)
- {
- SendMessageW(hwndDlg, DM_SETDEFID, IDC_BACK_BUTTON, 0);
- SetFocus(hwndBack);
- }
- else
- {
- SendMessageW(hwndDlg, DM_SETDEFID, IDCANCEL, 0);
- SetFocus(GetDlgItem(hwndDlg, IDCANCEL));
- }
-
- /* Now try to find an edit control that deserves focus */
- EnumChildWindows(PropSheet_GetCurrentPageHwnd(hwndDlg), EnumChildProc, 0);
}
/******************************************************************************
*/
static BOOL PROPSHEET_InsertPage(HWND hwndDlg, HPROPSHEETPAGE hpageInsertAfter, HPROPSHEETPAGE hpage)
{
- if (!HIWORD(hpageInsertAfter))
+ if (IS_INTRESOURCE(hpageInsertAfter))
FIXME("(%p, %d, %p): stub\n", hwndDlg, LOWORD(hpageInsertAfter), hpage);
else
FIXME("(%p, %p, %p): stub\n", hwndDlg, hpageInsertAfter, hpage);
{
PropSheetInfo * psInfo = GetPropW(hwndDlg, PropSheetInfoStr);
TRACE("(%p, %d)\n", hwndDlg, iPageIndex);
+ if (!psInfo)
+ return 0;
if (iPageIndex<0 || iPageIndex>=psInfo->nPages) {
WARN("%d out of range.\n", iPageIndex);
return 0;
return 0;
}
psp = (LPCPROPSHEETPAGEW)psInfo->proppage[iPageIndex].hpage;
- if (psp->dwFlags & PSP_DLGINDIRECT || HIWORD(psp->u.pszTemplate)) {
+ if (psp->dwFlags & PSP_DLGINDIRECT || !IS_INTRESOURCE(psp->u.pszTemplate)) {
return 0;
}
return (LRESULT)psp->u.pszTemplate;
TRACE("\n");
if (!psInfo) return;
- if (HIWORD(psInfo->ppshheader.pszCaption))
+ if (!IS_INTRESOURCE(psInfo->ppshheader.pszCaption))
Free ((LPVOID)psInfo->ppshheader.pszCaption);
for (i = 0; i < psInfo->nPages; i++)
if ( !(ppsp->dwFlags & PSP_DLGINDIRECT) )
{
- if (HIWORD( ppsp->u.pszTemplate ))
+ if (!IS_INTRESOURCE( ppsp->u.pszTemplate ))
{
int len = strlen(lpPropSheetPage->u.pszTemplate) + 1;
char *template = Alloc( len );
if (ppsp->dwFlags & PSP_USEICONID)
{
- if (HIWORD( ppsp->u2.pszIcon ))
+ if (!IS_INTRESOURCE( ppsp->u2.pszIcon ))
PROPSHEET_AtoW(&ppsp->u2.pszIcon, lpPropSheetPage->u2.pszIcon);
}
if (ppsp->dwFlags & PSP_USETITLE)
{
- if (HIWORD( ppsp->pszTitle ))
+ if (!IS_INTRESOURCE( ppsp->pszTitle ))
PROPSHEET_AtoW( &ppsp->pszTitle, lpPropSheetPage->pszTitle );
else
ppsp->pszTitle = load_string( ppsp->hInstance, ppsp->pszTitle );
if (ppsp->dwFlags & PSP_USEHEADERTITLE)
{
- if (HIWORD( ppsp->pszHeaderTitle ))
+ if (!IS_INTRESOURCE( ppsp->pszHeaderTitle ))
PROPSHEET_AtoW(&ppsp->pszHeaderTitle, lpPropSheetPage->pszHeaderTitle);
else
ppsp->pszHeaderTitle = load_string( ppsp->hInstance, ppsp->pszHeaderTitle );
if (ppsp->dwFlags & PSP_USEHEADERSUBTITLE)
{
- if (HIWORD( ppsp->pszHeaderSubTitle ))
+ if (!IS_INTRESOURCE( ppsp->pszHeaderSubTitle ))
PROPSHEET_AtoW(&ppsp->pszHeaderSubTitle, lpPropSheetPage->pszHeaderSubTitle);
else
ppsp->pszHeaderSubTitle = load_string( ppsp->hInstance, ppsp->pszHeaderSubTitle );
if ( !(ppsp->dwFlags & PSP_DLGINDIRECT) )
{
- if (HIWORD( ppsp->u.pszTemplate ))
+ if (!IS_INTRESOURCE( ppsp->u.pszTemplate ))
{
int len = strlenW(lpPropSheetPage->u.pszTemplate) + 1;
WCHAR *template = Alloc( len * sizeof (WCHAR) );
if ( ppsp->dwFlags & PSP_USEICONID )
{
- if (HIWORD( ppsp->u2.pszIcon ))
+ if (!IS_INTRESOURCE( ppsp->u2.pszIcon ))
{
int len = strlenW(lpPropSheetPage->u2.pszIcon) + 1;
WCHAR *icon = Alloc( len * sizeof (WCHAR) );
if (!psp)
return FALSE;
- if ( !(psp->dwFlags & PSP_DLGINDIRECT) && HIWORD( psp->u.pszTemplate ) )
+ if (!(psp->dwFlags & PSP_DLGINDIRECT) && !IS_INTRESOURCE( psp->u.pszTemplate ))
Free ((LPVOID)psp->u.pszTemplate);
- if ( (psp->dwFlags & PSP_USEICONID) && HIWORD( psp->u2.pszIcon ) )
+ if ((psp->dwFlags & PSP_USEICONID) && !IS_INTRESOURCE( psp->u2.pszIcon ))
Free ((LPVOID)psp->u2.pszIcon);
- if ((psp->dwFlags & PSP_USETITLE) && HIWORD( psp->pszTitle ))
+ if ((psp->dwFlags & PSP_USETITLE) && !IS_INTRESOURCE( psp->pszTitle ))
Free ((LPVOID)psp->pszTitle);
Free(hPropPage);
if (ppshpage->dwFlags & PSP_USEHEADERTITLE) {
SetRect(&r, 20, 10, 0, 0);
- if (HIWORD(ppshpage->pszHeaderTitle))
+ if (!IS_INTRESOURCE(ppshpage->pszHeaderTitle))
DrawTextW(hdc, ppshpage->pszHeaderTitle, -1, &r, DT_LEFT | DT_SINGLELINE | DT_NOCLIP);
else
{
if (ppshpage->dwFlags & PSP_USEHEADERSUBTITLE) {
SelectObject(hdc, psInfo->hFont);
SetRect(&r, 40, 25, rzone.right - 69, rzone.bottom);
- if (HIWORD(ppshpage->pszHeaderTitle))
+ if (!IS_INTRESOURCE(ppshpage->pszHeaderTitle))
DrawTextW(hdc, ppshpage->pszHeaderSubTitle, -1, &r, DT_LEFT | DT_WORDBREAK);
else
{
}
}
- if (!HIWORD(psInfo->ppshheader.pszCaption) &&
+ if (IS_INTRESOURCE(psInfo->ppshheader.pszCaption) &&
psInfo->ppshheader.hInstance)
{
WCHAR szText[256];