突然傻了。谁能救救我??(1分)

  • 主题发起人 主题发起人 easemind
  • 开始时间 开始时间
E

easemind

Unregistered / Unconfirmed
GUEST, unregistred user!
我一直对这种情况没有怎么注意!
比如管理系统。
我只用过pb. 最近想用delphi. 刚才看了一个例程。我有点傻了。
比如一个菜单项对应一个模块窗口。
那个例程还专门写一个打开窗口的过程, 我看了看。 目的就是防止重复打开。 另外是可以
多窗口管理。
我回想了一下。 pb 好像不用专门的 这样的处理过程。
我测试了一下 vb . 比如多窗口 。用form.show就可以。而且可以防止打开多窗口。
我已经感觉到delphi 很无奈了。 做这些重复性的动作。 也可能是我看的例程有问题。
我就是感觉一个复杂的mis. 还要专门写窗口处理函数。 实在太麻烦。

procedure OpenForm(FormClass: TFormClass;
var fm;
AOwner:TComponent);
var
i: integer;
Child:TForm;
begin
for i := 0 to Screen.FormCount -1do
if Screen.Forms.ClassType=FormClass then
begin
Child:=Screen.Forms;
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;
Child:=TForm(FormClass.NewInstance);
TForm(fm):=Child;
Child.Create(AOwner);
end;

----------------------------
打开一个模块窗口用procedure TMainForm.YQ_BorrowExecute(Sender: TObject);
begin
OpenForm(Tfrm_Borrow,frm_Borrow, self);
end;

--------------------------------------
谁能从一个简单的例子来说用。 就是只是一个多窗口,模块内容是空的。
谢谢了。 如果真的这么麻烦,我就放弃了。
 
我刚才看了另一个程序,用的是这种方法。
先都createform
然后showmodal
我感觉这样也不是很合适!! 如果有50个模块窗口,不是都傻了。
 
换个例子吧!
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部