DEFINE CLASS cmdXClass as cmdSplitterClass && ====================== PROCEDURE MouseMove (nButton, nShift, nXCoord, nYCoord) WITH this .mousepointer=IIF(nXCoord<.left-1 or nXCoord>.left+2,0,9) cmdSplitterClass::MouseMove (nButton, nShift, nXCoord, nYCoord,1) ENDWITH ENDPROC &&MouseMove (nButton, nShift, nXCoord, nYCoord) ENDDEFINE && cmdXClass as cmdSplitterClass && ====================== DEFINE CLASS cmdYClass as cmdSplitterClass && ====================== PROCEDURE MouseMove (nButton, nShift, nXCoord, nYCoord) WITH this .mousepointer=IIF(nYCoord<.top-1 or nYCoord>.top+2,0,7) cmdSplitterClass::MouseMove (nButton, nShift, nXCoord, nYCoord,2) ENDWITH ENDPROC &&MouseMove (nButton, nShift, nXCoord, nYCoord) ENDDEFINE && cmdYClass as cmdSplitterClass && ====================== DEFINE CLASS cmdXYClass as cmdSplitterClass && ===================== PROCEDURE MouseMove (nButton, nShift, nXCoord, nYCoord) WITH this .mousepointer=IIF(nYCoord<.top-1 OR nYCoord>.top+2 ; OR nXCoord<.left-1 or nXCoord>.left+2,0,5) cmdSplitterClass::MouseMove (nButton, nShift, nXCoord, nYCoord,3) ENDWITH ENDPROC &&MouseMove (nButton, nShift, nXCoord, nYCoord) ENDDEFINE && cmdYClass as cmdSplitterClass && ====================== ******************************************************************** * END SCREEN SPLITTER * ********************************************************************Here all I did is to add 5th parameter to specify direction as a bitmask.
PROCEDURE MouseMove (nButton, nShift, nXCoord, nYCoord,nDirection) WITH this IF thisform.lMoveInProgress IF bittest(m.nDirection,1) nSplitterTop=nYCoord IF nSplitterTop<4 nSplitterTop=4 ELSE IF nSplitterTop>thisform.height-4 nSplitterTop=thisform.height-4 ENDIF ENDIF nSplitterLeft=thisform.cmdXY.left ELSE ENDIF IF bittest(m.nDirection,0) nSplitterLeft=nXCoord IF nSplitterLeft<4 nSplitterLeft=4 ELSE IF nSplitterleft>thisform.width-4 nSplitterLeft=thisform.width-4 ENDIF ENDIF nSplitterTop=IIF(bittest(m.nDirection,1),nSplitterTop,thisform.cmdXY.top) ELSE ENDIFPS: Seeing code here syntax colored, it looks like it is only half of the way. Stilll there is too much dependancy on object existence and names/hierarchy.