MRESULT mainwmControl( HWND hwnd, MPARAM mp1, MPARAM mp2 ) { switch (SHORT1FROMMP(mp1)) { case ID_HEF1: switch (SHORT2FROMMP(mp1)) { case HEN_KILLFOCUS: break; case HEN_SETFOCUS: break; case HEN_CHANGE: WinInvalidateRect(hwnd,NULL,FALSE); break; default: break; } // switch Notification break; case ID_HEF2: switch (SHORT2FROMMP(mp1)) { case HEN_CHANGE: WinInvalidateRect(hwnd,NULL,FALSE); break; } } // switch Control return MRFROMLONG(0L); }
MRESULT mainwmSize( HWND hwnd, MPARAM mp1, MPARAM mp2 ) { // printf("HMLEdit:: WM_SIZE\n"); WinSetWindowPos( WinWindowFromID( hwnd, ID_HANMLE ), NULLHANDLE, 0, (use_statbar?STATBAR_YSIZE:0), SHORT1FROMMP(mp2), SHORT2FROMMP(mp2)-(use_statbar?STATBAR_YSIZE:0)-(use_toolbar?TOOLBAR_YSIZE:0), SWP_SIZE | SWP_MOVE ); if (use_toolbar) WinSetWindowPos( WinWindowFromID( hwnd, ID_TOOLBAR ), NULLHANDLE, 0, SHORT2FROMMP(mp2)-TOOLBAR_YSIZE, SHORT1FROMMP(mp2) , TOOLBAR_YSIZE, SWP_SIZE | SWP_MOVE | SWP_SHOW); else WinSetWindowPos( WinWindowFromID( hwnd, ID_TOOLBAR ), NULLHANDLE, 0, SHORT2FROMMP(mp2)-TOOLBAR_YSIZE, SHORT1FROMMP(mp2) , TOOLBAR_YSIZE, SWP_SIZE | SWP_MOVE | SWP_HIDE); if (use_statbar) WinSetWindowPos( WinWindowFromID( hwnd, ID_STATBAR ), NULLHANDLE, 0, 0, SHORT1FROMMP(mp2), STATBAR_YSIZE, SWP_SIZE | SWP_MOVE | SWP_SHOW); else WinSetWindowPos( WinWindowFromID( hwnd, ID_STATBAR ), NULLHANDLE, 0, 0, SHORT1FROMMP(mp2), STATBAR_YSIZE, SWP_SIZE | SWP_MOVE | SWP_HIDE); return MRFROMLONG(0L); }
static MRESULT EXPENTRY AttribSelectProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { PATTRIBSELECTDATA pWinData = WinQueryWindowPtr(hwnd, QWL_USER); switch(msg) { case WM_CREATE: return (MRESULT) CreateWindow(hwnd, (PCREATESTRUCT) mp2); case WM_DESTROY: DestroyWindow(pWinData); break; case WM_HELP: /* Weiterleiten mit eigener ID */ mp1 = MPFROMSHORT(WinQueryWindowUShort(hwnd, QWS_ID)); break; case ATTSM_SETATTRIB: return (MRESULT) SetAttrib(hwnd, pWinData, (ULONG) mp1, (ULONG) mp2); case ATTSM_QUERYATTRIB: return (MRESULT) QueryAttrib(pWinData); case WM_CONTROL: if (SHORT1FROMMP(mp1) == ATTSID_VALUE) { switch(SHORT2FROMMP(mp1)) { case VN_ENTER: AttribClicked(hwnd, pWinData, SHORT1FROMMP(mp2), SHORT2FROMMP(mp2)); break; case VN_HELP: #if 0 WinPostMsg(WinQueryWindow(hwnd, QW_OWNER), WM_HELP, MPFROMSHORT(WinQueryWindowUShort(hwnd, QWS_ID)), mp2); #endif break; } } break; case WM_DRAWITEM: if (SHORT1FROMMP(mp1) == ATTSID_VALUE) return (MRESULT) DrawItem(pWinData, (POWNERITEM) mp2); else break; case WM_QUERYDLGCODE: return WinSendMsg(pWinData->hwndValueSet, msg, mp1, mp2); default: break; } return WinDefWindowProc(hwnd, msg, mp1, mp2); }
MRESULT EXPENTRY icqChatWindow(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { switch(msg) { case WM_CHAR: ((ICQMSGDIALOG *) WinQueryWindowPtr(hwnd,0))->idleSeconds = 0; return icqFrameWindow(hwnd, msg, mp1, mp2); case WM_CREATE: icqskin_cfgWindow(hwnd,ICQMSGDIALOG,0); break; case WMICQ_CREATECHILDS: CHKPoint(); icqskin_setMsgWindowChilds(hwnd,childlist); CHKPoint(); break; case WMICQ_LOADSKIN: icqFrameWindow(hwnd, msg, mp1, mp2); WinSendMsg(hwnd,WMICQ_SKINCHILDS,mp1,mp2); break; case WM_CONTROL: control(hwnd,SHORT1FROMMP(mp1),SHORT2FROMMP(mp1),mp2); break; case WM_SIZE: resize(hwnd,SHORT1FROMMP(mp2),SHORT2FROMMP(mp2)); return icqFrameWindow(hwnd, msg, mp1, mp2); case WM_DESTROY: destroy(hwnd); return icqFrameWindow(hwnd, msg, mp1, mp2); case WM_USER+10: WinInvalidateRect(hwnd,NULL,TRUE); break; case WMICQ_SETMSGCHILD: configure(hwnd, (const MSGCHILD *) mp1, SHORT1FROMMP(mp2)); break; case WMICQ_SIZEMSGBOX: return (MRESULT) resizeUserInfo(hwnd,SHORT1FROMMP(mp1),SHORT2FROMMP(mp1)); case WMICQ_SIZEBUTTONS: return (MRESULT) sizeButtonBar(hwnd,SHORT1FROMMP(mp1),SHORT2FROMMP(mp1),(const USHORT *) mp2); default: return icqFrameWindow(hwnd, msg, mp1, mp2); } return 0; }
int OS2Loop::getMod( MPARAM mp ) const { int mod = EvtInput::kModNone; if( SHORT2FROMMP( mp ) & KC_CTRL ) mod |= EvtInput::kModCtrl; if( SHORT2FROMMP( mp ) & KC_SHIFT ) mod |= EvtInput::kModShift; return mod; }
MRESULT EXPENTRY wpNBFrame( HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2 ) { switch( msg ) { case WM_CONTROL: if( ControlMsg( hwnd, SHORT1FROMMP( mp1 ), SHORT2FROMMP( mp1 ), mp2 ) ) return 0; else break; // You need to process the SC_CLOSE WM_SYSCOMMAND message instead of // WM_CLOSE when working with frame windows. case WM_SYSCOMMAND: if( SHORT1FROMMP( mp1 ) == SC_CLOSE ) { WinDestroyWindow( hwnd ); // Don't let the WM_QUIT message through return 0; } break; // The Notebook prevents the Accelerator key processing from working // correctly so we must do another kludge. Here we close the window if // the user hit the F3 key. case WM_TRANSLATEACCEL: { PQMSG pQmsg = (PQMSG) mp1; USHORT fsFlags = SHORT1FROMMP( pQmsg->mp1 ); if( !(fsFlags & (KC_CTRL | KC_SHIFT | KC_ALT | KC_CHAR)) && (fsFlags & KC_KEYUP) && (SHORT2FROMMP( pQmsg->mp2 ) == VK_F3) ) { WinDestroyWindow( hwnd ); return (MRESULT) TRUE; } else return FALSE; } case WM_DESTROY: FreeResources(); break; } return pfnwpFrame( hwnd, msg, mp1, mp2 ); }
/*--------------------------------------------------------------------------- FindWndProc ---------------------------------------------------------------------------*/ MRESULT EXPENTRY FindWndProc( HWND wnd, ULONG msg, MPARAM mp1, MPARAM mp2 ) { MRESULT MRes; HWND entryfield; switch (msg) { case WM_INITDLG: PositionDialog( wnd ); entryfield = WinWindowFromID( wnd, ID_FINDENTRY ); WinSendMsg( entryfield, EM_SETTEXTLIMIT, MPFROMSHORT( sizeof FindDat.text - 1 ), 0 ); WinSetDlgItemText( wnd, ID_FINDENTRY, FindDat.text ); WinSendMsg( entryfield, EM_SETSEL, MPFROM2SHORT( 0, sizeof FindDat.text ), 0 ); MRes = MRFROMSHORT( FALSE ); break; case WM_CHAR: if (SHORT2FROMMP( mp2 ) == VK_NEWLINE) { WinQueryDlgItemText( wnd, ID_FINDENTRY, sizeof FindDat.text - 1, FindDat.text ); FindDat.sense = WinQueryButtonCheckstate( wnd, ID_FINDCHECK ); WinDismissDlg( wnd, 0 ); } default: MRes = WinDefDlgProc( wnd, msg, mp1, mp2 ); break; } return MRes; }
MRESULT EXPENTRY wpCTTrack(HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) { switch(msg) { case WM_CHAR: { SHORT fsflags = SHORT1FROMMP(mp1); SHORT usvkey = SHORT2FROMMP(mp2); if(fsflags & KC_KEYUP) break; if((fsflags & KC_SHIFT) && (usvkey == VK_F10)) { RECORDCORE *record; record = searchRecords(hwnd, 0, (RECORDCORE *) CMA_FIRST, CRA_SELECTED); processPopUp(WinQueryWindow(hwnd, QW_PARENT), WinQueryWindowUShort(hwnd,QWS_ID), record, PUM_CDRECORD, PUM_CDCONTAINER, &sourceEmphasisInfo); WinSendMsg(sourceEmphasisInfo.PUMHwnd, MM_SETITEMATTR, MPFROM2SHORT(IDM_MINIICONS, FALSE), MPFROM2SHORT(MIA_CHECKED, miniIcons ? MIA_CHECKED : 0)); return 0; } else if((fsflags & KC_SHIFT) && (usvkey == VK_F9)) { CNREDITDATA editdata; CNRINFO cnrInfo; WinSendMsg(hwnd,CM_QUERYCNRINFO, MPFROMP(&cnrInfo),MPFROMLONG(sizeof(cnrInfo))); editdata.cb = sizeof(editdata); editdata.hwndCnr = hwnd; editdata.pRecord = searchRecords(hwnd, 0, (RECORDCORE *) CMA_FIRST, CRA_CURSORED); editdata.ppszText = NULL; editdata.cbText = 0; if(cnrInfo.flWindowAttr & CV_DETAIL) { editdata.pFieldInfo = (FIELDINFO*) WinSendMsg(hwnd, CM_QUERYDETAILFIELDINFO, MPFROMP(NULL), MPFROMSHORT(CMA_FIRST)); editdata.pFieldInfo = (FIELDINFO*) WinSendMsg(hwnd, CM_QUERYDETAILFIELDINFO, MPFROMP(editdata.pFieldInfo), MPFROMSHORT(CMA_NEXT)); editdata.id = CID_LEFTDVWND; } else { editdata.pFieldInfo = NULL; editdata.id = WinQueryWindowUShort(hwnd,QWS_ID); } WinSendMsg(hwnd,CM_OPENEDIT,MPFROMP(&editdata),0); return 0; } break; } } return wpCT( hwnd, msg, mp1, mp2 ); }
BOOL WgtControl( PXCENTERWIDGET pWidget, MPARAM mp1, MPARAM mp2 ) { BOOL brc = FALSE; USHORT usID = SHORT1FROMMP(mp1), usNotifyCode = SHORT2FROMMP(mp1); // is this from the XCenter client? if( usID == ID_XCENTER_CLIENT ) { // yes: switch( usNotifyCode ) { /* * XN_QUERYSIZE: * XCenter wants to know our size. */ case XN_QUERYSIZE: { PSIZEL pszl = (PSIZEL)mp2; pszl->cx = WinQuerySysValue( HWND_DESKTOP, SV_CXICON ) / 2 + 6; pszl->cy = WinQuerySysValue( HWND_DESKTOP, SV_CYICON ) / 2 + 6; brc = TRUE; break; } } } return brc; }
MRESULT mainwmControl( HWND hwnd, MPARAM mp1, MPARAM mp2 ) { switch (SHORT1FROMMP(mp1)) { case ID_HMLE: switch (SHORT2FROMMP(mp1)) { case HMLN_KILLFOCUS: break; case HMLN_SETFOCUS: break; case HMLN_CHANGED: WinInvalidateRect(hwnd,NULL,FALSE); break; case HMLN_OVERFLOW: printf("Overflow!\n"); break; default: break; } // switch Notification break; } // switch Control return MRFROMLONG(0L); }
static BOOL DrawItem(PATTRIBSELECTDATA pWinData, POWNERITEM pOwnerItem) { if (pOwnerItem->idItem == VDA_ITEM) { int iItem; ULONG ulMask; iItem = (SHORT1FROMMP(pOwnerItem->hItem)-1) * 8+ (SHORT2FROMMP(pOwnerItem->hItem)-1); ulMask = 1UL << iItem; if ((pWinData->ulAttrib & ulMask) && (pWinData->ulAttribMask & ulMask)) { /* gesetzt */ WinDrawText(pOwnerItem->hps, -1, AttribText[iItem], &pOwnerItem->rclItem, CLR_WHITE, CLR_RED, DT_CENTER | DT_VCENTER | DT_ERASERECT); return TRUE; } else return FALSE; } else return FALSE; }
USHORT kbdKeyTranslate( PQMSG pQmsg ) { USHORT fsFlags = SHORT1FROMMP( pQmsg->mp1 ); //UCHAR ucRepeat = CHAR3FROMMP( pQmsg->mp1 ); UCHAR ucScancode = CHAR4FROMMP( pQmsg->mp1 ); USHORT usCh = SHORT1FROMMP( pQmsg->mp2 ); USHORT usVk = SHORT2FROMMP( pQmsg->mp2 ); if( ucScancode < 54 ) { BOOL shiftOn = ( fsFlags & KC_SHIFT ) ? TRUE : FALSE; UCHAR uch = kbdKeyTransTable[ ucScancode ][ shiftOn ]; if( uch != 0 ) { uch = ( shiftOn ^ isCapsLockOn()) ? toupper( uch ) : tolower( uch ); usCh = MAKEUSHORT( uch, 0 ); //pQmsg->mp1 = MPFROMSH2CH( fsFlags, ucRepeat, ucScancode ); pQmsg->mp2 = MPFROM2SHORT( usCh, usVk ); } } return usCh; }
MRESULT MainSize(HWND hwnd, /* handle to the main client window */ SHORT sTotalMsgs, MPARAM mp1, /* first parameter of WM_SIZE message */ MPARAM mp2) /* second parameter of WM_SIZE message */ { cxClient = SHORT1FROMMP (mp2) ; cyClient = SHORT2FROMMP (mp2) ; sHscrollMax = max (0, cxTextTotal - cxClient) ; sHscrollPos = min (sHscrollPos, sHscrollMax) ; WinSendMsg (hwndHscroll, SBM_SETSCROLLBAR, MPFROM2SHORT (sHscrollPos, 0), MPFROM2SHORT (0, sHscrollMax)) ; WinEnableWindow (hwndHscroll, (BOOL)((sHscrollMax != 0) ? TRUE : FALSE)) ; sVscrollMax = max (0, sTotalMsgs - cyClient / cyChar) ; sVscrollPos = min (sVscrollPos, sVscrollMax) ; WinSendMsg (hwndVscroll, SBM_SETSCROLLBAR, MPFROM2SHORT (sVscrollPos, 0), MPFROM2SHORT (0, sVscrollMax)) ; WinEnableWindow (hwndVscroll, (BOOL)((sVscrollMax != 0) ? TRUE : FALSE)) ; return (MRFROMLONG(0)); }
extern MRESULT EXPENTRY ComboBox_Processor ( HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2 ) { static PWINDOWPROC DefaultProcessor = 0 ; switch ( msg ) { case WM_CREATE: { CLASSINFO ClassInfo ; WinQueryClassInfo ( WinQueryAnchorBlock(hwnd), WC_COMBOBOX, &ClassInfo ) ; DefaultProcessor = ClassInfo.pfnWindowProc ; MRESULT Result = DefaultProcessor ( hwnd, msg, mp1, mp2 ) ; HWND Entryfield = WinWindowFromID ( hwnd, CBID_EDIT ) ; ULONG Style = WinQueryWindowULong ( hwnd, QWL_STYLE ) ; if ( Style & CBS_DROPDOWNLIST ) { OldComboEntry_Processor1 = WinSubclassWindow ( Entryfield, ComboEntry_Processor1 ) ; } else { OldComboEntry_Processor2 = WinSubclassWindow ( Entryfield, ComboEntry_Processor2 ) ; } /* endif */ return ( Result ) ; } case WM_CONTROL: { USHORT Id = WinQueryWindowUShort ( hwnd, QWS_ID ) ; SHORT Control = SHORT1FROMMP ( mp1 ) ; SHORT Message = SHORT2FROMMP ( mp1 ) ; switch ( Control ) { case CBID_EDIT: { switch ( Message ) { case EN_SETFOCUS: { Sys_SendMessage( OWNER(hwnd), WM_CONTROL, MPFROM2SHORT(Id,CBN_SETFOCUS), 0 ) ; break; } case EN_KILLFOCUS: { Sys_SendMessage( OWNER(hwnd), WM_CONTROL, MPFROM2SHORT(Id,CBN_KILLFOCUS), 0 ) ; break; } } /* endswitch */ break; } case CBID_LIST: { switch ( Message ) { case LN_SETFOCUS: { Sys_SendMessage( OWNER(hwnd), WM_CONTROL, MPFROM2SHORT(Id,CBN_SETFOCUS), 0 ) ; break; } case LN_KILLFOCUS: { Sys_SendMessage( OWNER(hwnd), WM_CONTROL, MPFROM2SHORT(Id,CBN_KILLFOCUS), 0 ) ; break; } } /* endswitch */ break; } } /* endswitch */ break; } case WM_MEASUREITEM: return ( Sys_SendMessage( OWNER(hwnd), msg, mp1, mp2 ) ) ; case WM_DRAWITEM: return ( Sys_SendMessage( OWNER(hwnd), msg, mp1, mp2 ) ) ; } /* endswitch */ return ( DefaultProcessor ? DefaultProcessor ( hwnd, msg, mp1, mp2 ) : 0 ) ; }
void wxTextEntry::GetSelection(long *from, long *to) const { long dwPos; dwPos = (long)::WinSendMsg(GetEditHwnd(), EM_QUERYSEL, 0, 0); if ( from ) *from = SHORT1FROMMP((MPARAM)dwPos); if ( to ) *to = SHORT2FROMMP((MPARAM)dwPos); }
/* ** dialog to set read/write timeouts */ MRESULT EXPENTRY fnwpHdwTimeoutDlg(HWND hwnd,USHORT msg,MPARAM mp1,MPARAM mp2) { static DCB stComDCB; static bAllowClick; static COMCTL *pstComCtl; switch (msg) { case WM_INITDLG: // CenterDlgBox(hwnd); // WinSetFocus(HWND_DESKTOP,hwnd); bAllowClick = FALSE; pstComCtl = PVOIDFROMMP(mp2); if (GetDCB(pstComCtl->pstIOctl,pstComCtl->hCom,&stComDCB)) { WinDismissDlg(hwnd,FALSE); return(FALSE); } if (pstComCtl->pszPortName != NULL) WinSetWindowText(hwnd,pstComCtl->pszPortName); WinPostMsg(hwnd,UM_INITLS,(MPARAM)0L,(MPARAM)0L); break; case UM_INITLS: FillHdwTimeoutDlg(hwnd,&stComDCB); bAllowClick = TRUE; break; case WM_CONTROL: if (SHORT2FROMMP(mp1) == BN_CLICKED) if (bAllowClick) if (!TCHdwTimeoutDlg(hwnd,SHORT1FROMMP(mp1))) return(FALSE); break; case WM_COMMAND: switch(SHORT1FROMMP(mp1)) { case DID_OK: UnloadHdwTimeoutDlg(hwnd,&stComDCB); SendDCB(pstComCtl->pstIOctl,pstComCtl->hCom,&stComDCB); WinDismissDlg(hwnd,TRUE); break; case DID_CANCEL: WinDismissDlg(hwnd,FALSE); break; case DID_HELP: DisplayHelpPanel(pstComCtl); break; default: return WinDefDlgProc(hwnd,msg,mp1,mp2); } break; default: return(WinDefDlgProc(hwnd,msg,mp1,mp2)); } return FALSE; }
BOOL ValueSample::OCommand(ULONG msg, MPARAM mp1, MPARAM mp2) { switch(msg) { case WM_CONTROL: switch(SHORT2FROMMP(mp1)) { case VN_SELECT: case VN_ENTER: { OString Notification; CHAR pszTmp[5]; VSet.querySelected(); if ((SHORT2FROMMP(mp1)) == VN_SELECT) Notification << OString(STR_VN_SELECT, NULLHANDLE); else Notification << OString(STR_VN_ENTER, NULLHANDLE); _itoa(VSet.selected.row, pszTmp, 10); Notification + pszTmp; Notification + " Column "; _itoa(VSet.selected.col, pszTmp, 10); Notification + pszTmp; WinSetDlgItemText(hwnd, VALUE_STATUS, Notification); break; }} break; case WM_COMMAND: WinSendMsg(hwnd, WM_CLOSE, NULL, NULL); break; case WM_CLOSE: hideDlg(); forceQuit(); break; default: return(FALSE); } return(TRUE); #ifdef __BCPLUSPLUS__ #pragma warn -par #endif }
MRESULT SetRightVolume(USHORT DevID, MPARAM mp1, MPARAM mp2) { USHORT NewVolume, VolumeScaled; BOOL bResult; if ( ( SHORT2FROMMP(mp1) == SLN_CHANGE || SHORT2FROMMP(mp1) == SLN_SLIDERTRACK ) && ! SliderSet ) { NewVolume = SHORT1FROMMR(WinSendMsg(hwndVolumeRight, SLM_QUERYSLIDERINFO, MPFROM2SHORT(SMA_SLIDERARMPOSITION, SMA_RANGEVALUE), NULL)); if ( NewVolume != OldVolRight ) { VolumeScaled = ScaleValue(NewVolume, VolSliderPixels-1, 100); if ( ! VolChannelIndependent ) { CurrVolLeft = VolumeScaled; CurrVolRight = VolumeScaled; OldVolLeft = OldVolRight = NewVolume; SliderSet = TRUE; WinSendMsg(hwndVolumeLeft, SLM_SETSLIDERINFO, MPFROM2SHORT(SMA_SLIDERARMPOSITION, SMA_RANGEVALUE), MPFROMSHORT(NewVolume)); SliderSet = FALSE; bResult = CDSetVolume(DevID, VolumeScaled, VolumeScaled); // CDOptError(bResult, hwnd, ERR_DEVICE_SETVOLUME); } else { CurrVolRight = VolumeScaled; OldVolRight = NewVolume; bResult = CDSetVolume(DevID, -1, VolumeScaled); // CDOptError(bResult, hwnd, ERR_DEVICE_SETVOLUME); } if ( SaveVolume ) { bResult = CDPrfSaveVolume(CurrVolLeft, CurrVolRight); } } } return NULL; }
MRESULT __CPP_EXPORT__ EXPENTRY OWinDefDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { switch(msg) { case WM_INITDLG: if (!mp2) return(MRESULT(TRUE)); WinSetWindowULong(hwnd, QWL_USER, (ULONG)mp2); if (!OApp::OCMDTrace(hwnd, msg, mp1, mp2)) return(WinDefDlgProc(hwnd, msg, mp1, mp2)); break; case DM_DRAGOVER: if (OApp::OCMDTrace(hwnd, msg, mp1, mp2)) return(MPFROM2SHORT(DOR_DROP, DO_UNKNOWN)); else return(MPFROM2SHORT(DOR_NODROP, DO_UNKNOWN)); case WM_CONTROL: if(SHORT2FROMMP(mp1) == CN_DRAGOVER) { if (OApp::OCMDTrace(hwnd, msg, mp1, mp2)) return(MPFROM2SHORT(DOR_DROP, DO_UNKNOWN)); else return(MPFROM2SHORT(DOR_NODROP, DO_UNKNOWN)); } else if (!OApp::OCMDTrace(hwnd, msg, mp1, mp2)) return(WinDefWindowProc(hwnd, msg, mp1, mp2)); break; case WM_HITTEST: if (!OApp::OCMDTrace(hwnd, msg, mp1, mp2)) return(WinDefWindowProc(hwnd, msg, mp1, mp2)); else return(MPFROMSHORT(HT_NORMAL)); case WM_DRAWITEM: return(MRESULT(OApp::OCMDTrace(hwnd, msg, mp1, mp2))); case WM_CLOSE: case WM_DESTROY: { BOOL dispatched = OApp::OCMDTrace(hwnd, msg, mp1, mp2); WinSetWindowULong(hwnd, QWL_USER, (ULONG)OApp::currentOApp->NullHandler()); if (!dispatched) return(WinDefWindowProc(hwnd, msg, mp1, mp2)); break; } default: if (!OApp::OCMDTrace(hwnd, msg, mp1, mp2)) return(WinDefDlgProc(hwnd, msg, mp1, mp2)); break; } return(MRESULT(FALSE)); }
MRESULT hchlb_umSearchHch( HWND hwnd, MPARAM mp1, MPARAM mp2 ) { PHCHLB hchlb = WinQueryWindowPtr( hwnd, 0 ); SHORT cmd = SHORT1FROMMP( mp1 ); SHORT index = SHORT2FROMMP( mp1 ); HANCHAR hch = SHORT1FROMMP( mp2 ); if( hchlb == NULL ) return MRFROMLONG( HCHLIT_ERROR); return MRFROMLONG( HCHColSearchHch( hchlb->hchCol, cmd, index, hch )); }
MRESULT EXPENTRY FileDialogProc( HWND hwndDlg, ULONG msg, MPARAM mp1, MPARAM mp2) { MRESULT mr; PFILEDLG pfiledlg; HWND hwndTypeCombo; INT i; SWP swp; PMYDATA pmydata; switch ( msg ) { case WM_INITDLG: /* Create another dropdown that we manage */ mr = WinDefFileDlgProc(hwndDlg, msg, mp1, mp2); hwndTypeCombo = WinWindowFromID(hwndDlg, DID_FILTER_CB); WinQueryWindowPos(hwndTypeCombo, &swp); WinSetWindowPos(hwndTypeCombo, NULLHANDLE, 0, 0, 0, 0, SWP_HIDE); hwndTypeCombo = WinCreateWindow( hwndDlg, WC_COMBOBOX, "", WS_VISIBLE | WS_PARENTCLIP | WS_SYNCPAINT | WS_TABSTOP | CBS_DROPDOWNLIST, swp.x, swp.y, swp.cx, swp.cy, hwndDlg, swp.hwndInsertBehind, 290, NULL, NULL ); WinSendMsg( hwndTypeCombo, LM_DELETEALL, (MPARAM)0, (MPARAM)0 ); pfiledlg = (PFILEDLG)WinQueryWindowULong( hwndDlg, QWL_USER ); pmydata = (PMYDATA)pfiledlg->ulUser; i = 0; while (*(pfiledlg->papszITypeList[i]) != NULL) { WinSendMsg( hwndTypeCombo, LM_INSERTITEM, (MPARAM)LIT_END, (MPARAM)*(pfiledlg->papszITypeList[i]) ); i++; } WinSendMsg( hwndTypeCombo, LM_SELECTITEM, (MPARAM)pmydata->ulCurExt, (MPARAM)TRUE ); return mr; case WM_CONTROL: { if ((SHORT1FROMMP(mp1) == 290) && (SHORT2FROMMP(mp1) == CBN_LBSELECT)) { hwndTypeCombo = WinWindowFromID(hwndDlg, 290); pfiledlg = (PFILEDLG)WinQueryWindowULong( hwndDlg, QWL_USER ); pmydata = (PMYDATA)pfiledlg->ulUser; pmydata->ulCurExt = (ULONG)WinSendMsg( hwndTypeCombo, LM_QUERYSELECTION, (MPARAM)LIT_FIRST, (MPARAM)0 ); if (pfiledlg->fl & FDS_OPEN_DIALOG) { WinSetWindowText(WinWindowFromID(hwndDlg,DID_FILENAME_ED), *(pmydata->papszIFilterList[pmydata->ulCurExt])); WinSendMsg(WinWindowFromID(hwndDlg,DID_FILENAME_ED), EM_SETSEL, MPFROM2SHORT(0, 32000), (MPARAM)0 ); WinSendMsg(hwndDlg, WM_CONTROL, MPFROM2SHORT(DID_FILTER_CB, CBN_LBSELECT), (MPARAM)0 ); } return (MRESULT)TRUE; } } break; } return WinDefFileDlgProc(hwndDlg, msg, mp1, mp2); }
MRESULT MuteVolume(USHORT DevID, MPARAM mp1, MPARAM mp2) { BOOL bResult; if ( SHORT2FROMMP(mp1) == GBN_BUTTONDOWN ) { bResult = CDMuteVolume(DevID, TRUE); // CDOptError(bResult, hwnd, ERR_DEVICE_MUTEVOLUME); WinSendMsg(MainMenu, MM_SETITEMTEXT, MPFROMSHORT(ID_MUTE), MPFROMP(MuteOnText)); WinSendMsg(sysSubmenu, MM_SETITEMTEXT, MPFROMSHORT(ID_MUTE), MPFROMP(MuteOnText)); } else if ( SHORT2FROMMP(mp1) == GBN_BUTTONUP ) { bResult = CDMuteVolume(DevID, FALSE); // CDOptError(bResult, hwnd, ERR_DEVICE_MUTEVOLUME); WinSendMsg(MainMenu, MM_SETITEMTEXT, MPFROMSHORT(ID_MUTE), MPFROMP(MuteOffText)); WinSendMsg(sysSubmenu, MM_SETITEMTEXT, MPFROMSHORT(ID_MUTE), MPFROMP(MuteOffText)); } return NULL; }
void mmMCINotify(HWND hWnd, MPARAM mp1, MPARAM mp2) { USHORT usNotifyCode = SHORT1FROMMP(mp1); USHORT usUserParam = SHORT2FROMMP(mp1); switch(SHORT2FROMMP(mp2)) { case MCI_PLAY: switch(usNotifyCode) { case MCI_NOTIFY_SUCCESSFUL: switch(usUserParam) { /* Normal play completed */ case MMUP_PLAY: PlayCompleted(hWnd); break; } break; } break; } }
MRESULT EXPENTRY SelDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { static PPREF_SEL psel; switch (msg) { case WM_INITDLG: psel = (PPREF_SEL)PVOIDFROMMP(mp2); InitSelectionPage(hwnd, psel); break; case WM_CONTROL: if (SHORT1FROMMP(mp1) == CBOX_EXT_SEL && SHORT2FROMMP(mp1) == BN_CLICKED) { WinEnableControl(hwnd, CBOX_SEL_ALL_INDIR, WinQueryButtonCheckstate(hwnd, CBOX_EXT_SEL)); } else if (SHORT1FROMMP(mp1) == CBOX_FILE_WIN && SHORT2FROMMP(mp1) == BN_CLICKED) { WinEnableControl(hwnd, CBOX_ONLY_DIR, WinQueryButtonCheckstate(hwnd, CBOX_FILE_WIN)); } /* endif */ break; case WM_COMMAND: switch (LOUSHORT(mp1)) { case BTTN_UNDO: InitSelectionPage(hwnd, psel); break; case BTTN_DEFAULT: SetSelectionDefault(hwnd); break; default: break; } /* endswitch */ break; default: return WinDefDlgProc(hwnd, msg, mp1, mp2); break; } /* endswitch */ return (MRESULT) FALSE; }
MRESULT clbControl(PCLBOX pclb, MPARAM mp1, PUSERBUTTON pub) { switch (SHORT1FROMMP(mp1)) { case FID_CAPTION: // click sulla checkbox cambia stato abilitazione altri componenti if ((pclb->fl & CLBXS_CHECK) && (SHORT2FROMMP(mp1) == BN_CLICKED || SHORT2FROMMP(mp1) == BN_DBLCLICKED)) { pclb->is.chkon = ((BOOL)pclb->pfbtn(pclb->hchk, BM_QUERYCHECK, MPVOID, MPVOID))? 1: 0; WinEnableWindow(pclb->hlbx, pclb->is.chkon); WinEnableWindow(pclb->hentry, pclb->is.chkon); WinEnableWindow(pclb->hadd, pclb->is.chkon & pclb->is.addon); WinEnableWindow(pclb->hrem, pclb->is.chkon & pclb->is.remon); WinEnableWindow(pclb->hfind, pclb->is.chkon); WinSendMsg(WinQueryWindow(pclb->hwnd, QW_OWNER), WM_CONTROL, MPFROM2SHORT(pclb->id, CLBXN_CHECK), (MPARAM)pclb->is.chkon); } /* endif */ break; case FID_LIST: clbControlLboxMsg(pclb, SHORT2FROMMP(mp1)); break; case FID_ENTRY: clbControlEntryMsg(pclb, SHORT2FROMMP(mp1)); break; case FID_ADD: if (SHORT2FROMMP(mp1) == BN_PAINT) { WdrawBtnBkgnd(pub, pclb->csdbtn, pclb->csdbtn, pclb->lbkgnd); drawAdd(pub, pclb->csdbtn); if (pub->fsState & BDS_DISABLED) drawDisBtn(pub, pclb->csdbtn, pclb->lbkgnd); } /* endif */ break; case FID_REMOVE: if (SHORT2FROMMP(mp1) == BN_PAINT) { WdrawBtnBkgnd(pub, pclb->csdbtn, pclb->csdbtn, pclb->lbkgnd); drawRem(pub, pclb->csdbtn); if (pub->fsState & BDS_DISABLED) drawDisBtn(pub, pclb->csdbtn, pclb->lbkgnd); } /* endif */ break; case FID_FIND: if (SHORT2FROMMP(mp1) == BN_PAINT) { WdrawBtnBkgnd(pub, pclb->csdbtn, pclb->csdbtn, pclb->lbkgnd); drawFind(pub, pclb->csdbtn); if (pub->fsState & BDS_DISABLED) drawDisBtn(pub, pclb->csdbtn, pclb->lbkgnd); } /* endif */ break; } /* endswitch */ return (MRESULT)FALSE; }
MRESULT EXPENTRY stlrButtonProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { if (msg == WM_MOUSEMOVE) { if (g.is.onctrl != OCTLBTN) { g.is.onctrl = OCTLBTN; _resetHideMouTimer(); } /* endif */ } else if (msg == o.txt.skipcpy) { // non fa intercettare alla procedura di default il WM_BUTTONxDOWN // corrispondente ad evento selezionato per copia nella clipboard if ((SHORT2FROMMP(mp2) == o.txt.cpyMoukbd) && pd.ppib && !pd.we.txtctl && !o.gen.disabled && o.txt.on && o.txt.btn) return (MRESULT)FALSE; } else if (msg == o.txt.cpyMoumsg) { if ((SHORT2FROMMP(mp2) == o.txt.cpyMoukbd) && pd.ppib && !pd.we.txtctl && !o.gen.disabled && o.txt.on && o.txt.btn) { winTextToClipboard(hwnd); return (MRESULT)TRUE; } /* endif */ } /* endif */ defaultproc: return (MRESULT)g.cd.btn.pfnwp(hwnd, msg, mp1, mp2); }
SOM_Scope MRESULT SOMLINK VRIconButtonInstance_vrWM_CONTROL(VRIconButton *somSelf, HWND hWnd, ULONG msg, MPARAM mp1, MPARAM mp2) { VRIconButtonData *somThis = VRIconButtonGetData(somSelf); VRIconButtonMethodDebug("VRIconButton","VRIconButtonInstance_vrWM_CONTROL"); if ( SHORT2FROMMP( mp1 ) == BN_PAINT ) { PaintButton( somSelf, (PUSERBUTTON) mp2 ); } return (MRESULT) 0; }
MRESULT khs_umStoreKeyInfo( HWND hwnd, MPARAM mp1, MPARAM mp2 ) { PKHSCD pkhscd = WinQueryWindowPtr( hwnd, 0 ); USHORT fsFlags = SHORT1FROMMP( mp1 ); UCHAR ucRepeat = CHAR3FROMMP( mp1 ); UCHAR ucScancode = CHAR4FROMMP( mp1 ); USHORT usCh = SHORT1FROMMP( mp2 ); USHORT usVk = SHORT2FROMMP( mp2 ); fprintf( pkhscd->fp, "fl : %04X, rp : %02d, sc : %02X, ch : %02X, vk : %02X\n", fsFlags, ucRepeat, ucScancode, usCh, usVk ); fflush( pkhscd->fp ); return 0; }
MRESULT MainVertScroll(HWND hwnd, /* handle to the main client window */ MPARAM mp2) { LONG sVscrollInc; switch (SHORT2FROMMP (mp2)) { case SB_LINEUP: sVscrollInc = -1 ; break ; case SB_LINEDOWN: sVscrollInc = 1 ; break ; case SB_PAGEUP: sVscrollInc = min (-1, -cyClient / cyChar) ; break ; case SB_PAGEDOWN: sVscrollInc = max (1, cyClient / cyChar) ; break ; case SB_SLIDERTRACK: sVscrollInc = SHORT1FROMMP (mp2) - sVscrollPos; break ; default: sVscrollInc = 0; break ; } sVscrollInc = max (-sVscrollPos, min (sVscrollInc, sVscrollMax - sVscrollPos)) ; if (sVscrollInc != 0) { sVscrollPos += sVscrollInc ; WinScrollWindow ((HWND)hwnd, 0, (cyChar * sVscrollInc), (PRECTL)NULL, (PRECTL)NULL, (HRGN)NULL, (PRECTL)NULL, SW_INVALIDATERGN); WinSendMsg (hwndVscroll, SBM_SETPOS, MPFROMSHORT (sVscrollPos), MPVOID) ; WinUpdateWindow (hwnd) ; } return (MRFROMLONG(0)); }
MRESULT EXPENTRY ClientWndProc (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { static INT cxClient, cyClient ; static LONG alJoin [] = { LINEJOIN_BEVEL, LINEJOIN_ROUND, LINEJOIN_MITRE }, alEnd [] = { LINEEND_FLAT, LINEEND_SQUARE, LINEEND_ROUND } ; HPS hps ; INT i ; switch (msg) { case WM_SIZE: cxClient = SHORT1FROMMP (mp2) ; cyClient = SHORT2FROMMP (mp2) ; return 0 ; case WM_PAINT: hps = WinBeginPaint (hwnd, NULLHANDLE, NULL) ; GpiErase (hps) ; for (i = 0 ; i < 3 ; i++) { // Draw the geometric line GpiSetLineJoin (hps, alJoin [i]) ; GpiSetLineEnd (hps, alEnd [i]) ; GpiSetLineWidthGeom (hps, cxClient / 20) ; GpiSetColor (hps, CLR_DARKGRAY) ; GpiBeginPath (hps, 1) ; DrawFigure (hps, i, cxClient, cyClient) ; GpiEndPath (hps) ; GpiStrokePath (hps, 1, 0) ; // Draw the cosmetic line GpiSetLineWidth (hps, LINEWIDTH_THICK) ; GpiSetColor (hps, CLR_BLACK) ; DrawFigure (hps, i, cxClient, cyClient) ; } WinEndPaint (hps) ; return 0 ; } return WinDefWindowProc (hwnd, msg, mp1, mp2) ; }