Fórum Reposicionando Componentes #206250

13/01/2004

0

Como que eu poderia reposicionar os botões da tela, de acordo com os que poderão aparecer no momento.

Isso para mostrar aos usuários aquilo que ele pode fazer de acordo com os seus poderes dentro do sistema.

Existe alguma forma de fazer isso, utilizando o tab order sei lá.


Salupe

Salupe

Responder

Posts

13/01/2004

Demian Soares

acredito que vc queira habilitar ou desabilitar os botoes de acordo com o procedimento que se queira...

seguinte imaginemos que vc clicou no botao inclusao, neste momento o botao sair o botao excluir deveria estar desabilitado ou seja nao receber acao, vc deve no momento em que clicar no botao inclusao ou em outro evento a sua escolha deve desabilitar os demais botoes..

va ate a propriedade (enabled) do botao e mude sua propriedade para False, o botao ira mudar um pouco e nao recebera mais qq evento ate que vc volte a propriedade enabled para true...

é isso o que vc queria?...


Responder

Gostei + 0

13/01/2004

Salupe

Não é questão de habilitar ou desabilitar, é posição na tela mesmo, imagine que eu tenho 5 botões na tela que ocupam quase toda ela, e o 2° botao por o usuário não poder utilizá-lo não aparecerá.
Eu queria que o 3° botão ocupasse o lugar do 2° o 4° o lugar do 3° e assim por diante.


Responder

Gostei + 0

13/01/2004

Marconi

O que voce precisa fazer é uma Procedure para colocar os botões na tela.

Em vez da propriedade enabled use a visible

Procedure Tform1.desenhabotoes; {nem precisa parametros}
var esquerda:word; // supondo que os botões vão da esquerda para direita
begin
esquerda:=50; {posição left do primeiro botão}
if button1.visible then begin
button1.left := esquerda;
esquerda := esquerda+button1.width+1;
end;
if button2.visible then begin
button2.left := esquerda;
esqueda:=esquerda+button2.width+1;
end;
.... e assim por diante até quantos botões voce tiver;

end;

Se for de cima para baixo use a propriedade top e acrecente sempre height+1;

Marconi


Responder

Gostei + 0

21/12/2004

Valberaguiar

Amigos, todos os componentes tem as propriedades: Visible e Top, certo?
Então como eu faço para testar e redefinir essas propriedades passando componentes como parametro para uma função?

Tipo:

procedure TForm1.ReposComp(Comp: TObject ou TComponent; var iPosi);
begin
If Comp.Visible=True Then Begin
Comp.Top:=iPosi;
iPosi:=iPosi+Comp.Height+5;
End;
End;


Responder

Gostei + 0

21/12/2004

Valberaguiar

Amigos, todos os componentes tem as propriedades: Visible e Top, certo?
Então como eu faço para testar e redefinir essas propriedades passando componentes como parametro para uma função?

Tipo:

procedure TForm1.ReposComp(Comp: TObject ou TComponent; var iPosi);
begin
If Comp.Visible=True Then Begin
Comp.Top:=iPosi;
iPosi:=iPosi+Comp.Height+5;
End;
End;


Responder

Gostei + 0

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

Aceitar