问题是设计期导入图片时出错,错误信息:Access violation of adress007a6d9f in module 'vcl70.bpl'.Read of Adress 00001a1b
但是如果动态创建,就没有问题。
constructor TBtn9.Create(AOwner: TComponent);  //创建,设置各项属性
var
  map:TBitmap;
begin
  inherited;
  Fpic          :=TBitmap.Create;
  ControlStyle  :=ControlStyle+[csOpaque];
  Cursor        :=crHandPoint;
  Height        :=30;
  width         :=60;
  FAlignment    :=tjLeft;
  FPicTop       :=1;
  FPicLeft      :=1;
end;
procedure TBtn9.SetPic(const Value: TBitmap);//取图片,相当于glyph只是换了个位置
begin
  if(FPic<>nil)then FPic.Destroy;
  FPic:=Value;
  Invalidate();
end;procedure TBtn9.Paint;
var
  TextRect1,BmpRect:TRect;
  Bmp1:TBitmap;
begin
  inherited;
  if(FPic<>nil)then
  Canvas.Draw(FPicLeft,FPicTop,FPic);//画图片
  TextRect1:=Rect(FPic.Width+FTextLeft,FTextTop,self.ClientWidth-FTextLeft,(self.ClientHeight div 2)-FTextTop);
  DrawText(Canvas.Handle,PChar(FText),length(FText),TextRect1,Flags[FAlignment]);//画text1
  TextRect1:=Rect(FPic.Width+FTextLeft,(self.ClientHeight div 2)+FTextTop,self.ClientWidth-FTextLeft,self.ClientHeight-FTextTop);
  DrawText(Canvas.Handle,PChar(FText1),length(FText1),TextRect1,Flags[FAlignment]);//画text2
我需要的大概就是:
---------------
|       |  caption:如CSDN  |
|  图片 |------------------           
|       |  text:如连接成功 |
----------------------------
这样的效果