Hey...
Ich habe meine Komponente mit eurer Hilfe jetzt fertig und habe sie bisher immer dynamisch erstellt (zur Laufzeit). Das klappt wunderbar und es wird alles richtig angezeigt. Doch wenn ich die Komponente zur Designtime auf das Formular ziehe und dann das Programm starte, dann wird die Komponente erst angezeigt, wenn ich einmal mit der Maus drüber gefahren bin...
Hier der QuellCode der Komponente
Delphi-Quellcode:
constructor TImageButton.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Bitmap:=TBitmap.Create;
Width:=150;
Height:=25;
Glyph.LoadFromFile('C:\Button.bmp');
end;
procedure TImageButton.Paint;
var
TextWidth, Textheight: Integer;
PosX, PosY: Integer;
begin
Canvas.Draw(0,0, Glyph);
Canvas.Brush.Style:=bsClear;
TextWidth:=Canvas.TextWidth(Caption);
Textheight:=Canvas.TextHeight(Caption);
PosX:=((Width div 2) - (TextWidth div 2));
PosY:=((Height div 2) - (TextHeight div 2));
Canvas.TextOut(PosX, PosY, Caption);
end;
Konnte selbst leider nicht rausfnden, woran das liegt.