Fórum Status Bar Glyph #187189
08/10/2003
0
Como faço para colocar um glyph num determinado Panel de uma status Bar ?
Obrigado !
Tiagojmilam
Curtir tópico
+ 0Posts
08/10/2003
Ildefonso
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
08/10/2003
Beppe
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.
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
08/10/2003
Ildefonso
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
09/10/2003
Beppe
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
Clique aqui para fazer login e interagir na Comunidade :)