Label por cima de um Bitbtn
tem algum jeito de colocar uma Label por cima de um botão bitbtn?
já tentei de todo jeito e nada
já tentei de todo jeito e nada
Eduardo Mendonça
Curtidas 0
Respostas
Marcos Oliveira
17/10/2013
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.
Att,
Marcos
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
GOSTEI 0
Eduardo Mendonça
17/10/2013
Não esta indo
"Error Creating form: OBJECT expected on line 1336."
"Error Creating form: OBJECT expected on line 1336."
object lbDatabtnAgenda:TLabel
Left = 20
Top = 10
Width = 25
Height = 13
Caption = '12'
end
GOSTEI 0
Marcos Oliveira
17/10/2013
Você recortou todas as propriedades do label e colou dentro das propriedades do botão?
GOSTEI 0
Eduardo Mendonça
17/10/2013
Sim
ai testei em um projeto novo e foi mais no system que eu quaro fazer não ta indo
ai testei em um projeto novo e foi mais no system que eu quaro fazer não ta indo
GOSTEI 0
Gustavo Bretas
17/10/2013
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!
maginal, se puder mate minha curiosidade, Qual a usabilidade de um label dentro do botão?
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?
GOSTEI 0
Eduardo Mendonça
17/10/2013
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?
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?
GOSTEI 0
Gustavo Bretas
17/10/2013
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!
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!
GOSTEI 0
Thiago Irrazabal
17/10/2013
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?
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.
GOSTEI 0
Eduardo Mendonça
17/10/2013
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 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.
GOSTEI 0
Thiago Irrazabal
17/10/2013
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 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.
GOSTEI 0
Gustavo Bretas
17/10/2013
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 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!
GOSTEI 0
Eduardo Mendonça
17/10/2013
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 |
| |___|............ |
|____ ________|
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 |
| |___|............ |
|____ ________|
GOSTEI 0
Gustavo Bretas
17/10/2013
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!
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!
GOSTEI 0
Eduardo Mendonça
17/10/2013
posta o código para eu tomar como norte
GOSTEI 0
Gustavo Bretas
17/10/2013
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!
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!
GOSTEI 0
Eduardo Mendonça
17/10/2013
Boa tarde!
Bretas e Thiago coloquei o código e funciona lol o problema é que quando clico nele o Label some e quando clico em outro ele aparece é normal isso ?
Bretas e Thiago coloquei o código e funciona lol o problema é que quando clico nele o Label some e quando clico em outro ele aparece é normal isso ?
GOSTEI 0
Gustavo Bretas
17/10/2013
Cara, aqui no meu teste, só no esquema feito pelo DFM não aparece de primeiro quando o foco ao iniciar o executável esta no botão... mas ao passar o mouse sobre o botão a label aparece e não sumiu mais!
Então eu coloquei no OnShow do formulário, uma chamada pra colocar o ponteiro do mouse sobre o botão!
Fica a seu critério... no código que cria o botão e a label funcionou sem problemas!
Fonte atualizado na pasta do dropbox! [url]https://www.dropbox.com/sh/7p0xo1fqk56jtr1/DeUlFTeHjQ[/url]
Então eu coloquei no OnShow do formulário, uma chamada pra colocar o ponteiro do mouse sobre o botão!
procedure TForm1.FormShow(Sender: TObject); begin SetCursorPos(BitBtn1.ClientToScreen(Point(0,0)).X, BitBtn1.ClientToScreen(Point(0,0)).Y); end;
Fica a seu critério... no código que cria o botão e a label funcionou sem problemas!
Fonte atualizado na pasta do dropbox! [url]https://www.dropbox.com/sh/7p0xo1fqk56jtr1/DeUlFTeHjQ[/url]
GOSTEI 0
Eduardo Mendonça
17/10/2013
ok beleza então vou fazer isso também para testar
GOSTEI 0
Eduardo Mendonça
17/10/2013
Funcionou certinho obrigado a todos
só mais uma pergunta o (0.0).x é referente a left e Width e (0.0).Y top e Height ?
só mais uma pergunta o (0.0).x é referente a left e Width e (0.0).Y top e Height ?
GOSTEI 0
Eduardo Mendonça
17/10/2013
Pode Fechar o topico
GOSTEI 0
Nelson Santos
17/10/2013
Desenvolva softwares 3D em Delphi 7
www.3dsistemas.com.br
www.3dsistemas.com.br
GOSTEI 0