GARANTIR DESCONTO

Fórum Propriedade Down do SpeedButton #256081

26/10/2004

0

Pessoal,

em um formulario tenho um SpeedButton, que eu gostaria que quando pressionado ficasse com a propriedade Down = True, e, quando pressionado novamente, ficasse com a propriedade Down = False.
Eu acreditava que seria simples fazer isto, porém não estou conseguindo.


Quando pressiono o SpeedButton para colocar Down=True ele fica, porém quando pressiono
novamente para colocar Down=False o SpeedButton permanece com Down=True e não volta nunca mais a Down=False!

O Help do Delphi embolou ainda mais a minha cabeça, pois ele diz:

´When GroupIndex is greater than 0, set Down to true to select a button. When the user clicks on a button in the unselected (up) state, the button is selected and Down is set to true. When the user clicks on a button in the selected (down) state, if Caption is true, the button becomes unselected and Down is set to false.´

Eu concordaria perfeitamente se não fosse por um detalhe: como pode Caption ser True se Caption é uma propriedade Textual e não Booleana? Deduzi que poderia ser se Caption estivesse preenchido ou não. Porém não funcionou.


Sugestões?


Abraços...
Anderson Dibo


Anddibo

Anddibo

Responder

Posts

26/10/2004

Paulo_amorim

Olá

Por Caption, leia-se AllowAllUp

[quote:49ecc2cf05=´Help do D5´]When GroupIndex is greater than 0, set Down to True to select a button. When the user clicks on a button in the unselected (up) state, the button is selected and Down is set to True. When the user clicks on a button in the selected (down) state, if [b:49ecc2cf05]AllowAllUp[/b:49ecc2cf05] is True, the button becomes unselected and Down is set to False.[/quote:49ecc2cf05]

Acho que isoso fica mais viável né

Espero que ajude
Até+


Responder

Gostei + 0

26/10/2004

Nildo

Olha, eu nao sei fazer o botão voltar ao normal. Mas o que o Help quer dizer é que se você tem um monte de SpeedButtons, e coloca em todos eles o GroupIndex como sendo 1 (por exemplo), o próprio SpeedButton já trata de deixar ele abaixado quando você clica, e se você clica em um outro do mesmo GroupIndex, este primeiro e todos os outros vão se levantar. Não sei se fui claro, mas é assim que funciona o SpeedButton. É como se fosse Grupos de checkboxes. Se você tem alguns speeds com GroupIndex 1 e alguns com GroupIndex 2, quando você abaixar um botão clicando nele (porque o processo de abaixar é automatico), somente os do grupo dele vai levantar.


Responder

Gostei + 0

26/10/2004

Fórum Vini

Olá,
Pra levantar todos os SpeedButtons de um form, nada que um Broadcast não resolva:
var
  Msg: TMessage;
begin
  Msg.Msg := CM_BUTTONPRESSED;
  Msg.WParam := Botao.GroupIndex;
  Msg.LParam := nil;
  Msg.Result := 0; 
  FormTal.Broadcast(Msg);
end;

Agora para fazer o que você quer existe uma maneira muito mais fácil, crie um novo projeto e siga os passos:
- Coloque um SpeedButton no form
- Mude seu GroupIndex para 1
- Mude o AllowAllUp para true
Agora rode o projeto e veja se é isso que você precisa :wink:


Espero ter ajudado,
Vinicius;


Responder

Gostei + 0

26/10/2004

Anddibo

Obrigado a todos que responderam.

Paulo ajustei a propriedade AllowAllUp e funcionou blz! Brigadão!


O pessoal da Borland bobeou no Help, mas eles têm crédito. :D

Abraços...
Anderson Dibo



Olá Por Caption, leia-se AllowAllUp [quote:8e4d1a456b=´Help do D5´]When GroupIndex is greater than 0, set Down to True to select a button. When the user clicks on a button in the unselected (up) state, the button is selected and Down is set to True. When the user clicks on a button in the selected (down) state, if [b:8e4d1a456b]AllowAllUp[/b:8e4d1a456b] is True, the button becomes unselected and Down is set to False.


Acho que isoso fica mais viável né

Espero que ajude
Até+[/quote:8e4d1a456b]


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar