图片在程序页面如何充满?(50分)

  • 主题发起人 主题发起人 Gingerzy
  • 开始时间 开始时间
G

Gingerzy

Unregistered / Unconfirmed
GUEST, unregistred user!
我将一张图片放在程序的页面,Align设为Client,在程序里可以充满,但生成的程序
页面上图片与ToolBar之间有一区域没有充满,该如何解决?谢谢!
 
不会吧,我现在就做一个和你差不多的东东,不会啊,是不是多放了什么控件!
 
ToolBar的AutoSize设为True了吗
 
to yczjs:
  已经设了,还是不行!
 
把Timage的Stretch属性设为True就可以了,
 
哈哈,你的窗体的FormStyle是不是不是Normal啊,如果不是,是不行的,以前我也遇见过,弄了好长时间也没弄好,但只要把FormStyle改为Normal后,再把Stretch改为True就好了,当然还有一个Proportional也得设为True。
 
实在不知道你讲的什么意思。
Align设为Client,在程序里可以充满???

页面上图片与ToolBar之间有一区域没有充满???
讲清楚些!!
 
borderstyle:=bsNone;
borderwidth:=0;
 
你看看,是不是你的图片不够大?
 
我用的是MDi窗体。
 
一般工具条都比工具条按钮高一点,默认为 29
你可以设置工具条的高度为 26 试试,即缩小工具条的高度
 
你用MDI窗体???
我发觉使用MDI窗体,如果在主窗口用image放置图片,程序运行时无法显示图片。
不知你是如何搞定的???
 
image1.Stretch :=true;
 
MDI窗体显示图片并且充满窗体
D6没问题,D5需要加入下面的代码
interface

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

type
TForm1 = class(TForm)
Image1: TImage;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
FClientInstance, FPrevClientProc : TFarProc;
PROCEDURE ClientWndProc(VAR Message: TMessage);
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
PROCEDURE TForm1.ClientWndProc(VAR Message: TMessage);
VAR
MyDC : hDC;
Ro, Co : Word;
begin
with Message do
case Msg of
WM_ERASEBKGND:
begin
MyDC := TWMEraseBkGnd(Message).DC;
FOR Ro := 0 TO ClientHeight DIV Image1.Picture.Height DO
FOR Co := 0 TO ClientWIDTH DIV Image1.Picture.Width DO
BitBlt(MyDC, Co*Image1.Picture.Width, Ro*Image1.Picture.Height,
Image1.Picture.Width, Image1.Picture.Height,
Image1.Picture.Bitmap.Canvas.Handle, 0, 0, SRCCOPY);
Result := 1;
end;
else
Result := CallWindowProc(FPrevClientProc, ClientHandle, Msg, wParam, lParam);
end;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
FClientInstance := MakeObjectInstance(ClientWndProc);
FPrevClientProc := Pointer(GetWindowLong(ClientHandle, GWL_WNDPROC));
SetWindowLong(ClientHandle, GWL_WNDPROC, LongInt(FClientInstance));
end;
 
同意 狄克

不管是d6,或d5,都要写上面的代码.
 
多人接受答案了。
 
我做了一个MDI的窗体,也用了ClientWndProc函数,运行时但在toolbar下图片出现层次
共为二层,不平整,即使没有用toolbar也是这样,怎么回事
 
后退
顶部