mdiform窗体图片显示问题 mdiform窗体上有菜单,最左放了treeview1,spliter1,image1占了客户区,程序运行后图片上有印迹,如何解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 mdiform窗体上有菜单,最左放了treeview1,spliter1,image1占了客户区,程序运行后图片上有印迹,如何解决? 什么样的印迹啊?你的放图片的客户区不用放一个PANEL的吗?这样的话你向右拉动时图片不会被遮住了吗? 这需要重载子表单的constructor create()方法,覆盖loaded()和createparams()方法:下面代码演示了一子窗体再主窗体上的一PANEL上显示:unit Unit2;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls,ExtCtrls,Menus;type TForm2 = class(TForm) Image1: TImage; private FTempParent:TWinControl; //保存子窗体的父; procedure loaded;override; procedure CreateParams(var Params: TCreateParams); override; { Private declarations } public constructor create(AOwner:TComponent;AParent:TWinControl);reintroduce;//override; //function GetFormMenu:TMainMenu;virtual;abstract;如果要或得窗体菜单,可覆盖该方法。 //function CanChange:Boolean;virtual; { Public declarations } end;var Form2: TForm2;implementation{$R *.dfm}constructor TForm2.create(AOwner: TComponent; AParent: TWinControl);begin //赋予子窗体的父,继承FORM2的构造方法; FTempParent:=AParent; inherited Create(Owner);end;procedure TForm2.CreateParams(var Params: TCreateParams);begin inherited; Params.Style:=params.Style or WS_CHILD; //设置窗体的styleend;procedure TForm2.loaded;begin inherited; //设置子窗体属性; align:=alclient; BorderStyle:=bsNone; BorderIcons:=[]; Parent:=FTempParent; Position:=poDefault;end;end.然后在主窗提的USES中包含子窗体单元在创建子窗体的事件中这样写:procedure TForm1.Button1Click(Sender: TObject);var form2:tform;begin if assigned(form2) then begin form2:=tform2.create(self,panel1); form2.Show; end;end; inherited 提取字符串中的汉字 用ClientDataSet来显示主从表的一个奇怪现象,试了好多次不知道怎么解决!!! 请高手帮忙!!!! QuickReport 的问题??急 debug process is already running? 急:自绘制图形的打印 UP 有分 《200分相送》 怎样加上图标? 如何通过宽带连接远方的数据库 连接MySql的问题 关于Form.SetParent 关于内存分配的胡思乱想 如何在delphi 中控制excel表的一個小問題?急呀請幫忙.
你的放图片的客户区不用放一个PANEL的吗?这样的话你向右拉动时图片不会被遮住了吗?
下面代码演示了一子窗体再主窗体上的一PANEL上显示:
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls,ExtCtrls,Menus;type
TForm2 = class(TForm)
Image1: TImage;
private
FTempParent:TWinControl; //保存子窗体的父;
procedure loaded;override;
procedure CreateParams(var Params: TCreateParams); override;
{ Private declarations }
public
constructor create(AOwner:TComponent;AParent:TWinControl);reintroduce;//override;
//function GetFormMenu:TMainMenu;virtual;abstract;如果要或得窗体菜单,可覆盖该方法。
//function CanChange:Boolean;virtual;
{ Public declarations }
end;var
Form2: TForm2;implementation{$R *.dfm}
constructor TForm2.create(AOwner: TComponent; AParent: TWinControl);
begin //赋予子窗体的父,继承FORM2的构造方法;
FTempParent:=AParent;
inherited Create(Owner);
end;procedure TForm2.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.Style:=params.Style or WS_CHILD; //设置窗体的style
end;procedure TForm2.loaded;
begin
inherited; //设置子窗体属性;
align:=alclient;
BorderStyle:=bsNone;
BorderIcons:=[];
Parent:=FTempParent;
Position:=poDefault;
end;end.然后在主窗提的USES中包含子窗体单元
在创建子窗体的事件中这样写:
procedure TForm1.Button1Click(Sender: TObject);
var
form2:tform;
begin
if assigned(form2) then
begin
form2:=tform2.create(self,panel1);
form2.Show;
end;
end;