Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-03-2010
hernan35 hernan35 is offline
Registrado
 
Registrado: mar 2010
Posts: 9
Poder: 0
hernan35 Va por buen camino
Dos estados de un botón

Hola a todos, mas de uno ya habrá visto que recién estoy aprendiendo a programar con delphi.
Logre que cuando clickeo un button1, el caption de dicho button cambie de 'desactivado' a 'activado', lo que no me sale es que al apretear nuevamente el button por segunda vez cambie a desactivado. ¿Es posible hacerlo con un button?

Desde ya muchas gracias a todos.
Saludos.
Responder Con Cita
  #2  
Antiguo 17-03-2010
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 15
BrunoBsso Va por buen camino
Sí, acá te pongo 2 ejemplos simples
Código Delphi [-]
//En el evento OnClick
if (TButton(Sender).Caption[1]='D') or (TButton(Sender).Captio[1]='d') then
  //Si la primer letra del caption es D o d
  TButton(Sender).Caption:='Activado'
else
  TButton(Sender).Caption:='Desactivado';
Eso tomando como precondición que el botón solamente va a decir "Activado" y "Desactivado".
Otra idea es usar la propiedad Tag.
Código Delphi [-]
//Tag=1 sería activado y Tag=0 sería desactivado
if (TButton(Sender).Tag = 0) then begin
  //Si el Tag está en 0 al momento de pulsarlo
  TButton(Sender).Tag:=1;
  TButton(Sender).Caption:='Activado';
end
else begin
  TButton(Sender).Tag:=0;
  TButton(Sender).Caption:='Desactivado';
end;
Ahí tendrías que ver vos cómo inicializás el Tag para hacerlo bien.
Saludos!
Responder Con Cita
  #3  
Antiguo 18-03-2010
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
¿por que no usas un SpeedButton?

Ese botón tiene una propiedad "Down", la cuál es verdadera cuando está presionado y falso cuando no está presionado, solo tienes que establecer la propiedad "AllowAllUp" a verdadero y debes asignar un número a la propiedad "GroupIndex":

Código Delphi [-]
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
 if (Sender as TSpeedButton).Down then
  (Sender as TSpeedButton).Caption := 'Activo'
 else
  (Sender as TSpeedButton).Caption := 'NO Activo';
end;
__________________

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
Una aplicación con varios estados noob OOP 1 21-04-2009 15:29:09
Castigos Ejemplares, solo en Estados Unidos ContraVeneno La Taberna 1 08-02-2007 00:25:14
Estados Unidos bloquea Internet en Cuba JoeyJordison Noticias 10 30-01-2007 02:16:12
Date() me devuelve la hora de Estados Unidos (por lo menos)... [Gunman] PHP 1 05-07-2006 16:31:16
La Guerra Biológica De Estados Unidos Contra La Coca Y La Amapola RONPABLO Debates 7 24-07-2005 21:33:29


La franja horaria es GMT +2. Ahora son las 11:59:58.


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