*Grid.dragover LPARAMETERS oSource, nXCoord, nYCoord, nState WITH this IF nState = 0 .setfocus() oSource.dragicon = iif(oSource.lMoveOperation, ; oSource.MoveIcon,oSource.CopyIcon) ENDIF * IF nState = 1 if !(between(nXcoord, .left+2, .left+.width-2) ; and between(nYcoord,.top+2,.top+.height-2)) oSource.dragicon = oSource.NoDropIcon endif * ENDIF nNewRow = int((nYCoord - .headerheight - .top)/.rowheight)+1 IF .scrollbars < 2 ; or nXCoord < .width - sysmetric(5) && Doesn't have vertical scrollbar or not on vertical bar area DO case CASE nYCoord < .top+.headerheight+.rowheight/3 && Top thirds of top row .doscroll(2) && Scroll page up CASE nYCoord > .top+.height-.rowheight/3 && Bottom thirds of bottom row .doscroll(3) && Scroll page down ENDCASE ELSE && On vertical bar area lnVerticalBarEnd = .height - iif(.scrollbars = 3, sysmetric(8), 0) DO case CASE between(nYCoord-.top, 0, sysmetric(6)) && On Top scroll arrow .DoScroll(0) && Scroll up CASE between(nYCoord-.top, ; lnVerticalBarEnd - sysmetric(6), ; lnVerticalBarEnd) && On bottom scroll arrow .DoScroll(1) && Scroll down ENDCASE ENDIF .activatecell(nNewRow,.activecolumn) .DragDropInteractiveChange(oSource, nXCoord, nYCoord, nState) && Interactive works for DD .refresh ENDWITHThis is from a dragdrop grid class, mainly done with purpose dragging from outside of grid onto grid. Implementing this to From inside grid might be more tricky and temporarily placing a transparent shape in front of grid might ease it.