设计期导入图片问题!vcl70.bpl报错

vargent77 2003-10-17 09:39:11
问题是设计期导入图片时出错,错误信息: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:如连接成功 |
----------------------------
这样的效果

...全文
191 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
huojiehai 2003-10-17
  • 打赏
  • 举报
回复
估计是delphi有问题了,重装delphi试试,不过delphi7是有些不稳定
vargent777 2003-10-17
  • 打赏
  • 举报
回复
这样解决了
procedure TBtn9.SetPic(const Value: TBitmap);//
FPic.Assign(Value);
Invalidate();

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧