Komponent Image

0

mam komponent stworzony chyba przez adama boducha o takiej tresci
( ma opcje MouseOut i Mouseover )

unit MyImage;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls;

type
  TMImage = class(TImage)

  protected
    Over, Out : TNotifyEvent;
    procedure MouseEnter(var Message:TMessage);message cm_MouseEnter;
    procedure MouseLeave(var Message:TMessage);message cm_MouseLeave;

  published
    property OnMouseEnter: TNotifyEvent read Over write Over;
    property OnMouseLeave: TNotifyEvent read Out write Out;

  end;

procedure Register;

implementation

procedure TMImage.MouseEnter(var Message:TMessage);
begin
  if Assigned(Over) then OnMouseEnter(Self);
  Message.Result:=1;
end;

procedure TMImage.MouseLeave(var Message:TMessage);
begin
  if Assigned(Out)then OnMouseLeave(Self);
  Message.Result:=1;
end;


procedure Register;
begin
  RegisterComponents('Main', [TMImage]);
end;

end.

jest prosty ale ... jak dodac aby na srodku tego kompontu byl wyswietlany caption ? bardzo prosze o ponoc !</delphi>

0

TMImage dziecziczy po TImage, a TImage ma coś takiego jak Canvas.TextOut.

0

dzieki za podpowiedz - dziala
ale jak zrobic zeby ten teks nie mial tla tylko aby z dolu bylo widac obrazek na ktory jest tekst ?

0

No masz na przykład

var
     obrazek : TMImage;

potem dajesz :

obrazek.canvas.textout(gdzie_x, gdzie_y, tekst);
0

Canvas.Brush.Style=bsClear; bodajże.

0
Adam.Pilorz napisał(a)

Canvas.Brush.Style=bsClear; bodajże.

nie dziala mi to ...
a mam tak :

Image1.Canvas.Brush.Style := bsClear;

a do tego jak zrobic aby dziedziczyl ustawienia czciaki z formy glownej ? ( color , font ... )

0

daj Image.Canvas.Brush.Style := bsClear przed TextOut;
a czcionkę: Image.Canvas.Font := Form.Font; gdzie Form to nazwa Twojej formy głownej, wszystkie ustawienia dla Canvas dawaj przed wyświetlaniem tekstu (TextOut)

0

wielkie dzieki wszystkim wlasnie o to mi chodzilo

:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1