Ver Mensaje Individual
  #5  
Antiguo 26-08-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No parece una asunto sencillo (por lo menos hasta donde yo llego). El "Glyph" de los "TSpeedButton" y de los "TBitBtn" es un objeto de la clase "TButtonGlyph", declarada de forma privada en la unidad "Buttons.pas" además. Mientras que el "Glyph" del componente conque tratamos es un "TBitmap".

Si te fijas la propiedad "Margin" se usa en los "TBitBtn" y "TSpeedBtn" el método "Paint" de los componentes, más concretamente en una llamada al método "Draw" de la clase "TButtonGlyph". Nuestro componente hace las cosas de distinto modo (trabaja con un "TBitmap"), y así no me parece sencillo hacer lo que dices.

Sin embargo, si nos fijamos en el método "Paint" del componente que nos interesa verás que se declaran unas variables locales de nombres "GlyphLeft, GlyphTop, TextTop, TextLeft, TextWidth, TextHeight". Tal vez podrías conseguir que "GlyphLeft", por ejemplo, fuera una propiedad del componente, en lugar de una variable local.

Parece que el asunto funcionaría... más o menos... para situar el "Glyph" a la izquierda del botón, al menos. "GlyphLeft" vendría a ser así como el "margin"... pero tienes que hacer pruebas. Yo me he quedado ahí. Tal vez pueda conseguirse algo parecido a una propiedad "Margin" como digo, y seguro que se puede investigar mucho más el componente de modo que exista realmente una propiedad "Margin"... pero yo no creo poder llegar ahí.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita