Status Bar Glyph
CaRos colegas PrOgRaMaDoReS
Como faço para colocar um glyph num determinado Panel de uma status Bar ?
Obrigado !
Como faço para colocar um glyph num determinado Panel de uma status Bar ?
Obrigado !
Tiagojmilam
Curtidas 0
Respostas
Ildefonso
08/10/2003
Olá, Tiago.
Você deve redefinir o método Paint do StatusBar.
Mas corra às bancas e compre a ClubeDelphi do mês. Ela fala de um componente 100¬ free que já manipula imagens e cores em cada painel deste novo StatusBar... valerá a pena, também, pelo artigo sobre o DBGrid: simplesmente, excelente.
Você deve redefinir o método Paint do StatusBar.
Mas corra às bancas e compre a ClubeDelphi do mês. Ela fala de um componente 100¬ free que já manipula imagens e cores em cada painel deste novo StatusBar... valerá a pena, também, pelo artigo sobre o DBGrid: simplesmente, excelente.
GOSTEI 0
Beppe
08/10/2003
Você deve redefinir o método Paint do StatusBar.
Não tem que redefinir nada. Redefinir significa substituir um método. O Paint vai continuar como está, você irá instalar um manipulador para o evento OnDrawPanel. Tem muita diferença nisto.
Mas corra às bancas e compre a ClubeDelphi do mês. Ela fala de um componente 100¬ free que já manipula imagens e cores em cada painel deste novo StatusBar... valerá a pena, também, pelo artigo sobre o DBGrid: simplesmente, excelente.
Tudo bem que o fórum é gentilmente cedido/mantido pela revista, mas este tipo de propraganda não considero válido :evil: . Mostrar como usar um componente de terceiros, embora seja mais simples, é simplório demais(você já deve ter escutado algo assim), não vem a acrescentar algo. responder a perguntas sim!
TiagoJmilam, configure a propriedade style do dito panel como psOwnerDraw, e coloque isto no OnDrawPanel:
A imagem está em um TImage:
StatusBar.Canvas.Draw(Rect.Left, Rect.Top, Image1.Picture.Graphic);
A imagem está em um TImageList:
ImageList1.Draw(StatusBar.Canvas, Rect.Left, Rect.Top, Indice, dsTransparent, itImage);
Espero que eu tenha ajudado,
Ataliba.
GOSTEI 0
Ildefonso
08/10/2003
Meus senhores, o Ataliba está abalado? Devemos ter cuidado?
Poderia começar esta contra crítica pela própria definição de ´propaganda´. Infelizmente, em português do Brasil, está palavra ficou muito vinculada ao seu sentido comercial. Propaganda, porém, vem de [b:8592bb5adc]propagar[/b:8592bb5adc]. Em meu caso, quando cito a revista, é justo deste uso que me sirvo: propagar, informar, popularizar algo. Que, sem dúvida, é de grande valia para a comunidade.
A própria palavra ´revista´ trás uma idéia útil: o assunto já foi visto, já é sabido. Agora, por praticidade e utilidade, é [b:8592bb5adc]revisto[/b:8592bb5adc]. O que vislumbra a possibilidade de acesso a informações amadurecidas. Normalmente, na forma mais completa que o veículo pode dispor... o que foi o caso desta última edição.
Nem de longe houve a motivação, que o colega procura transmitir, de ´comercializar´ a publicação. Meu interesse está na continuidade de sua utilização, o que, filosoficamente, impõe a sua existência. Deve-se considerar que, em serviços profissionais, a remuneração é uma conseqüência do benefício a que se quer auferir.
Justificando e usando um pouco de ´populaxo´: em conta-gotas, não se nota o amargo do remédio. Nos é muito útil um livro tal como ´Desvendando o Delphi´, do consagrado Cantú. Mas é mais difícil a alguns investir, em um determinado momento, a quantia de R$ 200,00. Por outro lado, R$ 7,90, de vez em quando, que seja, é mais que válido para se obter os benefícios que temos obtido dos editores daquela publicação e deste site.
[size=18:8592bb5adc]Agora um pouco de técnica/estratégia...[/size:8592bb5adc]
É verdade que o evento OnDrawPanel é disparado a cada vez que o Delphi vai construir um dos painéis do componente.
Há um problema, porém: se você usará muitas vezes a característica de redesenho, talvez seja mais vantagem modificar o controle para que ele saiba que cada painel pode ter uma imagem (ou mais de uma) vinculado a ele.
Neste caso, tal como o exemplo que [b:8592bb5adc]propaguei[/b:8592bb5adc] estar disponível, devemos modificar como o componente se desenha.
Teoricamente os passos são simples:[list:8592bb5adc][*:8592bb5adc]cria-se uma propriedade para armazenar um TImageList;
[*:8592bb5adc]no componente do painel, cria-se uma propriedade Glyph, que indicará o índice da imagem no TImageList do StatusBar modificado;
[*:8592bb5adc]no override do método Paint do painel, você verifica se a propriedade Glyph aponta para uma imagem válida e a pinta no painel.[/list:u:8592bb5adc]
Na verdade, é tudo tão simples que um componente fornecido com fontes e de graça, certamente, funcionará sem problemas... Acredito que vale a pena o investimento.
E vocês, o que acham?
Sinceramente e cordialmente,
Ricardo Ildefonso. :wink:
Poderia começar esta contra crítica pela própria definição de ´propaganda´. Infelizmente, em português do Brasil, está palavra ficou muito vinculada ao seu sentido comercial. Propaganda, porém, vem de [b:8592bb5adc]propagar[/b:8592bb5adc]. Em meu caso, quando cito a revista, é justo deste uso que me sirvo: propagar, informar, popularizar algo. Que, sem dúvida, é de grande valia para a comunidade.
A própria palavra ´revista´ trás uma idéia útil: o assunto já foi visto, já é sabido. Agora, por praticidade e utilidade, é [b:8592bb5adc]revisto[/b:8592bb5adc]. O que vislumbra a possibilidade de acesso a informações amadurecidas. Normalmente, na forma mais completa que o veículo pode dispor... o que foi o caso desta última edição.
Nem de longe houve a motivação, que o colega procura transmitir, de ´comercializar´ a publicação. Meu interesse está na continuidade de sua utilização, o que, filosoficamente, impõe a sua existência. Deve-se considerar que, em serviços profissionais, a remuneração é uma conseqüência do benefício a que se quer auferir.
Justificando e usando um pouco de ´populaxo´: em conta-gotas, não se nota o amargo do remédio. Nos é muito útil um livro tal como ´Desvendando o Delphi´, do consagrado Cantú. Mas é mais difícil a alguns investir, em um determinado momento, a quantia de R$ 200,00. Por outro lado, R$ 7,90, de vez em quando, que seja, é mais que válido para se obter os benefícios que temos obtido dos editores daquela publicação e deste site.
[size=18:8592bb5adc]Agora um pouco de técnica/estratégia...[/size:8592bb5adc]
É verdade que o evento OnDrawPanel é disparado a cada vez que o Delphi vai construir um dos painéis do componente.
Há um problema, porém: se você usará muitas vezes a característica de redesenho, talvez seja mais vantagem modificar o controle para que ele saiba que cada painel pode ter uma imagem (ou mais de uma) vinculado a ele.
Neste caso, tal como o exemplo que [b:8592bb5adc]propaguei[/b:8592bb5adc] estar disponível, devemos modificar como o componente se desenha.
Teoricamente os passos são simples:[list:8592bb5adc][*:8592bb5adc]cria-se uma propriedade para armazenar um TImageList;
[*:8592bb5adc]no componente do painel, cria-se uma propriedade Glyph, que indicará o índice da imagem no TImageList do StatusBar modificado;
[*:8592bb5adc]no override do método Paint do painel, você verifica se a propriedade Glyph aponta para uma imagem válida e a pinta no painel.[/list:u:8592bb5adc]
Na verdade, é tudo tão simples que um componente fornecido com fontes e de graça, certamente, funcionará sem problemas... Acredito que vale a pena o investimento.
E vocês, o que acham?
Sinceramente e cordialmente,
Ricardo Ildefonso. :wink:
GOSTEI 0
Beppe
08/10/2003
Não tenho o interesse de iniciar uma ´flaming war´, mas se você tem interesse de sempre depender de terceiros, vá em frente e use o componente que você quiser. Eu já não sou assim, se há algo que não sei fazer, simplesmente esqueço isso no momento, já que sei que cedo ou tarde eu saberei fazer por mim mesmo.
Não tente ludibirar os outros com palavras, se você quer esconder sua falta de talento para programação.
PS: Suas instruções(tardias) não batem coisa com coisa.
PS2: Se você está interessado na utilização da revista, assine para todos.
Ataliba
Não tente ludibirar os outros com palavras, se você quer esconder sua falta de talento para programação.
PS: Suas instruções(tardias) não batem coisa com coisa.
PS2: Se você está interessado na utilização da revista, assine para todos.
Ataliba
GOSTEI 0