Changeset 2668 for trunk/src/user32


Ignore:
Timestamp:
Feb 6, 2000, 6:39:35 PM (26 years ago)
Author:
cbratschi
Message:

ported WinHelpA from WINE

Location:
trunk/src/user32
Files:
4 edited

Legend:

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

    r2552 r2668  
    1 /* $Id: pmwindow.cpp,v 1.83 2000-01-28 22:25:59 sandervl Exp $ */
     1/* $Id: pmwindow.cpp,v 1.84 2000-02-06 17:39:33 cbratschi Exp $ */
    22/*
    33 * Win32 Window Managment Code for OS/2
     
    355355    case WM_BUTTON3MOTIONEND:
    356356    case WM_BUTTON3CLICK:
    357         goto RunDefWndProc;
     357        rc = TRUE;
     358        break;
    358359
    359360    case WM_MOUSEMOVE:
  • trunk/src/user32/user32.cpp

    r2631 r2668  
    1 /* $Id: user32.cpp,v 1.68 2000-02-03 23:29:53 sandervl Exp $ */
     1/* $Id: user32.cpp,v 1.69 2000-02-06 17:39:33 cbratschi Exp $ */
    22
    33/*
     
    10881088BOOL WIN32API WinHelpA( HWND hwnd, LPCSTR lpszHelp, UINT uCommand, DWORD  dwData)
    10891089{
    1090 #ifdef DEBUG
    1091     WriteLog("USER32:  WinHelp not implemented %s\n", lpszHelp);
    1092 #endif
    1093 //    hwnd = Win32Window::Win32ToOS2Handle(hwnd);
    1094 //    return O32_WinHelp(arg1, arg2, arg3, arg4);
    1095 
    1096     return(TRUE);
    1097 }
    1098 //******************************************************************************
    1099 //******************************************************************************
    1100 BOOL WIN32API WinHelpW( HWND arg1, LPCWSTR arg2, UINT arg3, DWORD  arg4)
    1101 {
    1102  char *astring = UnicodeToAsciiString((LPWSTR)arg2);
    1103  BOOL  rc;
    1104 
    1105 #ifdef DEBUG
    1106     WriteLog("USER32:  WinHelpW\n");
    1107 #endif
    1108     rc = WinHelpA(arg1, astring, arg3, arg4);
    1109     FreeAsciiString(astring);
    1110     return rc;
     1090  static WORD WM_WINHELP = 0;
     1091  HWND hDest;
     1092  LPWINHELP lpwh;
     1093  HGLOBAL hwh;
     1094  HINSTANCE winhelp;
     1095  int size,dsize,nlen;
     1096
     1097  dprintf(("USER32:  WinHelpA %s\n", lpszHelp));
     1098
     1099  if(!WM_WINHELP)
     1100  {
     1101    WM_WINHELP=RegisterWindowMessageA("WM_WINHELP");
     1102    if(!WM_WINHELP)
     1103      return FALSE;
     1104  }
     1105
     1106  hDest = FindWindowA( "MS_WINHELP", NULL );
     1107  if(!hDest)
     1108  {
     1109    if(uCommand == HELP_QUIT)
     1110      return TRUE;
     1111    else
     1112      winhelp = WinExec ( "winhlp32.exe -x", SW_SHOWNORMAL );
     1113    if ( winhelp <= 32 ) return FALSE;
     1114    if ( ! ( hDest = FindWindowA ( "MS_WINHELP", NULL ) )) return FALSE;
     1115  }
     1116
     1117  switch(uCommand)
     1118  {
     1119    case HELP_CONTEXT:
     1120    case HELP_SETCONTENTS:
     1121    case HELP_CONTENTS:
     1122    case HELP_CONTEXTPOPUP:
     1123    case HELP_FORCEFILE:
     1124    case HELP_HELPONHELP:
     1125    case HELP_FINDER:
     1126    case HELP_QUIT:
     1127      dsize=0;
     1128      break;
     1129
     1130    case HELP_KEY:
     1131    case HELP_PARTIALKEY:
     1132    case HELP_COMMAND:
     1133      dsize = strlen( (LPSTR)dwData )+1;
     1134      break;
     1135
     1136    case HELP_MULTIKEY:
     1137      dsize = ((LPMULTIKEYHELP)dwData)->mkSize;
     1138      break;
     1139
     1140    case HELP_SETWINPOS:
     1141      dsize = ((LPHELPWININFO)dwData)->wStructSize;
     1142      break;
     1143
     1144    default:
     1145      //WARN("Unknown help command %d\n",wCommand);
     1146      return FALSE;
     1147  }
     1148  if(lpszHelp)
     1149    nlen = strlen(lpszHelp)+1;
     1150  else
     1151    nlen = 0;
     1152  size = sizeof(WINHELP) + nlen + dsize;
     1153  hwh = GlobalAlloc(0,size);
     1154  lpwh = (WINHELP*)GlobalLock(hwh);
     1155  lpwh->size = size;
     1156  lpwh->command = uCommand;
     1157  lpwh->data = dwData;
     1158  if(nlen)
     1159  {
     1160    strcpy(((char*)lpwh) + sizeof(WINHELP),lpszHelp);
     1161    lpwh->ofsFilename = sizeof(WINHELP);
     1162  } else
     1163      lpwh->ofsFilename = 0;
     1164  if(dsize)
     1165  {
     1166    memcpy(((char*)lpwh)+sizeof(WINHELP)+nlen,(LPSTR)dwData,dsize);
     1167    lpwh->ofsData = sizeof(WINHELP)+nlen;
     1168  } else
     1169      lpwh->ofsData = 0;
     1170  GlobalUnlock(hwh);
     1171
     1172  return SendMessageA(hDest,WM_WINHELP,hwnd,hwh);
     1173}
     1174//******************************************************************************
     1175//******************************************************************************
     1176BOOL WIN32API WinHelpW( HWND hwnd, LPCWSTR lpszHelp, UINT uCommand, DWORD  dwData)
     1177{
     1178  char *astring = UnicodeToAsciiString((LPWSTR)lpszHelp);
     1179  BOOL  rc;
     1180
     1181  dprintf(("USER32:  WinHelpW\n"));
     1182
     1183  rc = WinHelpA(hwnd,astring,uCommand,dwData);
     1184  FreeAsciiString(astring);
     1185
     1186  return rc;
    11111187}
    11121188
     
    15941670}
    15951671
    1596 /* Button Functions */
    1597 
    1598 BOOL WIN32API CheckRadioButton( HWND hDlg, UINT nIDFirstButton, UINT nIDLastButton, UINT  nIDCheckButton)
    1599 {
    1600 #ifdef DEBUG
    1601     WriteLog("USER32:  CheckRadioButton\n");
    1602 #endif
    1603     //CB: check radio buttons in interval
    1604     if (nIDFirstButton > nIDLastButton)
    1605     {
    1606       SetLastError(ERROR_INVALID_PARAMETER);
    1607       return (FALSE);
    1608     }
    1609 
    1610     for (UINT x = nIDFirstButton;x <= nIDLastButton;x++)
    1611     {
    1612      SendDlgItemMessageA(hDlg,x,BM_SETCHECK,(x == nIDCheckButton) ? BST_CHECKED : BST_UNCHECKED,0);
    1613     }
    1614 
    1615     return (TRUE);
    1616 }
    1617 
    16181672/* Window Functions */
    16191673
     
    16421696}
    16431697
    1644 //******************************************************************************
    1645 //******************************************************************************
    16461698/*****************************************************************************
    16471699 * Name      : BOOL WIN32API PaintDesktop
     
    17031755}
    17041756
    1705 /* Message and Message Queue Functions */
    1706 
    1707 
    1708 /* Device Context Functions */
    1709 
    1710 
    17111757/* Window Station and Desktop Functions */
     1758
    17121759/*****************************************************************************
    17131760 * Name      : HDESK WIN32API GetThreadDesktop
     
    25012548}
    25022549
    2503 /* Hook Functions */
    2504 
    2505 /* CB: move to MDI */
    2506 
    25072550/* Drag'n'drop */
    25082551
  • trunk/src/user32/win32wbase.cpp

    r2666 r2668  
    1 /* $Id: win32wbase.cpp,v 1.154 2000-02-05 19:45:17 cbratschi Exp $ */
     1/* $Id: win32wbase.cpp,v 1.155 2000-02-06 17:39:34 cbratschi Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    944944#endif
    945945                if(((ret == MA_ACTIVATE) || (ret == MA_ACTIVATEANDEAT))
    946                    && hwndTop != GetForegroundWindow() )
     946                   && (hwndTop != GetForegroundWindow()) )
    947947                {
    948948                      ::SetActiveWindow(hwndTop);
  • trunk/src/user32/windlg.cpp

    r2469 r2668  
    1 /* $Id: windlg.cpp,v 1.14 2000-01-18 20:11:05 sandervl Exp $ */
     1/* $Id: windlg.cpp,v 1.15 2000-02-06 17:39:35 cbratschi Exp $ */
    22/*
    33 * Win32 dialog apis for OS/2
     
    130130        if(!dialog || !dialog->IsDialog()) {
    131131            dprintf(("DialogBoxIndirectParamA, dialog %x not found", hwnd));
    132             SetLastError(ERROR_INVALID_WINDOW_HANDLE);
     132            SetLastError(ERROR_INVALID_WINDOW_HANDLE);
    133133            return 0;
    134134        }
     
    152152        if(!dialog || !dialog->IsDialog()) {
    153153            dprintf(("DialogBoxIndirectParamW, dialog %x not found", hwnd));
    154             SetLastError(ERROR_INVALID_WINDOW_HANDLE);
     154            SetLastError(ERROR_INVALID_WINDOW_HANDLE);
    155155            return 0;
    156156        }
     
    173173        if(!dialog || !dialog->IsDialog()) {
    174174            dprintf(("DialogBoxParamA, dialog %x not found", hwnd));
    175             SetLastError(ERROR_INVALID_WINDOW_HANDLE);
     175            SetLastError(ERROR_INVALID_WINDOW_HANDLE);
    176176            return 0;
    177177        }
     
    194194        if(!dialog || !dialog->IsDialog()) {
    195195            dprintf(("DialogBoxParamW, dialog %x not found", hwnd));
    196             SetLastError(ERROR_INVALID_WINDOW_HANDLE);
     196            SetLastError(ERROR_INVALID_WINDOW_HANDLE);
    197197            return 0;
    198198        }
     
    297297{
    298298    dprintf(("USER32:  CheckDlgButton\n"));
    299     //CB: set button state
     299
    300300    return (BOOL)SendDlgItemMessageA(hwnd, id, BM_SETCHECK, check,0);
     301}
     302//******************************************************************************
     303//******************************************************************************
     304BOOL WIN32API CheckRadioButton( HWND hDlg, UINT nIDFirstButton, UINT nIDLastButton, UINT  nIDCheckButton)
     305{
     306    dprintf(("USER32:  CheckRadioButton\n"));
     307
     308    //CB: check radio buttons in interval
     309    if (nIDFirstButton > nIDLastButton)
     310    {
     311      SetLastError(ERROR_INVALID_PARAMETER);
     312      return (FALSE);
     313    }
     314
     315    for (UINT x = nIDFirstButton;x <= nIDLastButton;x++)
     316    {
     317     SendDlgItemMessageA(hDlg,x,BM_SETCHECK,(x == nIDCheckButton) ? BST_CHECKED : BST_UNCHECKED,0);
     318    }
     319
     320    return (TRUE);
    301321}
    302322//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.