Rafael,

Fijate si esto te sirve...

http://computer-programming-forum.com/2-vfp/a8eae128e73646d4.htm

Saludos,

Pancho
Córdoba


El 12 de septiembre de 2013 14:59, Rafael Copquin
<[email protected]>escribió:

> Puse el siguiente código en una grilla:
>
> ** init event
>
> Local oColumn As Column, oControl
> For Each oColumn In This.Columns
>     For Each oControl In oColumn.Controls
>         If Pemstatus(oControl,'MouseDown'**,5)
>             Bindevent(oControl,'MouseDown'**,This,'MouseDown')
>         EndIf
>     endfor
> EndFor
>
> ** mousedown event
>
> LPARAMETERS nButton, nShift, nXCoord, nYCoord
>
> Local nWhere, nRelRow, nRelCol,cBackColor,cForeColor,**nCol
>
> This.GridHitTest(nXCoord,**nYCoord,@nWhere,@nRelRow,@**nRelCol)
>
> Do case
>    Case nWhere = 3        && celda
>
>     nCol = this.columncount - Abs(m.nRelCol)
>     nCol = Iif(nCol=0,1,nCol)                    && nCol sería 0 si
> hubiera solamente una columna en la grid
>
>     cBackColor = 'this.column'+Alltrim(Str(**nCol))+'.text1.backcolor = '
> +Transform(Rgb(255,0,0))      && rojo
>     cForeColor = 'this.column'+Alltrim(Str(**nCol))+'.text1.forecolor = '
> +Transform(Rgb(255,255,255)) && blanco
>
>     &cBackColor
>     &cForeColor
>
>    Otherwise
> endcase
>
> Este código hace que cada vez que se da click en cualquier celda, ésta se
> torna roja con letras blancas. Sin el código de arriba, al dar click, la
> celda queda "transparente" y no cambia de color.
>
> Sin embargo, si tengo algún código en el evento dblclick del textbox de la
> columna, ese código no se dispara.
> Es como si el mousedown matara al doubleclick
>
> ¿Cómo puedo hacer para que funcionen los dos?
>
> Rafael Copquin
>
>

Responder a