ItemInfo = Items;
for (i = 0; i < MenuInfo->MenuItemCount; i++, ItemInfo++)
{
- if ((ItemInfo->Text) && NULL != ItemInfo->dwTypeData)
+ if ((ItemInfo->lpstr) && NULL != ItemInfo->dwTypeData)
{
WCHAR *p = (WCHAR *) ItemInfo->dwTypeData - 2;
do
return;
}
- lpitem->XTab = 0;
+ lpitem->dxTab = 0;
if (lpitem->hbmpItem)
{
if( !(MenuInfo->dwStyle & MNS_NOCHECK))
lpitem->Rect.right += 2 * check_bitmap_width;
lpitem->Rect.right += 4 + MenuCharSize.cx;
- lpitem->XTab = lpitem->Rect.right;
+ lpitem->dxTab = lpitem->Rect.right;
lpitem->Rect.right += check_bitmap_width;
} else /* hbmpItem & MenuBar */ {
MenuGetBitmapItemSize(lpitem, &size, hwndOwner );
lpitem->Rect.right += size.cx;
- if( lpitem->Text) lpitem->Rect.right += 2;
+ if( lpitem->lpstr) lpitem->Rect.right += 2;
itemheight = size.cy;
/* Special case: Minimize button doesn't have a space behind it. */
if( !(MenuInfo->dwStyle & MNS_NOCHECK))
lpitem->Rect.right += check_bitmap_width;
lpitem->Rect.right += 4 + MenuCharSize.cx;
- lpitem->XTab = lpitem->Rect.right;
+ lpitem->dxTab = lpitem->Rect.right;
lpitem->Rect.right += check_bitmap_width;
}
/* it must be a text item - unless it's the system menu */
- if (!(lpitem->fType & MF_SYSMENU) && lpitem->Text) {
+ if (!(lpitem->fType & MF_SYSMENU) && lpitem->lpstr) {
HFONT hfontOld = NULL;
RECT rc = lpitem->Rect;
LONG txtheight, txtwidth;
/* get text size after the tab */
tmpheight = DrawTextW( hdc, p, -1, &tmprc,
DT_SINGLELINE|DT_CALCRECT);
- lpitem->XTab += txtwidth;
+ lpitem->dxTab += txtwidth;
txtheight = max( txtheight, tmpheight);
txtwidth += MenuCharSize.cx + /* space for the tab */
tmprc.right - tmprc.left; /* space for the short cut */
txtheight = DrawTextW( hdc, lpitem->dwTypeData, -1, &rc,
DT_SINGLELINE|DT_CALCRECT);
txtwidth = rc.right - rc.left;
- lpitem->XTab += txtwidth;
+ lpitem->dxTab += txtwidth;
}
lpitem->Rect.right += 2 + txtwidth;
itemheight = max( itemheight,
// }
maxX = max(maxX, lpitem.Rect.right);
orgY = lpitem.Rect.bottom;
- if ((lpitem.Text) && lpitem.XTab )
+ if ((lpitem.lpstr) && lpitem.dxTab )
{
- maxTab = max( maxTab, lpitem.XTab );
- maxTabWidth = max(maxTabWidth, lpitem.Rect.right - lpitem.XTab);
+ maxTab = max( maxTab, lpitem.dxTab );
+ maxTabWidth = max(maxTabWidth, lpitem.Rect.right - lpitem.dxTab);
}
}
if (MenuGetRosMenuItemInfo(MenuInfo->Self, start, &lpitem))
{
lpitem.Rect.right = maxX;
- if ((lpitem.Text) && 0 != lpitem.XTab)
+ if ((lpitem.lpstr) && 0 != lpitem.dxTab)
{
- lpitem.XTab = maxTab;
+ lpitem.dxTab = maxTab;
}
MenuSetRosMenuItemInfo(MenuInfo->Self, start, &lpitem);
}
}
/* process text if present */
- if (lpitem->Text)
+ if (lpitem->lpstr)
{
register int i = 0;
HFONT hfontOld = 0;
{
if (L'\t' == Text[i])
{
- rect.left = lpitem->XTab;
+ rect.left = lpitem->dxTab;
uFormat = DT_LEFT | DT_VCENTER | DT_SINGLELINE;
}
else
{
- rect.right = lpitem->XTab;
+ rect.right = lpitem->dxTab;
uFormat = DT_RIGHT | DT_VCENTER | DT_SINGLELINE;
}
if (sizeof(ROSMENUITEMINFO) == lpmii->cbSize)
{
lpmii->Rect = MenuItem->Rect;
- lpmii->XTab = MenuItem->XTab;
- lpmii->Text = MenuItem->Text.Buffer;
+ lpmii->dxTab = MenuItem->dxTab;
+ lpmii->lpstr = MenuItem->Text.Buffer; // Use DesktopHeap!
}
return TRUE;
if (sizeof(ROSMENUITEMINFO) == lpmii->cbSize)
{
MenuItem->Rect = lpmii->Rect;
- MenuItem->XTab = lpmii->XTab;
- lpmii->Text = MenuItem->Text.Buffer; /* Send back new allocated string or zero */
+ MenuItem->dxTab = lpmii->dxTab;
+ lpmii->lpstr = MenuItem->Text.Buffer; /* Use DesktopHeap! Send back new allocated string or zero */
}
return TRUE;
mii.hbmpUnchecked = CurItem->hbmpUnchecked;
mii.hSubMenu = CurItem->hSubMenu;
mii.Rect = CurItem->Rect;
- mii.XTab = CurItem->XTab;
- mii.Text = CurItem->Text.Buffer;
+ mii.dxTab = CurItem->dxTab;
+ mii.lpstr = CurItem->Text.Buffer; // Use DesktopHeap!
Status = MmCopyToCaller(Buf, &mii, sizeof(ROSMENUITEMINFO));
if (! NT_SUCCESS(Status))