请问各位老大,多界面程序怎么做界面比较合适,如果想做成dll链接库,该怎么做?请大家广泛发表意见 ( 积分: 100 )

  • 主题发起人 主题发起人 wyb_506
  • 开始时间 开始时间
我正在做的项目就是多界面的,
数据库项目:可以把所有变量存到数据库表中
非数据库项目:可以用INI文件保存,
记住:整个项目所有的界面窗体都从同一个窗体(比如:TBaseForm)继承,
然后只要在TBaseForm的创建或显示事件中调用BrowserObj(self),

function GetValue(VarName: string): string;
begin
//自已写吧,别说你不会,
...
end;

procedure BrowserObj(Obj: TComponent) virtual
//用virtual,以便供以后子类可以override...
var
i: integer;
begin
for i:= 0 to obj.ComponentCount - 1 do
begin
if obj.Components is TLabel then
TLabel(obj.Components).Caption:= GetValue(obj.Components.Name)
else if obj.Components is TPanel then
TPanel(obj.Components).Caption:= GetValue(obj.Components.Name)
else if obj.Components is TDBGrid then GetDBGridCaption(obj.Components.Name)
else if ...
...
//在这里你就尽管写就是了,如果是像DBGrid就再做个函数GetDBGridCaption循环每个列并调用GetValue(),以此类推...
//当然你在程序中要把所有可能用到的都写到这里....
....
end
//递归调用
if obj.Components.ComponentCount > 0 then BrowserObj(obj.Components);
end;

//
// if .. then ...
// else if ... then ...
// esel if ... then ...
//上面的if else 不知有没有更简单的写法,至少我还不知道,你知道了也请告诉我吧

//以上为我的做法,一并与大家探讨这方面的做法,
 
这样是不是有点麻烦?好处在那里? 还有就是 做成左边导航条,右边变化窗口的不好吗?像outlook那样的,不好吗?
欢迎继续~~
 
做成DLL很简单啊,DLL里创建窗体返回给主程序,主程序再将这个窗体嵌入到一个Panel里。用MDI方式就更简单了,跟一般的程序没区别。
 
多人接受答案了。
 

Similar threads

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