参数输入界面设计 现在要设计一个行业软件,C/S架构,其中有许多基础参数要录入,这就需要设计界面有20-30个,如果我将所有界面都做到主应用程序中,这样主应用程序就太大了,而且维护也不方便,如果做到DLL中导出对话框,感觉不是怎么专业,有做过大型软件开发的大虾们谈谈心得,指点指点。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没什么经验,这个参考:http://community.csdn.net/Expert/topic/3143/3143981.xml?temp=.6971552 你可以把参数界面和主程序分开做。参数界面程序主管配置参数,而且可以把参数存在文件中,比如ini文件。主程序就只管从文件中取出参数即可。 to laiyiling(【壮志雄心】) 看了上面链接的贴子,感觉不错。但我更想知道的是多个界面如何设计,不是单个界面的布局。 to kugou123(酷狗)(程序小混混)我以前是把参数录入界面做到DLL中,然后导出一个对话框,在对话框进行参数录入。可这样的话主应用程序框架不就是一个摆设了吗?有没有好方法将参数输入界面嵌入了主应用程序框架中,这样看上去感觉就好多了。 不知道你有没有看到过工程软件 ProE 或者 Ug 你可以参考一下 1你可以考虑使用页签CTabCtrl的形式,或者使用向导的形式一步步来。ZT:用列表方式,让用户自定义需要录入的数据的录入顺序与层级分类数据录入界面打开时,列表中显示第一层级的所有数据项,按照顺序排列,然后是第二层级的,如此类推。以回车、方向键和Tab键作为触发键,触发数据检查,保存等动作列表方式是最简单的了,必定要使用到自定义方式才可解决问题,因为前提是“分类是动态的”,因此,也只能由用户自己动态的解决部分问题。可以美化一下,对不同层级数据项录入背景色进行定义,以示区分,也可以分段列表,适应单一数据条目有大量文本数据录入的情况,有时候简单的就是最方便的。 如果项目较大,配置的参数较多,可以单独做一个exe进行参数设置,设置好的参数保存在ini文件或者是数据库中,主程序在用到时到指定的地方去取就行了。 可以把配置工具嵌入主程序,也可以单独做一个配置工具exe,主程序进行配置时,启动该exe读写ini文件。然后主程序去读该ini文件。一个配置工具对话框左边树控件,右边放child类型子对话框。先create这20多个子对话框,并隐藏,点击左边的树控件某项,右边显示相应子对话框,进行配置。。 to lixiaosan(小三) eterblue(云流)如果两位说的方法做,虽然代码重用非常方便,但又会带来新的问题,界面控件布局肯定不会怎么合理,这又恰恰是用户比较看重的。我曾这样做过,主应用程序是多文档,文档模板从DLL中导出,文档模板中视图是FormView派生,但我在DLL中要替换FormView派生类视图,就会出现资源冲突。如果直接在主应用程序中替换根本不会出现类似问题。而且在导出的文档模板模板中调用对话框也不会有问题,就是替换替换FormView派生类视图才会发生。 可能我表达能力不够,你没有理解我的意思。我是说做一个自己的界面设计器,设计出来之后自己的程序可以打开这个设计好的界面文件并应用。一时半会的很难说清楚。你的问题:只有你的基类FormView可以使用 enum { IDD = IDD_BASE_FORM_VIEW };这个语句。在派生类里不需要再使用enum { IDD = IDD_BASE_FORM_VIEW }; 之类的语句将FormView与IDD相关联。你只需要在动态连接库(DLL)里写好你需要用的FormView基类,导出,在应用程序中从该基类派生下一级的FormView类就可以了(注意不要使用enum { IDD = IDD_BASE_FORM_VIEW }; )。其次你在dll中的id资源最好和应用程序中的资源保持一致,还要注意检查头文件和vc环境中的Include目录,不要同时包含dll中的resource.h和应用程序中的resource.h。 OpenPrinter第一个参数为空时,第二个参数返回的打印服务器句柄是干嘛用的? 如何实现两个对话框相互转换? VC用ADO连接数据库 关于CRichEditCtrl插入图片的问题 GDI+的Font销毁问题 急求助!!!关于socket网络编程的问题!! 如何让listbox控件向父窗口发送WM_NOTIFY消息? 请问:如何在不在屏幕上画图,而直接画在bmp格式的文件里,以备用呢,谢谢! windows出错处理 请问谁有将jpg文件转换为bmp文件的vc源码? CAsyncSocket网络编程清空接收缓冲区问题!(急) 动态和静态编译的效率问题
http://community.csdn.net/Expert/topic/3143/3143981.xml?temp=.6971552
参数界面程序主管配置参数,而且可以把参数存在文件中,比如ini文件。
主程序就只管从文件中取出参数即可。
看了上面链接的贴子,感觉不错。但我更想知道的是多个界面如何设计,不是单个界面的布局。
我以前是把参数录入界面做到DLL中,然后导出一个对话框,在对话框进行参数录入。可这样的话主应用程序框架不就是一个摆设了吗?有没有好方法将参数输入界面嵌入了主应用程序框架中,这样看上去感觉就好多了。
你可以考虑使用页签CTabCtrl的形式,或者使用向导的形式一步步来。ZT:
用列表方式,让用户自定义需要录入的数据的录入顺序与层级分类数据录入界面打开时,列表中显示第一层级的所有数据项,按照顺序排列,然后是第二层级的,如此类推。
以回车、方向键和Tab键作为触发键,触发数据检查,保存等动作
列表方式是最简单的了,必定要使用到自定义方式才可解决问题,因为前提是“分类是动态的”,因此,也只能由用户自己动态的解决部分问题。
可以美化一下,对不同层级数据项录入背景色进行定义,以示区分,也可以分段列表,适应单一数据条目有大量文本数据录入的情况,有时候简单的就是最方便的。
左边树控件,右边放child类型子对话框。先create这20多个子对话框,并隐藏,点击左边的树控件某项,右边显示相应子对话框,进行配置。。
如果两位说的方法做,虽然代码重用非常方便,但又会带来新的问题,界面控件布局肯定不会怎么合理,这又恰恰是用户比较看重的。
我曾这样做过,主应用程序是多文档,文档模板从DLL中导出,文档模板中视图是FormView派生,但我在DLL中要替换FormView派生类视图,就会出现资源冲突。如果直接在主应用程序中替换根本不会出现类似问题。而且在导出的文档模板模板中调用对话框也不会有问题,就是替换替换FormView派生类视图才会发生。
你的问题:只有你的基类FormView可以使用 enum { IDD = IDD_BASE_FORM_VIEW };这个语句。
在派生类里不需要再使用enum { IDD = IDD_BASE_FORM_VIEW }; 之类的语句将FormView与IDD相关联。
你只需要在动态连接库(DLL)里写好你需要用的FormView基类,导出,在应用程序中从该基类派生下一级的FormView类就可以了(注意不要使用enum { IDD = IDD_BASE_FORM_VIEW }; )。
其次你在dll中的id资源最好和应用程序中的资源保持一致,还要注意检查头文件和vc环境中的Include目录,不要同时包含dll中的resource.h和应用程序中的resource.h。