In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Cómo poner un menú en un footer
Cómo poner un menú en un footer
Hola a todos
Estoy intentando que al pulsar el botón izquierdo del ratón en el footer
de una columna del browse me aparezca un menú popup en el lugar donde tengo
el ratón, pero no hay manera, si utilizo los parámetros nposx nposy me lo
manda a la esquina del browse
¿alguna idea?
1 Saludico,
Fredy
Estoy intentando que al pulsar el botón izquierdo del ratón en el footer
de una columna del browse me aparezca un menú popup en el lugar donde tengo
el ratón, pero no hay manera, si utilizo los parámetros nposx nposy me lo
manda a la esquina del browse
¿alguna idea?
1 Saludico,
Fredy
Cómo poner un menú en un footer
Fredy,
mira el método heredado ScreenToClient( @nPosX, @nPosY ).
Saludos,
José Lalín
mira el método heredado ScreenToClient( @nPosX, @nPosY ).
Saludos,
José Lalín
Cómo poner un menú en un footer
Hola!
Si, ese ya lo he mirado, pero es que hay manera de sacar un handle válido
para el footer
1 Saludico,
Fredy
Si, ese ya lo he mirado, pero es que hay manera de sacar un handle válido
para el footer
1 Saludico,
Fredy
Cómo poner un menú en un footer
Fredy,
> Si, ese ya lo he mirado, pero es que hay manera de sacar un handle válido
> para el footer
El oFooter no es más que un objeto THeader así que si necesitas obtener su
manejador: oFooter:Handle
Saludos,
José Lalín
> Si, ese ya lo he mirado, pero es que hay manera de sacar un handle válido
> para el footer
El oFooter no es más que un objeto THeader así que si necesitas obtener su
manejador: oFooter:Handle
Saludos,
José Lalín
Cómo poner un menú en un footer
Fredy,
otra cosa: TControl->TStdControl->THeader, así que con
oFooter:ClientToScreen() no necesitas pasarle el handle puesto que ya lo
obtiene el propio objeto.
Saludos,
José Lalín
otra cosa: TControl->TStdControl->THeader, así que con
oFooter:ClientToScreen() no necesitas pasarle el handle puesto que ya lo
obtiene el propio objeto.
Saludos,
José Lalín
Cómo poner un menú en un footer
Donde pulso es un HeaderITem.
Desde el evento OnFooterClick que es el que estoy tratando, puedo llegar
a ClientToScreen mediante oSender:oFooter:oParent:ClientToScreen(), que sí
que me funciona, pero me da unas coordenadas que no corresponden.
El OnFooterClick me da como oSender un objeto TDBBrwColumn y oSender:oFooter
me da un objeto THeaderITem que hereda de TComponent por lo que para tener
un objeto THeader no me queda más remedio que oSender:oFooter:oParent y las
posiciones que me da creo que son las del THeader con lo cual el menú establece
las coordenadas con el footer de la primera columna.
1 Saludico,
Fredy
Desde el evento OnFooterClick que es el que estoy tratando, puedo llegar
a ClientToScreen mediante oSender:oFooter:oParent:ClientToScreen(), que sí
que me funciona, pero me da unas coordenadas que no corresponden.
El OnFooterClick me da como oSender un objeto TDBBrwColumn y oSender:oFooter
me da un objeto THeaderITem que hereda de TComponent por lo que para tener
un objeto THeader no me queda más remedio que oSender:oFooter:oParent y las
posiciones que me da creo que son las del THeader con lo cual el menú establece
las coordenadas con el footer de la primera columna.
1 Saludico,
Fredy
Cómo poner un menú en un footer
Fredy,
> El OnFooterClick me da como oSender un objeto TDBBrwColumn y
> oSender:oFooter me da un objeto THeaderITem que hereda de TComponent por lo
> que para tener un objeto THeader no me queda más remedio que
> oSender:oFooter:oParent y las posiciones que me da creo que son las del
> THeader con lo cual el menú establece las coordenadas con el footer de la
> primera columna.
Al saber el número de columna en el que haces click, puedes sumar los
anchos de los otros footer para calcular correctamente la posición
horizontal del click.
Saludos,
José Lalín
> El OnFooterClick me da como oSender un objeto TDBBrwColumn y
> oSender:oFooter me da un objeto THeaderITem que hereda de TComponent por lo
> que para tener un objeto THeader no me queda más remedio que
> oSender:oFooter:oParent y las posiciones que me da creo que son las del
> THeader con lo cual el menú establece las coordenadas con el footer de la
> primera columna.
Al saber el número de columna en el que haces click, puedes sumar los
anchos de los otros footer para calcular correctamente la posición
horizontal del click.
Saludos,
José Lalín
- ignacio
- Site Admin
- Mensajes: 9252
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Cómo poner un menú en un footer
Fredy escribió el jue, 19 mayo 2011 21:27Hola a todos
Estoy intentando que al pulsar el botón izquierdo del ratón en el footer
de una columna del browse me aparezca un menú popup en el lugar donde tengo
el ratón, pero no hay manera, si utilizo los parámetros nposx nposy me lo
manda a la esquina del browse
¿alguna idea?
1 Saludico,
Fredy
Te incluyo con este mensaje un sencillo ejemplo.
Un saludo
Attached files fredy-1-0-0-0.zip (2.1 KB)Â
Estoy intentando que al pulsar el botón izquierdo del ratón en el footer
de una columna del browse me aparezca un menú popup en el lugar donde tengo
el ratón, pero no hay manera, si utilizo los parámetros nposx nposy me lo
manda a la esquina del browse
¿alguna idea?
1 Saludico,
Fredy
Te incluyo con este mensaje un sencillo ejemplo.
Un saludo
Attached files fredy-1-0-0-0.zip (2.1 KB)Â
Cómo poner un menú en un footer
Hola,
Sí, eso es lo que buscaba.
¿Se puede hacer con el botón izquierdo?
1 Saludico,
Fredy
Sí, eso es lo que buscaba.
¿Se puede hacer con el botón izquierdo?
1 Saludico,
Fredy
- ignacio
- Site Admin
- Mensajes: 9252
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Cómo poner un menú en un footer
Fredy escribió el vie, 20 mayo 2011 11:23Hola,
Sí, eso es lo que buscaba.
¿Se puede hacer con el botón izquierdo?
1 Saludico,
Fredy
Fredy,
Hemos añadido el soporte del método ShowPopupMenu() en la clase TBrwColumn, por lo que será tan sencillo como:
METHOD ArrayBrowse1Column1FooterClick( oSender, nFlags, nPosX, nPosY ) CLASS TForm1
RETURN oSender:ShowPopupMenu( ::oPopupMenu1, nPosX, nPosY )
Actualmente también lo puedes hacer de la siguiente forma:
oSender:oParent:oFooter:ClientToScreen( @nPosX, @nPosY )
oSender:oParent:ScreenToClient( @nPosX, @nPosY )
oSender:oParent:ShowPopupMenu( ::oPopupMenu1, nPosX, nPosY )
Pero existe un problema adicional (ya resuelto) por el cual nFlags se corresponde con nPosX y nPosY es nPosX. Ten en cuenta que si lo haces ahora de forma manual como te comentó fallará con la nueva actualización.
Un saludo
Sí, eso es lo que buscaba.
¿Se puede hacer con el botón izquierdo?
1 Saludico,
Fredy
Fredy,
Hemos añadido el soporte del método ShowPopupMenu() en la clase TBrwColumn, por lo que será tan sencillo como:
METHOD ArrayBrowse1Column1FooterClick( oSender, nFlags, nPosX, nPosY ) CLASS TForm1
RETURN oSender:ShowPopupMenu( ::oPopupMenu1, nPosX, nPosY )
Actualmente también lo puedes hacer de la siguiente forma:
oSender:oParent:oFooter:ClientToScreen( @nPosX, @nPosY )
oSender:oParent:ScreenToClient( @nPosX, @nPosY )
oSender:oParent:ShowPopupMenu( ::oPopupMenu1, nPosX, nPosY )
Pero existe un problema adicional (ya resuelto) por el cual nFlags se corresponde con nPosX y nPosY es nPosX. Ten en cuenta que si lo haces ahora de forma manual como te comentó fallará con la nueva actualización.
Un saludo