Ignore:
Timestamp:
Sep 19, 2001, 5:39:52 PM (24 years ago)
Author:
sandervl
Message:

ported the Wine MDI control + some menu fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/menu.cpp

    r6243 r6762  
    1 /* $Id: menu.cpp,v 1.35 2001-07-08 08:06:14 sandervl Exp $*/
     1/* $Id: menu.cpp,v 1.36 2001-09-19 15:39:48 sandervl Exp $*/
    22/*
    33 * Menu functions
     
    3434#include <objhandle.h>
    3535#include "pmwindow.h"
     36#include "win32wmisc.h"
    3637
    3738#define DBG_LOCALLOG    DBG_menu
     
    318319}
    319320
    320 HMENU getSysMenu(HWND hwnd)
    321 {
    322   Win32BaseWindow *win32wnd = Win32BaseWindow::GetWindowFromHandle(hwnd);
    323 
    324   if(win32wnd) {
    325       HMENU hmenu = win32wnd->GetSysMenu();
    326       RELEASE_WNDOBJ(win32wnd);
    327       return hmenu;
    328   }
    329   return (HMENU)0;
    330 }
    331 
    332 VOID setSysMenu(HWND hwnd,HMENU hMenu)
    333 {
    334   Win32BaseWindow *win32wnd = Win32BaseWindow::GetWindowFromHandle(hwnd);
    335 
    336   if(win32wnd) {
    337       win32wnd->SetSysMenu(hMenu);
    338       RELEASE_WNDOBJ(win32wnd);
    339   }
    340 }
    341321
    342322/***********************************************************************
     
    936916
    937917
    938     /* If we get here, then it must be a text item */
    939     if (IS_STRING_ITEM( lpitem->fType ))
     918    /* it must be a text item - unless it's the system menu */
     919    if (!(lpitem->fType & MF_SYSMENU) && IS_STRING_ITEM( lpitem->fType ))
    940920    {   SIZE size;
    941921
     
    35173497 *         EnableMenuItem32    (USER32.170)
    35183498 */
    3519 ULONG WINAPI EnableMenuItem( HMENU hMenu, UINT wItemID, UINT wFlags )
     3499UINT WINAPI EnableMenuItem( HMENU hMenu, UINT wItemID, UINT wFlags )
    35203500{
    35213501    UINT    oldflags;
     
    43404320        switch (MENU_ITEM_TYPE(menu->fType)) {
    43414321                case MF_STRING:
    4342                     if (menu->text && lpmii->dwTypeData && lpmii->cch) {
     4322                    if (menu->text) {
    43434323                        if (unicode) {
    4344                             lstrcpynAtoW((LPWSTR) lpmii->dwTypeData, menu->text, lpmii->cch);
    4345                             lpmii->cch = lstrlenW((LPWSTR)menu->text);
     4324                            if(lpmii->dwTypeData && lpmii->cch)
     4325                                lstrcpynAtoW((LPWSTR) lpmii->dwTypeData, menu->text, lpmii->cch);
     4326                            lpmii->cch = lstrlenA(menu->text);
    43464327                        } else {
    4347                             lstrcpynA(lpmii->dwTypeData, menu->text, lpmii->cch);
     4328                            if(lpmii->dwTypeData && lpmii->cch)
     4329                                lstrcpynA(lpmii->dwTypeData, menu->text, lpmii->cch);
    43484330                            lpmii->cch = lstrlenA(menu->text);
    43494331                        }
Note: See TracChangeset for help on using the changeset viewer.