lnMinTrackSizeX = loWas.Long2NumFromBuffer(lParam+24) lnMinTrackSizeY = loWas.Long2NumFromBuffer(lParam+28) lnMaxTrackSizeX = loWas.Long2NumFromBuffer(lParam+32) lnMaxTrackSizeY = loWas.Long2NumFromBuffer(lParam+36) ... lnMinTrackSizeX = 200 lnMinTrackSizeY = 200 lnMaxTrackSizeX = 500 lnMaxTrackSizeY = 500 WITH loWas lcNewMinMax = .Num2Long(lnMinTrackSizeX) + ; .Num2Long(lnMinTrackSizeY) + ; .Num2Long(lnMaxTrackSizeX) + ; .Num2Long(lnMaxTrackSizeY) ENDWITH * Copy values back to lParam at offset 24 = SYS(2600, lParam+24, 16, lcNewMinMax) * For testing, retrieve again to verify that they're set correctly lnMinTrackSizeX = loWas.Long2NumFromBuffer(lParam+24) lnMinTrackSizeY = loWas.Long2NumFromBuffer(lParam+28) lnMaxTrackSizeX = loWas.Long2NumFromBuffer(lParam+32) lnMaxTrackSizeY = loWas.Long2NumFromBuffer(lParam+36)>You, my friend, are a wizard. <g> Thank you! That worked like a charm. I should've caught the event bound parameters problem, but I just haven't have to deal with Structures and Pointers enough to be 100% comfortable with them yet.