请问把一个from名字放在一个变量中,在程序中如何打开该from
解决方案 »
- 怎么显示窗口居中
- tlibimp导出的文件有属性重复问题,该如何解决?
- 急!!!!本人用Delphi6开发的ActiveX控件,发布一到网页后不运行,不显示,怎么办?
- 急!!!出事了!!
- 请问各位老大,怎么把TFileTime类型的变量转换成yyyy-mm-dd的格式,TFileTime中的dwLowDateTime和dwHighDateTime是什么意思
- 我用printer打印一个panel,打印出的结果是一个特别小的图象,我想打印这个panel的实际大小,该怎么办?分不够再加!
- 记录类型转换成Variant类型的困惑
- c++中的“带函数的”struct,对应于pascal的什么类型?? 200分相送!
- 请教
- 设计模式讨论:关于Adapter模式
- 求教:IE浏览器中文本编辑器是窗口吗?如何获得其Handle?
- 如何理解强类型转换,及强类型转换的定义?
{
OpenForm(TfrmType,frmType,Self)
}
procedure TFrmMain.OpenForm(FormClass:TFormClass;Var fm;AOwner:TComponent);
var
i,li_max:Integer;
Child:TForm;
begin
{总的窗口数}
li_max:=Screen.FormCount-1;
for i:=0 to li_max do
begin
{若窗口已经打开,就重新显示}
if Screen.Forms[i].classType=FormClass then
begin
Child:=Screen.Forms[i];
if Child.WindowState=wsMinimized then
ShowWindow(Child.Handle,SW_SHOWNORMAL)
else
ShowWindow(Child.Handle,SW_SHOWNA);
if (not Child.Visible) then
Child.Visible:=True;
Child.BringToFront;
Child.SetFocus;
TForm(fm):=Child;
Exit;
end;
end;
{由窗口的引用类创建窗口对象}
Child:=TForm(FormClass.NewInstance);
TForm(fm):=Child;
Child.Create(AOwner);
end;
procedure TfrmMain.CustomItem6Click(Sender: TObject);
begin
OpenForm(Tfrmjssq,frmjssq,self);
end;
var
FcType : TFormClass;
Frmname:string;
begin
try
Frmname:= 'T' + as_Fromname;
FcType := TFormClass(FindClass(Frmname));
Application.CreateForm(Fctype,OpenWindow);
OpenWindow.Showmodal;
except
ShowMessage('Form Type not exist,you must register it first');
end;
Result := 0;
end;备注 ;你要将所有的窗体加上
initialization
RegisterClass(窗体类名如tform1);
Application.CreateForm(TForm1, formname);
//TForm1就是该窗口的类型根据你的定义而不同