我现在有一个程序,里面有N个窗体,我把其中一个作为主窗体,(不是MDI的哦),现在我想写一个通用的函数,在创建别的窗体的时候把这个窗体放在主窗体的图片位置,也就是覆盖主窗体的那个图片下面是我写的一个过程,可是就是显示不出来,而且还出现了窗体是一张空白的效果
procedure OpenForm( FormClass:TForm; img:TcxImage);
begin
FormClass:=TFormClass.Create(Formclass);
FormClass.BorderStyle:=bsNone;
FormClass.Position:=poDefault;
FormClass.Left:=img.Left;
FormClass.Top:=img.Top;
FormClass.Width:=img.Width;
FormClass.Height:=img.Height;
FormClass.ShowModal;
end;那位能帮帮忙啊,谢谢了
procedure OpenForm( FormClass:TForm; img:TcxImage);
begin
FormClass:=TFormClass.Create(Formclass);
FormClass.BorderStyle:=bsNone;
FormClass.Position:=poDefault;
FormClass.Left:=img.Left;
FormClass.Top:=img.Top;
FormClass.Width:=img.Width;
FormClass.Height:=img.Height;
FormClass.ShowModal;
end;那位能帮帮忙啊,谢谢了
不必那么费劲,直接将那个“过程”赋值为nil就可以了,比如你想让图片的单击事件处理过程失效,可以:
Img.OnClick := nil;再就是,通过设置尺寸然后将窗体模式显示,其实达不到目的...因为用API函数EnableWindow改变Parent窗口的Enabled属性,照样可以让模式显示的窗体失去模态....
最重要的创建出来的窗体是空白
myFrmNode.FrmInstance.Parent := img;
myFrmNode.FrmInstance.Align := alClient;