Ver Mensaje Individual
  #4  
Antiguo 25-08-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola DOS.

"Boton_Del_Memo" era un nombre arbitrario como para denotar que ese era el botón sobre el que se aplicaba el código...

De todos modos supongo que al ser los archivos de tipo .BMP, estaremos hablando de un TImage, no de un TMemo.

Si no interpreto mal la lógica de tu código, la intención es mostrar una imágen diferente cuando se pasa por los distintos TBitBtn. Si es así creo que podrías hacer algo parecido a esto:
Código Delphi [-]
...
type
  TBitBtn = class(Buttons.TBitBtn)
  private
    procedure CMMouseEnter(var M: TMessage); message CM_MOUSEENTER;
    procedure CMMouseLeave(var M: TMessage); message CM_MOUSELEAVE;
  end;

  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    Image1: TImage;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    BitBtn9: TBitBtn;
    BitBtn10: TBitBtn;
    BitBtn11: TBitBtn;
    BitBtn12: TBitBtn;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

const
   PATHTOIMAGES = 'C:\ITM\imagenes\BMP\';
   IMAGENAME : array[1..12] of string = ('menu.bmp','mascota.bmp', 'propietario.bmp',
     'turnosgeneral.bmp', 'enfermedades.bmp','serviciosgenerales.bmp', 'inventario.bmp',
     'facturacion.bmp', 'ayuda.bmp','productosvarios.bmp','propietario.bmp','mascota.bmp');


procedure TBitBtn.CMMouseEnter(var M: TMessage);
begin
  inherited;
  Form1.Image1.Picture.LoadFromFile(PATHTOIMAGES+IMAGENAME[Tag]);
end;

procedure TBitBtn.CMMouseLeave(var M: TMessage);
begin
  inherited;
  Form1.Image1.Picture := nil;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
  C: TComponent;
begin
  for i := 0 to ComponentCount - 1 do
  begin
    C := FindComponent('BitBtn' + IntToStr(i + 1));
    if Assigned(C) then
      TBitBtn(C).Tag := i + 1;
  end
end;
...
El código de asignación a la propiedad Tag en el evento OnCreate, servirá siempre que tus TBitBtn se llamen BitBtn1, BitBtn2, ..., BitBtn12. De otro modo lo tendrás que asignar individualmente.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita