关于image copyRect Resize,很急在线等待!!大虾救命呀!!!

YoungKing 2003-08-19 02:40:21
窗体现处于normal状态。

image.align=alclient;
在formCreate中用CopyRect将image.canvas拷贝了图片。
但是,改变窗体使之处于最大化时,image.的图片并不随之扩大,我在formResize中写代码重新拷贝图片也不好用?就好像image的大小不变似的
但是调试出来的image.width和height均是变化的。
该怎么办?


...全文
83 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
DWGZ 2003-08-19
  • 打赏
  • 举报
回复
非常抱歉应该是在OnResize时Repaint
unit Unit1;

interface

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

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure FormResize(Sender: TObject);
private
FBmp: TBitmap;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
FBmp := TBitmap.Create;
FBmp.LoadFromFile('F:\1.bmp');
//你还可以, Self.Brush.Bitmap := FBmp;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
FBmp.Free;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.StretchDraw(ClientRect, FBmp);
end;

procedure TForm1.FormResize(Sender: TObject);
begin
Repaint;
end;
hxmforyou 2003-08-19
  • 打赏
  • 举报
回复
你在CopyRect函数中要拷贝的目标区域的Rect拉大成你需要的大小就可以了。
如把const Dest: TRect设置成你变大后的窗体的大小,就可以了。
YoungKing 2003-08-19
  • 打赏
  • 举报
回复
我走了
YoungKing 2003-08-19
  • 打赏
  • 举报
回复
谢谢!
不过,大哥,能不能建一个简单的工程试一下.
真的不好试,我都试过了...


DWGZ 2003-08-19
  • 打赏
  • 举报
回复
Form1Create时

RePaint;
YoungKing 2003-08-19
  • 打赏
  • 举报
回复
我考,高手在哪里呀?!
真的没有一个帮一下忙吗?
YoungKing 2003-08-19
  • 打赏
  • 举报
回复
不好用呀,用FormOnPaint,已开始时并不拷贝!!!(delphi ver6.0 winxp)
程序开始运行时,看不到图片的!
只有当最大化时,则确实可以实现。
DWGZ 2003-08-19
  • 打赏
  • 举报
回复
在FormOnPaint时Copy, 给分吧

5,386

社区成员

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

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