Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-12-2006
Avatar de GaaK
GaaK GaaK is offline
Miembro
 
Registrado: oct 2005
Ubicación: Trujillo - Peru
Posts: 31
Poder: 0
GaaK Va por buen camino
RadioButton & OnDblClick [RadioGroup]

Hola, tengo la siguiente duda:

Tengo un RadioGroup vacío y en tiempo de ejecución se genera los RadioButtons usando TRadioButton.Create(Self). Este proceso funciona muy bien pero no puedo crearle o asignarle el evento OnDblClick. La idea es que en el formulario no hayan botones, sólo un RadioGroup. ¿Cómo puedo asignarle OnDblClick a un RadioButton creado en tiempo de ejecución?

Mirando en el foro descubrí que un RadioGroup tiene Items , estos son RadioButtons. ¿Como asigno un evento OnDblClick en esto?

Suponer que el evento en OnDblClick tenga un ShowMessage: "Opción elegida i"

Thanks in advance!
- GaaK -
Responder Con Cita
  #2  
Antiguo 09-12-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
En un RadioGroup tú no creas los RadioButton. El control mismo los crea según su propiedad Items. Para acceder a cada uno de los RadioButton creados usa la propiedad Buttons, por ejemplo:

Código Delphi [-]
RadioGroup1.Buttons[i].OnDblClick := RadioButtonDblClick;

Conesto asignas el método RadioButtonDblClick al evento OnDblClick del I-ésimo RadioButton.

// Saludos
Responder Con Cita
  #3  
Antiguo 09-12-2006
Avatar de GaaK
GaaK GaaK is offline
Miembro
 
Registrado: oct 2005
Ubicación: Trujillo - Peru
Posts: 31
Poder: 0
GaaK Va por buen camino
Gracias esto si que trabaja, pero aún tengo la duda.

En un RadioGroup si se puede crear RadioButtons, los jalo de la paleta o los creo en tiempo de ejecución y los coloco dentro del RadioGroup... Ahora que esto sea usado con otros fines creo que es otra cosa, imagino yo que esos RadioButtons son flotantes?

- GaaK -
Responder Con Cita
  #4  
Antiguo 09-12-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Los "TRadioButton" se distinguen de los "TCheckBox" en que de estos últimos puede haber varios marcados a la vez. De los primeros (al menos así creo yo que se deben usar) sólo puede haber marcado uno de ellos al mismo tiempo.

Si tú sitúas dos "TRadioButton" en un formulario, automáticamente se excluirán entre sí, es decir, cuando "marques" uno el otro se "desmarcará" y viceversa. Lo mismo ocurre si sitúas dos o más "TRadioButton" en un "TPanel" o en un "TGroupBox". Yo diría que en cualquier contenedor capaz de albergarlos.

Lo que el componente "TRadioGroup" te ofrece es la posibilidad de trabajar con varios "TRadioButton" conjuntamente, por ejemplo, pudiendo estos ser agrupados por columnas. Tú puedes situar encima de este componente "TRadioButton", pero, "TRadioGroup" no se hará cargo de ellos como podría hacerlo un "TGroupBox". Puedes hacer un par de pruebas en tiempo de diseño y verlo por ti mismo.

Lo último quiere decir que que al situar "TRadionButton" encima de un "TRadioGroup", aunque aquellos quedaran encima de este, en realidad el "TRadioGroup" no los contendría: sería el propio formulario (que contuviese a su vez el "TRadioGroup") el que se hiciera cargo de los "TRadioButton". Si tuvieras otros "TRadioButton" en el formulario los mismos se "excluirían" con los que tuvieras encima (pero no contenidos) en el "TRadioGroup".

En definitiva, tú sabes que existe el componente "TEdit" y el componente "TMemo". ¿Sirven los dos para recoger la entrada del teclado del usuario? Sí; sirven los dos. Pero no se utilizan indistintamente, unas veces se usan unos y otras otros. Por ejemplo, podría solicitarse el nombre del usuario mediante un "TMemo", empero, suele utilizarse un "TEdit". El "TMemo" también nos valdría, pero, el "TEdit" parece aún más apropiado.

Tú verás, por tanto, cuándo te viene mejor un "TRadioGroup"; cuándo te convendría usar sencillamente un par de "TRadioButton"... etc., etc., etc.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 09-12-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Y quién habló de los CheckBox?
Responder Con Cita
  #6  
Antiguo 09-12-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues yo mismo... los he mencionado relacionados con los "RadioButton"... ¿es que te parece que lié más que otra cosa al compañero?

Muy bien puedes llevar razón... ¡pero deja que sea él quien lo diga al menos!
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 09-12-2006
Avatar de GaaK
GaaK GaaK is offline
Miembro
 
Registrado: oct 2005
Ubicación: Trujillo - Peru
Posts: 31
Poder: 0
GaaK Va por buen camino
Cita:
Empezado por dec
Hola,

Pues yo mismo... los he mencionado relacionados con los "RadioButton"... ¿es que te parece que lié más que otra cosa al compañero?

Muy bien puedes llevar razón... ¡pero deja que sea él quien lo diga al menos!
No no, tranquilidad, entiendo muy bien lo que comenta. A eso me refería con que practicamente no estaban asociados al RadioGroup (o flotantes). Ahora tengo solucionado esto, y me es mucho más conveniente en este caso usar los Items de RadioGroup.

Ante esto, estuve viendo y aparentemente es lo mismo. Si mi Form no tiene botones la única forma de seleccionar es haciendo doble click en un Item del RadioGroup (para esto ya tengo definido mi OnDblClick para cada caso). Ahora surge la duda, como detecto si la validación la realicè desde el teclad?, más especificamente con la tecla SPACE?

Yo puedo navegar por los Items del RadioGroup con las teclas direccionales (UP, DOWN, LEFT, RIGHT), al encontrame en la que quiero validar presiono SPACE y, ¿qué evento es llamado en este caso?... Se me ocurre que OnKeyPress y si me funciona muy bien, pero si en este evento le coloco algo como: if key=SPACE OR key=ENTER then... Funciona de maravilla (puedo validar con ENTER y con SPACE), pero el efectito de validación sólo lo consigo cuando se presiona SPACE y no ENTER (para este caso). ¿Cómo consigo el efecto de validación, ya sea presionando ENTER o SPACE?

- GaaK -
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
DBGrid y evento OnDblClick yeison Cristman OOP 13 16-08-2006 22:27:17
RadioButton dmagui Firebird e Interbase 2 14-06-2005 15:34:31
OnDblClick en MonthCalendar gluglu Varios 1 21-02-2005 21:16:12
OnDblClick en DbGrid mRoman Varios 1 10-02-2005 10:27:31
Como detectar en un OnClick q es un OnDblClick??? dmr1974 OOP 5 03-11-2004 21:24:03


La franja horaria es GMT +2. Ahora son las 11:22:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi