示例#1
0
/*
 * setMaximizedMenuConfig - set up main menu in the maximized configuration
 */
static void setMaximizedMenuConfig( HWND hwnd )
{
#ifndef __OS2_PM__
    HMENU       menu;
    HMENU       sys_menu;

    if( insertedItems ) {
        SetSystemMenu( hwnd );
    } else {
        getMenuBitmaps();
        menu = _wpi_getmenu( mdiInfo.root );
        insertedItems = TRUE;
        sys_menu = generateSystemMenu( hwnd );
        if( sys_menu != NULL ) {
            InsertMenu( menu, 0, MF_POPUP | MF_BYPOSITION | MF_BITMAP,
                        (UINT)sys_menu, (LPVOID)closeBitmap );
        } else {
            InsertMenu( menu, 0, MF_BYPOSITION | MF_BITMAP, -1, (LPVOID)closeBitmap );
        }
        InsertMenu( menu, -1, MF_HELP | MF_BYPOSITION | MF_BITMAP, SC_RESTORE,
                    (LPVOID)restoreBitmap );
        _wpi_drawmenubar( mdiInfo.root );
    }
#else
    hwnd = hwnd;
#endif

} /* setMaximizedMenuConfig */
示例#2
0
/*
 * doMaximizeAll - maximize all children
 */
static void doMaximizeAll( HWND first )
{
    mdi_data    *md;
    bool        was_max;

    was_max = childrenMaximized;

    childrenMaximized = TRUE;

    doMaximize( first );

    if( !was_max ) {
        md = mdiHead;
        while( md != NULL ) {
            if( md->hwnd != first ) {
                if( _wpi_isiconic( md->hwnd ) ) {
                    doMaximize( md->hwnd );
                }
            }
            md = md->next;
        }
    }

    SetSystemMenu( first );

} /* doMaximizeAll */
示例#3
0
MRESULT EXPENTRY fnwpModemOutStatusDlg(HWND hwnd,USHORT msg,MPARAM mp1,MPARAM mp2)
  {
  static ULONG idTimer;
  char szCaption[80];

  switch (msg)
    {
    case WM_INITDLG:
      SetSystemMenu(hwnd);
      WinSendDlgItemMsg(hwnd,HWS_DTR,EM_SETREADONLY,MPFROMSHORT(TRUE),(MPARAM)NULL);
      WinSendDlgItemMsg(hwnd,HWS_RTS,EM_SETREADONLY,MPFROMSHORT(TRUE),(MPARAM)NULL);
//      CenterDlgBox(hwnd);
      idTimer = 0L;
      break;
    case UM_INITLS:
      if (!bMOstatusActivated)
        {
        bMOstatusActivated = TRUE;
        if (lStatusWindowCount++ <= 0)
          MenuItemEnable(hwndFrame,IDM_SURFACE_THIS,TRUE);
        if (stCFG.bLoadWindowPosition && (hProfileInstance != NULL) && (stCFG.ptlMOstatusPos.y > -40))
          WinSetWindowPos(hwnd,HWND_TOP,stCFG.ptlMOstatusPos.x,stCFG.ptlMOstatusPos.y,0L,0L,SWP_MOVE);
        else
          MousePosDlgBox(hwnd);
        WinShowWindow(hwnd,TRUE);
        WinSetFocus(HWND_DESKTOP,hwnd);
        }
      UpdateModemOutputStatusDlg(hwnd);
      idTimer = WinStartTimer(habAnchorBlock,
                              hwnd,
                              TID_STATMDMOUT,
                              stCFG.wUpdateDelay);
    case UM_RESET_NAME:
      sprintf(szCaption,"%s - Modem Out",stCFG.szPortName);
      WinSetWindowText(hwnd,szCaption);
      break;
    case WM_CLOSE:
    case UM_KILL_MONITOR:
      bMOstatusActivated = FALSE;
      if (--lStatusWindowCount <= 0)
        MenuItemEnable(hwndFrame,IDM_SURFACE_THIS,FALSE);
      if (idTimer)
        {
        WinStopTimer(habAnchorBlock,
                     hwnd,
                     idTimer);
        idTimer = 0L;
        }
      return(WinDefDlgProc(hwnd,msg,mp1,mp2));
    case UM_RESETTIMER:
      if (idTimer != 0L)
        idTimer = WinStartTimer(habAnchorBlock,
                              hwnd,
                              idTimer,
                              stCFG.wUpdateDelay);
      break;
    case WM_TIMER:
      UpdateModemOutputStatusDlg(hwnd);
      return(FALSE);
    case WM_ACTIVATE:
      if (bMOstatusActivated)
        WinSetFocus(HWND_DESKTOP,hwnd);
      break;
    default:
      return(WinDefDlgProc(hwnd,msg,mp1,mp2));
    }
  return FALSE;
  }
示例#4
0
MRESULT EXPENTRY fnwpRcvBufferStatusDlg(HWND hwnd,USHORT msg,MPARAM mp1,MPARAM mp2)
  {
  static ULONG idTimer;
  char szCaption[80];
  static SHORT sCurrentFocus;

  switch (msg)
    {
    case WM_INITDLG:
      SetSystemMenu(hwnd);
      WinSendDlgItemMsg(hwnd,HWS_BUFLEV,EM_SETREADONLY,MPFROMSHORT(TRUE),(MPARAM)NULL);
      WinSendDlgItemMsg(hwnd,HWS_BUFLEN,EM_SETREADONLY,MPFROMSHORT(TRUE),(MPARAM)NULL);
//      CenterDlgBox(hwnd);
      idTimer = 0L;
      break;
    case UM_INITLS:
      if (!bRBstatusActivated)
        {
        bRBstatusActivated = TRUE;
        if (lStatusWindowCount++ <= 0)
          MenuItemEnable(hwndFrame,IDM_SURFACE_THIS,TRUE);
        if (stCFG.bLoadWindowPosition && (hProfileInstance != NULL) && (stCFG.ptlRBstatusPos.y > -40))
          WinSetWindowPos(hwnd,HWND_TOP,stCFG.ptlRBstatusPos.x,stCFG.ptlRBstatusPos.y,0L,0L,SWP_MOVE);
        else
          MousePosDlgBox(hwnd);
        WinShowWindow(hwnd,TRUE);
        WinSetFocus(HWND_DESKTOP,hwnd);
        stCFG.fTraceEvent |= CSFUNC_TRACE_RX_BUFF_LEVEL;
        if (bCOMscopeEnabled && (hCom != 0xffffffff))
          EnableCOMscope(hwnd,hCom,&ulCOMscopeBufferSize,stCFG.fTraceEvent);
        ResetHighWater();
        }
      UpdateRcvBufferStatusDlg(hwnd);
      idTimer = WinStartTimer(habAnchorBlock,
                              hwnd,
                              TID_STATRCVBUF,
                              stCFG.wUpdateDelay);
      sCurrentFocus = 0;
    case UM_RESET_NAME:
      sprintf(szCaption,"%s - Receive Buffer",stCFG.szPortName);
      WinSetWindowText(hwnd,szCaption);
      break;
    case WM_CLOSE:
    case UM_KILL_MONITOR:
      bRBstatusActivated = FALSE;
      stCFG.fTraceEvent &= ~CSFUNC_TRACE_RX_BUFF_LEVEL;
      if (bCOMscopeEnabled && (hCom != 0xffffffff))
        EnableCOMscope(hwnd,hCom,&ulCOMscopeBufferSize,stCFG.fTraceEvent);
      if (--lStatusWindowCount <= 0)
        MenuItemEnable(hwndFrame,IDM_SURFACE_THIS,FALSE);
      if (idTimer)
        {
        WinStopTimer(habAnchorBlock,
                     hwnd,
                     idTimer);
        idTimer = 0L;
        }
      return(WinDefDlgProc(hwnd,msg,mp1,mp2));
    case UM_RESETTIMER:
      if (idTimer != 0L)
        idTimer = WinStartTimer(habAnchorBlock,
                              hwnd,
                              idTimer,
                              stCFG.wUpdateDelay);
      break;
    case WM_TIMER:
      UpdateRcvBufferStatusDlg(hwnd);
      return(FALSE);
    case WM_CHAR:
      if ((sCurrentFocus != 0) && (SHORT1FROMMP(mp1) & KC_CHAR) && (SHORT1FROMMP(mp2) == ' '))
        ResetHighWater();
      else
        return(WinDefDlgProc(hwnd,msg,mp1,mp2));
      break;
    case WM_BUTTON1UP:
      if (sCurrentFocus != 0)
        ResetHighWater();
      else
        return(WinDefDlgProc(hwnd,msg,mp1,mp2));
      break;
    case WM_CONTROL:
      switch (SHORT2FROMMP(mp1))
        {
        case EN_SETFOCUS:
          if (SHORT1FROMMP(mp1) == HWS_BUFHIGH)
            sCurrentFocus = SHORT1FROMMP(mp1);
          break;
        case EN_KILLFOCUS:
          sCurrentFocus = 0;
          break;
        }
      break;
    case WM_ACTIVATE:
      if (bRBstatusActivated)
        WinSetFocus(HWND_DESKTOP,hwnd);
      break;
    default:
      return(WinDefDlgProc(hwnd,msg,mp1,mp2));
    }
  return FALSE;
  }
示例#5
0
MRESULT EXPENTRY fnwpDeviceStatusDlg(HWND hwnd,USHORT msg,MPARAM mp1,MPARAM mp2)
  {
  USHORT idDlg;
  PFNWP  pfnDlgProc;
  static ULONG idTimer;
  char szStatus[80];
  WORD wStatus;
  static BOOL bShowingBits;
  static SHORT sCurrentFocus;

  switch (msg)
    {
    case WM_INITDLG:
      SetSystemMenu(hwnd);
      WinSendDlgItemMsg(hwnd,HWS_COMST,EM_SETREADONLY,MPFROMSHORT(TRUE),(MPARAM)NULL);
      WinSendDlgItemMsg(hwnd,HWS_COMERROR,EM_SETREADONLY,MPFROMSHORT(TRUE),(MPARAM)NULL);
      WinSendDlgItemMsg(hwnd,HWS_COMEVENT,EM_SETREADONLY,MPFROMSHORT(TRUE),(MPARAM)NULL);
      WinSendDlgItemMsg(hwnd,HWS_XMITST,EM_SETREADONLY,MPFROMSHORT(TRUE),(MPARAM)NULL);
      idTimer = 0L;
      bShowingBits = FALSE;
      sCurrentFocus = 0;
      CenterDlgBox(hwnd);
      break;
    case UM_INITLS:
      if (!bDDstatusActivated)
        {
        bDDstatusActivated = TRUE;
        if (lStatusWindowCount++ <= 0)
          MenuItemEnable(hwndFrame,IDM_SURFACE_THIS,TRUE);
        if (stCFG.bLoadWindowPosition && (hProfileInstance != NULL) && (stCFG.ptlDDstatusPos.y > -40))
          WinSetWindowPos(hwnd,HWND_TOP,stCFG.ptlDDstatusPos.x,stCFG.ptlDDstatusPos.y,0L,0L,SWP_MOVE);
        else
          MousePosDlgBox(hwnd);
        WinShowWindow(hwnd,TRUE);
        WinSetFocus(HWND_DESKTOP,hwnd);
        }
      UpdateDeviceStatusDlg(hwnd);
      idTimer = WinStartTimer(habAnchorBlock,
                              hwnd,
                              TID_STATDEV,
                              stCFG.wUpdateDelay);
    case UM_RESET_NAME:
      sprintf(szStatus,"%s - Device Driver Status",stCFG.szPortName);
      WinSetWindowText(hwnd,szStatus);
      break;
    case WM_CLOSE:
    case UM_KILL_MONITOR:
      bDDstatusActivated = FALSE;
      if (--lStatusWindowCount <= 0)
        MenuItemEnable(hwndFrame,IDM_SURFACE_THIS,FALSE);
      if (idTimer)
        {
        WinStopTimer(habAnchorBlock,
                     hwnd,
                     idTimer);
        idTimer = 0L;
        }
      return(WinDefDlgProc(hwnd,msg,mp1,mp2));
    case UM_RESETTIMER:
      if (idTimer != 0L)
        idTimer = WinStartTimer(habAnchorBlock,
                              hwnd,
                              idTimer,
                              stCFG.wUpdateDelay);
      break;
    case WM_CHAR:
      if ((sCurrentFocus != 0) && (!bShowingBits) && (SHORT1FROMMP(mp1) & KC_CHAR) && (SHORT1FROMMP(mp2) == ' '))
        {
        WinPostMsg(hwnd,UM_SHOWBITS,MPFROMSHORT(sCurrentFocus),(MPARAM)0L);
        bShowingBits = TRUE;
        }
      else
        return(WinDefDlgProc(hwnd,msg,mp1,mp2));
      break;
    case WM_BUTTON1UP:
      if ((sCurrentFocus != 0) && (!bShowingBits))
        {
        WinPostMsg(hwnd,UM_SHOWBITS,MPFROMSHORT(sCurrentFocus),(MPARAM)0L);
        bShowingBits = TRUE;
        }
      else
        return(WinDefDlgProc(hwnd,msg,mp1,mp2));
      break;
    case WM_CONTROL:
      if (!bShowingBits)
        {
        switch (SHORT2FROMMP(mp1))
          {
          case EN_SETFOCUS:
            sCurrentFocus = SHORT1FROMMP(mp1);
            break;
          case EN_KILLFOCUS:
            sCurrentFocus = 0;
            break;
          }
        }
      break;
    case UM_SHOWBITS:
        switch(SHORT1FROMMP(mp1))
          {
          case HWS_COMERROR:
            idDlg      = CER_DLG;
            pfnDlgProc = (PFNWP)fnwpCOMerrorStatesDlg;
            WinQueryDlgItemText(hwnd,HWS_COMERROR,sizeof(szStatus),szStatus);
            break;
          case HWS_COMEVENT:
            idDlg      = CEV_DLG;
            pfnDlgProc = (PFNWP)fnwpCOMeventStatesDlg;
            WinQueryDlgItemText(hwnd,HWS_COMEVENT,sizeof(szStatus),szStatus);
            break;
          case HWS_COMST:
            idDlg      = CST_DLG;
            pfnDlgProc = (PFNWP)fnwpCOMstatusStatesDlg;
            WinQueryDlgItemText(hwnd,HWS_COMST,sizeof(szStatus),szStatus);
            break;
          case HWS_XMITST:
            idDlg      = TST_DLG;
            pfnDlgProc = (PFNWP)fnwpXmitStatusStatesDlg;
            WinQueryDlgItemText(hwnd,HWS_XMITST,sizeof(szStatus),szStatus);
            break;
          default:
            return(FALSE);
          }
        wStatus = (WORD)ASCIItoBin(szStatus,16);
        WinDlgBox(HWND_DESKTOP,
                  hwnd,
                  pfnDlgProc,
                  NULLHANDLE,
                  idDlg,
                  &wStatus);
        WinSetFocus(HWND_DESKTOP,hwnd);
        bShowingBits = FALSE;
      break;
    case WM_TIMER:
      UpdateDeviceStatusDlg(hwnd);
      break;
    case WM_ACTIVATE:
      if (bDDstatusActivated)
        WinSetFocus(HWND_DESKTOP,hwnd);
      break;
    default:
      return(WinDefDlgProc(hwnd,msg,mp1,mp2));
    }
  return FALSE;
  }