user32: Simplify some code.

This commit is contained in:
Dmitry Timoshkov 2007-11-09 17:52:11 +08:00 committed by Alexandre Julliard
parent f288ed99b0
commit 5722660758
1 changed files with 9 additions and 9 deletions

View File

@ -703,18 +703,17 @@ static MENUITEM *MENU_FindItemByCoords( const POPUPMENU *menu,
{ {
MENUITEM *item; MENUITEM *item;
UINT i; UINT i;
RECT wrect;
RECT rect; RECT rect;
if (!GetWindowRect(menu->hWnd,&wrect)) return NULL; if (!GetWindowRect(menu->hWnd, &rect)) return NULL;
pt.x -= wrect.left;pt.y -= wrect.top; pt.x -= rect.left;
pt.y -= rect.top;
item = menu->items; item = menu->items;
for (i = 0; i < menu->nItems; i++, item++) for (i = 0; i < menu->nItems; i++, item++)
{ {
rect = item->rect; rect = item->rect;
MENU_AdjustMenuItemRect(menu, &rect); MENU_AdjustMenuItemRect(menu, &rect);
if ((pt.x >= rect.left) && (pt.x < rect.right) && if (PtInRect(&rect, pt))
(pt.y >= rect.top) && (pt.y < rect.bottom))
{ {
if (pos) *pos = i; if (pos) *pos = i;
return item; return item;
@ -1109,7 +1108,7 @@ MENU_GetMaxPopupHeight(LPPOPUPMENU lppop)
* *
* Calculate the size of a popup menu. * Calculate the size of a popup menu.
*/ */
static void MENU_PopupMenuCalcSize( LPPOPUPMENU lppop, HWND hwndOwner ) static void MENU_PopupMenuCalcSize( LPPOPUPMENU lppop )
{ {
MENUITEM *lpitem; MENUITEM *lpitem;
HDC hdc; HDC hdc;
@ -1143,7 +1142,7 @@ static void MENU_PopupMenuCalcSize( LPPOPUPMENU lppop, HWND hwndOwner )
if ((i != start) && if ((i != start) &&
(lpitem->fType & (MF_MENUBREAK | MF_MENUBARBREAK))) break; (lpitem->fType & (MF_MENUBREAK | MF_MENUBARBREAK))) break;
MENU_CalcItemSize( hdc, lpitem, hwndOwner, orgX, orgY, FALSE, lppop ); MENU_CalcItemSize( hdc, lpitem, lppop->hwndOwner, orgX, orgY, FALSE, lppop );
maxX = max( maxX, lpitem->rect.right ); maxX = max( maxX, lpitem->rect.right );
orgY = lpitem->rect.bottom; orgY = lpitem->rect.bottom;
if (IS_STRING_ITEM(lpitem->fType) && lpitem->xTab) if (IS_STRING_ITEM(lpitem->fType) && lpitem->xTab)
@ -1792,7 +1791,7 @@ static BOOL MENU_ShowPopup( HWND hwndOwner, HMENU hmenu, UINT id,
menu->hwndOwner = hwndOwner; menu->hwndOwner = hwndOwner;
menu->nScrollPos = 0; menu->nScrollPos = 0;
MENU_PopupMenuCalcSize( menu, hwndOwner ); MENU_PopupMenuCalcSize( menu );
/* adjust popup menu pos so that it fits within the desktop */ /* adjust popup menu pos so that it fits within the desktop */
@ -3657,7 +3656,7 @@ INT WINAPI GetMenuStringA(
if (!str || !nMaxSiz) return strlenW(item->text); if (!str || !nMaxSiz) return strlenW(item->text);
if (!WideCharToMultiByte( CP_ACP, 0, item->text, -1, str, nMaxSiz, NULL, NULL )) if (!WideCharToMultiByte( CP_ACP, 0, item->text, -1, str, nMaxSiz, NULL, NULL ))
str[nMaxSiz-1] = 0; str[nMaxSiz-1] = 0;
TRACE("returning '%s'\n", str ); TRACE("returning %s\n", debugstr_a(str));
return strlen(str); return strlen(str);
} }
@ -3682,6 +3681,7 @@ INT WINAPI GetMenuStringW( HMENU hMenu, UINT wItemID,
return 0; return 0;
} }
lstrcpynW( str, item->text, nMaxSiz ); lstrcpynW( str, item->text, nMaxSiz );
TRACE("returning %s\n", debugstr_w(str));
return strlenW(str); return strlenW(str);
} }