Greg Haberek - xControls
- Posted by Jonas Temple <jtemple at yhti.net> Nov 11, 2004
- 713 views
Greg, Earlier this month I sent out a message directed to Don Phillips about a problem I was having with xControls and vertical splitters overlapping the status bar. Don appears to be MIA at the moment and since you said you were semi-maintaining xControls I thought I would share this fix. I've got my copy of xControls doing what I "think" it should be doing by appling the following patch into the GM_Manager routine in Geometry.ew:
for index = 1 to length(IDsManaged[parentID]) do attribs = IDsManaged[parentID][index] for index2 = 1 to 4 do if attribs[index2+1][1] <= 1 then newPos[index2] = floor( params[and_bits(or_bits(xor_bits(index2,1),2),3)] * attribs[index2+1][1] ) else newPos[index2] = PrevPlaced[ attribs[index2+1][1] ][ index2+2-(index2>2)*4 ] end if newPos[index2] += attribs[index2+1][2] PrevPlaced[ attribs[1] ][index2] = newPos[index2] end for newPos[5] = newPos[3] - newPos[1] newPos[6] = newPos[4] - newPos[2] -- Beg CJT01 if newPos[6] > Rect[4] then newPos[6] = Rect[4] - 5 end if -- End CJT01 setRect( attribs[1], newPos[1]+Offset[1], newPos[2]+Offset[2], newPos[5], newPos[6], True ) classType = getControlInfo( attribs[1], {CONTROLINFO_class} ) if classType[1] = 2 then -- 2 = COMBO Void = sendMessage( attribs[1], CB_SETDROPPEDWIDTH, newPos[5], 0 ) else end if end for
I've been testing this for a few days and it seems to work. Probably not the best approach to correct the problem, but hey, it works. Jonas Temple http://www.yhti.net/~jktemple