高手请进——如何根据窗口的名称动态打开窗口。

xjzh 2003-12-16 04:37:06
我想根据不同的条件从数据库中取出窗口的名称,再根据窗口的名称动态打开窗口,请问如何实现。
...全文
161 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
popmailzjw 2003-12-24
  • 打赏
  • 举报
回复
up
gencan 2003-12-24
  • 打赏
  • 举报
回复
up
京霾 2003-12-24
  • 打赏
  • 举报
回复
飞鱼的方法行!!
uses
unit2,unit3;

procedure ShowMyForm(FormClassName: string);
begin
with TFormClass(FindClass(FormClassName)).Create(Application) do
try
ShowModal;
finally
Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//at runtime
ShowMyForm('TForm2');
// or directly in your code
ShowMyForm('TForm3');
end;
initialization
RegisterClasses([TForm2, TForm3]);
end.
lesstif 2003-12-22
  • 打赏
  • 举报
回复
RegisterClasses([TForm]);
with TFormClass(GetClass(youclassname)).Create(Application) do begin
Show;
end;

请给 flyfishlover(飞鱼) 加分!
京霾 2003-12-22
  • 打赏
  • 举报
回复
最笨的方法,就是为每个窗口编号,然后用case语句!
xjzh 2003-12-22
  • 打赏
  • 举报
回复
请问 flyfishlover(飞鱼):我在打开窗口前还得针对每一个窗口写上RegisterClasses([TForm2]);
那又有什么意义呢?
flyfishlover 2003-12-17
  • 打赏
  • 举报
回复
uses unit2;

procedure TForm1.Button1Click(Sender: TObject);
begin
RegisterClasses([TForm2]);
with TFormClass(GetClass('T'+'Form2')).Create(Application) do begin
Show;
end;
end;

xjzh 2003-12-17
  • 打赏
  • 举报
回复
如何强制转换?无法实现。
koma2003 2003-12-17
  • 打赏
  • 举报
回复
用强制转换就OK了
xjzh 2003-12-17
  • 打赏
  • 举报
回复
我想根据不同的条件从数据库中取出窗口的名称,再根据窗口的名称动态打开窗口,请问如何实现。
xjzh 2003-12-16
  • 打赏
  • 举报
回复
我想根据不同的条件打开不同的窗口。

5,379

社区成员

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

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