Fórum Label por cima de um Bitbtn #458693

17/10/2013

0

tem algum jeito de colocar uma Label por cima de um botão bitbtn?
já tentei de todo jeito e nada
Eduardo Mendonça

Eduardo Mendonça

Responder

Posts

17/10/2013

Marcos Oliveira

Jeito tem. Mas você vai ter que fazer isso no braço.
Clique no seu form com o botão direito e depois clique em "View as Text".
Agora você tem que colocar as propriedades do Label dentro das propriedades do botão, e posicioná-lo conforme necessário.
Depois de pronto, clique novamente com o botão direito e clique em "View as Form".

Segue abaixo um exemplo do form, já editado.

object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 202
  ClientWidth = 447
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object BitBtn1: TBitBtn
    Left = 125
    Top = 60
    Width = 196
    Height = 81
    Caption = 'Bot'#227'o'
    TabOrder = 0
    // Aqui você tem que inserir as propriedades do Label
    object Label1: TLabel  
      Left = 20
      Top = 10
      Width = 25
      Height = 13
      Caption = 'Label'
    end
  end
end



Att,

Marcos
Responder

Gostei + 0

17/10/2013

Eduardo Mendonça

Não esta indo
"Error Creating form: OBJECT expected on line 1336."
      object lbDatabtnAgenda:TLabel
        Left = 20
        Top = 10
        Width = 25
        Height = 13
        Caption = '12'
      end
Responder

Gostei + 0

17/10/2013

Marcos Oliveira

Você recortou todas as propriedades do label e colou dentro das propriedades do botão?
Responder

Gostei + 0

17/10/2013

Eduardo Mendonça

Sim
ai testei em um projeto novo e foi mais no system que eu quaro fazer não ta indo
Responder

Gostei + 0

17/10/2013

Gustavo Bretas

Interessante, não tinha pensado nisso, até mesmo por que não consegui visualizar uma utilidade!

Complementando a resposta do Marcos Oliveira, da pra fazer se o componente for criado no código tbm!

  with TBitBtn.Create(Self) do
  begin
    Top := 160;
    Left := 50;
    Width := 250;
    Height := 150;
    Parent := Self;
    Name := 'btnTeste';
  end;
  with TLabel.Create(Self) do
  begin
    Top := 50;
    Left := 5;
    Width := 100;
    Caption := 'Teste dentro do Componente';
    Parent := TBitBtn(Self.FindComponent('btnTeste'));
  end;


maginal, se puder mate minha curiosidade, Qual a usabilidade de um label dentro do botão?
Responder

Gostei + 0

18/10/2013

Eduardo Mendonça

kkkk ... eu quero fazer um botão com uma glyph de um calendário onde esse label seria a data do calendário. em cada dia essa data iria mudar.
ficando asim Botão com o Caption informando o nome do botão e o glyph do calendário com o label.

mais ou menos aonde eu colo o seu codigo?
Responder

Gostei + 0

18/10/2013

Gustavo Bretas

Você já viu o componente MonthCalendar da Palheta Win32?

De qualquer forma, coloque o código que passei no OnClick de qualquer botão, só pra vc ver o que ele faz, depois vc adéqua pra sua necessidade!
Responder

Gostei + 0

18/10/2013

Thiago Irrazabal

kkkk ... eu quero fazer um botão com uma glyph de um calendário onde esse label seria a data do calendário. em cada dia essa data iria mudar.
ficando asim Botão com o Caption informando o nome do botão e o glyph do calendário com o label.

mais ou menos aonde eu colo o seu codigo?


Não seria mais fácil tu colocar um bitbtn, selecionar o glyph e em tempo de execução no onshow do teu form passar a data para o caption do bitbtn ?
Sem necessariamente tu perder o caption que já está no botão.

BitBtn1.Caption := BitBtn1.Caption + ' ' + FormatDateTime('dd/mm/yyyy', now);


Ou mesmo ao contrário se tu quiser que a data esteja antes do caption.

BitBtn1.Caption := FormatDateTime('dd/mm/yyyy', now) + ' ' + BitBtn1.Caption;



Att,
Thiago Irrazabal de Oliveira.
Responder

Gostei + 0

29/10/2013

Eduardo Mendonça

Boa tarde!

O problema Thiago é que o Caption fica do lado da imagem e não por cima. se você souber como fazer eu fico muto agradecido pela ajuda.
Responder

Gostei + 0

29/10/2013

Thiago Irrazabal

Boa tarde!

O problema Thiago é que o Caption fica do lado da imagem e não por cima. se você souber como fazer eu fico muto agradecido pela ajuda.


O bitbtn tem uma propriedade chamada Layout ali tu diz onde vai ficar o GLYPH, se vai ser em cima, em baixo, esquerda ou direita, abraço.


Att,
Thiago Irrazabal de Oliveira.
Responder

Gostei + 0

29/10/2013

Gustavo Bretas

Boa tarde!

O problema Thiago é que o Caption fica do lado da imagem e não por cima. se você souber como fazer eu fico muto agradecido pela ajuda.


Como assim maginal? Vc não conseguiu fazer o que Eu ou o Marcos Oliveira postamos?

Sobre mudar a posição da imagem em relação a label, procure pela propriedade "Layout" do TBitBtn pra ver se te atende!
Responder

Gostei + 0

29/10/2013

Eduardo Mendonça

Bertas o problema é como eu disse eu preciso eu o Label fique em cima da imagem como si ele foce da imagem e não o posicionado em cima da imagem como na propriedade "Layout" blGlyphTop. é para parecer como se o texto fosse da imagem.
o código de Marcos Oliveira aparentemente funcionou só que quando compilei deu erro

Exception EClassNotFound in module AgendaTest.exe at 0001327E.

Class TLabel not found.

Como eu Pretendo
_____________
| ___ ............. |
| | DD| AGENDA |
| |___|............ |
|____ ________|

Exemplo de Thiago
_____________
| _DD ........... |
| | . . | AGENDA |
| |___|............ |
|____ ________|
Responder

Gostei + 0

29/10/2013

Gustavo Bretas

Deu esse erro pq vc nã colocou a Label no Formulário!

Coloca ela no Formulário, e faz o corte do DFM como ele explicou!

Vc precisa se atenar a posição que a label esta no formulário antes de recortar ela pra dentro do botão, pq ela vai ficar na posição, em relação ao botão, então pode parecer que elea "sumiu", saca?

Então seta a propriedade Top e Left pra 1 depois de colocar no formulário!

Testei aqui, não tem erro!
Responder

Gostei + 0

29/10/2013

Eduardo Mendonça

posta o código para eu tomar como norte
Responder

Gostei + 0

29/10/2013

Gustavo Bretas

Os códigos estão nos post acima maginal.

Veja o código do projeto que esta neste link: [url]https://www.dropbox.com/sh/7p0xo1fqk56jtr1/DeUlFTeHjQ[/url]

Foi feito no Delphi XE, se a sua versão for diferente, importe somente o formulário principal para um novo projeto no seu computador!
Responder

Gostei + 0

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

Aceitar