这些功能是怎么实现的

这些功能是如何实现的?
1. 给用户自己布局, 比如,使用哪些控件,比如选择了需要使用的,就显示出来,不选的就不出现。客户还可以调整已选控件的位置与顺序。下次打开时,就是上次自己选择与布局的结果。

2。用户自行设计打印的内容,布局,字体大小,数据库的字段绑定。

谢谢!

------解决方案--------------------
1 使用一个文件,如ini文件记住每次的布局,每次打开时都要读取,使用xml文件也可

2 除了布局外,通过动态创建报表的各项内容都可实现.对于报表布局这个没做过,不好说.
------解决方案--------------------
创建控件 可以 TButton* Button = new TButton(this) .... 再使用 InsertControl 将其放到特定位置
拖动控件 可以让控件特定事件进行处理,例如MouseDown 和 MouseMove
而控件的用于工作的事件则可以动态指定由某一函数执行,这个在IDE开发界面上很容易看出来
界面的保存你可以用界面流(界面可以导出流)以二进制存于磁盘或者数据库内,也可以用XML或者INI文件之类的来描述
另外为了维护界面上的控件还会经常用到FindComponent之类的函数
------解决方案--------------------
一般每个控件本身都有事件,自己在鼠标移动事件中做即可