属性参数描述

wenkui 2007-12-07 05:37:11
我的软件有很多部分有“控件”需要设置属性,需要一个统一的属性设置对话框。
可是每个“控件”设置的参数各不相同,而且有的属性之间有相互约束的关系,并且属性有默认值。
请问用这样的方式来描述这些属性,使得属性设置对话框不会因为属性的变化而改写代码?即解开属性设置对话框与
属性之间的耦合性?
...全文
185 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
an_bachelor 2007-12-14
  • 打赏
  • 举报
回复
顯示對屬性的描述的代碼不需要修改是可以做到的
比如代表一個屬性項的接口是
IPropertyEntry
你可以為之實現一個代表值改變的方法Change
而顯示屬性的的代碼從IPropertyEntry的另一個方法GetDesc來獲得描述文本
為每一种屬性做好這個接口的實現
每一個屬性項一個IPropertyEntry對象
儅你的屬性改變 你只要重寫這個接口的實現 或者
儅某一類接口的特定實例他的Change行爲需要改變 你可以包容這一類屬性的IPropertyEntry接口
pptor 2007-12-14
  • 打赏
  • 举报
回复
jf
dandycheung 2007-12-14
  • 打赏
  • 举报
回复
思路已经有了,剩下的就是实现。不可能帮你把代码全写出来的,呵呵。
wenkui 2007-12-14
  • 打赏
  • 举报
回复
呵呵 谢谢珠穆朗玛 不过你的解释还是没有解决我的问题
我现在的问题就是想用文本 不管是静态还是动态的 解决上面的问题
wenkui 2007-12-13
  • 打赏
  • 举报
回复
珠穆朗玛 说的对于普通的参数设置是够用了的
可是如果两个参数之间有互相的影响 怎么解决呢?
(比如一个参数和另外一个参数是互斥的,一个参数选中令一个参数就要置灰)
没有想到该如何描述这种关系
能不能具体的说说呢?
dandycheung 2007-12-13
  • 打赏
  • 举报
回复
呵呵,楼主,这也有很多种解决办法。如果你的应用还不是很复杂,而且,我们姑且把“很复杂”认为是“能够用相对简单的静态的文本属性来描述”,在这种情况下,那我们就简单地进行描述。而一旦数据之间有了关联,我们就可以认为出现了“动态”的情况,很显然,简单描述通常适应不了这种场合,这也是为什么有很多供应用程序使用的脚本语言如 javascript、VBA、LUA 的出现的原因。
buggycode 2007-12-13
  • 打赏
  • 举报
回复
(比如一个参数和另外一个参数是互斥的,一个参数选中令一个参数就要置灰)

简单,每个属性类有一个enable的函数(接口)这个函数来决定是否要enable,缺省true;

wenkui 2007-12-13
  • 打赏
  • 举报
回复
up
dandycheung 2007-12-10
  • 打赏
  • 举报
回复
典型的数据驱动界面问题。首先统计出所有的属性需要什么样的界面控件来呈现,然后组织表述每一条属性所需要的数据,大致有:数据类型(根据此类型决定界面呈现方式);数据的缺省值;数据的上下限(如果有的话);数据是否是枚举类型,如果是,各个枚举值的字面描述文本。有了这些,基本上就可以根据每条数据来动态生成界面元素了。比如数据是字符串类型的,可能就要创建一个编辑框;整型的,就可能是一个带有上下调节钮的编辑框,等等。仅供参考。
wenkui 2007-12-10
  • 打赏
  • 举报
回复
帖子沉了 up一下
等待各位老大的意见!!!
Software 2007-12-07
  • 打赏
  • 举报
回复
UP
wenkui 2007-12-07
  • 打赏
  • 举报
回复
差不多
iyranly 2007-12-07
  • 打赏
  • 举报
回复
就像VC里面的属性框一样?

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧