怎样动态的生成界面?

时间:2021-10-01 13:43:54
我的意思是:
现在给你一个文本,该文本描述了这个界面,
比如,某个按钮或文本框在什么位置大小如何等等。
程序应该怎样根据描述文本,动态生成这个界面呢?

12 个解决方案

#1


动态生成嘛。关键是你的文本是如何组织的。举例看看。

#2


RC文件不就是这样做的

#3


文本解释这一部分,还好理解
无非是按字符串字段解析出来。
比如说:
第一个字段是要生成的控件名
第二个是生成的位置
第三个其他一些属性

如果只是显示它,是不是根据解析的内容直接new就可以了?

关键是还要用它进行数据传递,比如文本框等等
其中的消息传递和数据传递应该怎么做呢?

#4


rc文件不就是这样的,参考一下

#5


位置大小都定了,就可以使用各个控件的Create方法创建了。

按顺序读文件就行了,读到哪个类型,就用switch..case方法跳到指定的位置去创建一个就行了。创建好的东西放在链表里,好清除。

消息处理可能不太好弄,你可以做个数量限制,每种控件的ID给一个范围,然后使用ON_MESSAGE_RANGE的方式定位到你的处理函数里,通过这个处理函可以很方便知道是哪一个控件,根据链表知道它的函义再进行不同的处理。

#6


有变通的方法:
1)使用property control,类似VB集成环境中的属性编辑器
网上有。
2)使用grid控件,比如formula one, 可以使用excel文件作为输入的模版
borland产品附带。

#7


property control和formula one能实现我要的效果吗?
我的程序需要通过读取一个描述文本,来生成一个新的定制界面。

#8


使用vbscript控制不好吗?当然,你的程序需要做成容器。

#9


用formula one生成用户定义格式的报表效果很不错

#10


呵呵,UNIX字符界面下的菜单之类的东西好多的想法都是这样的,
关键在于描述的够不够

#11


up

#12


还有没有其他的方法?
能不能说得再详细些

#1


动态生成嘛。关键是你的文本是如何组织的。举例看看。

#2


RC文件不就是这样做的

#3


文本解释这一部分,还好理解
无非是按字符串字段解析出来。
比如说:
第一个字段是要生成的控件名
第二个是生成的位置
第三个其他一些属性

如果只是显示它,是不是根据解析的内容直接new就可以了?

关键是还要用它进行数据传递,比如文本框等等
其中的消息传递和数据传递应该怎么做呢?

#4


rc文件不就是这样的,参考一下

#5


位置大小都定了,就可以使用各个控件的Create方法创建了。

按顺序读文件就行了,读到哪个类型,就用switch..case方法跳到指定的位置去创建一个就行了。创建好的东西放在链表里,好清除。

消息处理可能不太好弄,你可以做个数量限制,每种控件的ID给一个范围,然后使用ON_MESSAGE_RANGE的方式定位到你的处理函数里,通过这个处理函可以很方便知道是哪一个控件,根据链表知道它的函义再进行不同的处理。

#6


有变通的方法:
1)使用property control,类似VB集成环境中的属性编辑器
网上有。
2)使用grid控件,比如formula one, 可以使用excel文件作为输入的模版
borland产品附带。

#7


property control和formula one能实现我要的效果吗?
我的程序需要通过读取一个描述文本,来生成一个新的定制界面。

#8


使用vbscript控制不好吗?当然,你的程序需要做成容器。

#9


用formula one生成用户定义格式的报表效果很不错

#10


呵呵,UNIX字符界面下的菜单之类的东西好多的想法都是这样的,
关键在于描述的够不够

#11


up

#12


还有没有其他的方法?
能不能说得再详细些