Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-08-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por roman
¿Y si no quiere? Es decir, tal como pones, no se imita exactamente el comportamiento de dos radiobuttons ya que justamente puedes desmarcar ambos. Quizá sólo sea una razón estética.

// Saludos
Parece que estamos exigentes, pero si es una razón estética ya no digo mas. Mi confusión se debió a que no entendía porque alguien querría agregar código solo para que un control se comportara como otro, pero si los radiobutton os parecen feos adelante.
Responder Con Cita
  #2  
Antiguo 24-08-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
Bueno, es que yo no sé si es una cuestión estética. Es sólo que en el código que él intentó, explícitamente pone en true el checkbox que llama. Por eso supuse que no quería dejar que se desmarcara.

Ahora, tratando de encontrar un código compacto como el de seoane, lo más que me acerco es a esto:

Código Delphi [-]
{$writeableconst on}
procedure TForm1.CheckBoxClick(Sender: TObject);
const
  Checando: Boolean = false;

begin
  if Checando then exit;

  Checando := true;
  if Sender = CheckBox1
    then CheckBox2.Checked := false
    else CheckBox1.Checked := false;

  TCheckBox(Sender).Checked := true;
  Checando := false;
end;
{$writeableconst off}

usando un sólo evento para ambos.

// Saludos
Responder Con Cita
  #3  
Antiguo 24-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Si hablamos de hacerlo chiquito o compacto
Código Delphi [-]
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  if TCheckBox(Sender).Name = CheckBox1.Name then
    CheckBox2.Checked:= not TCheckBox(sender).Checked
  else
    CheckBox1.Checked:= not TCheckBox(sender).Checked;
end;
Saludos
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #4  
Antiguo 24-08-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
Pero así tiene un efecto extraño: cuando haces click sobre el que está marcado, la marca pasa al otro.

// Saludos
Responder Con Cita
  #5  
Antiguo 24-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
Cita:
Empezado por roman
Pero así tiene un efecto extraño: cuando haces click sobre el que está marcado, la marca pasa al otro.
Creí que queria un comportamiento similar al Radiobutton
Cita:
Empezado por TriLoCBA
Necesito simular el efecto de seleccion unica que poseen los radiobutton con un par de checkbox
Ya no entiendo
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #6  
Antiguo 24-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Ooh ya, se me ha chispoteado el asunto, tienes razón roman
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #7  
Antiguo 24-08-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
El punto es que cuando se cambia la propiedad checked por código, se genera un evento OnClick y una recursividad que da al traste con el stack. Por ello es que no he visto forma de hacerlo como no sea controlando de una u otra manera cuando se está dentro del evento.

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Busqueda en ADOTable y RadioButtons MaJeSTiC Varios 1 06-08-2004 19:29:37
Crear RadioButtons dinámicamente Javi2 Varios 4 26-07-2004 17:27:00
simular pulsacion acrophet Varios 1 01-12-2003 14:44:13
radiobuttons haffo OOP 6 15-11-2003 18:52:20
radiobuttons asociados a un edit haffo OOP 12 05-11-2003 23:03:45


La franja horaria es GMT +2. Ahora son las 16:51:25.


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