社区
VCL组件使用和开发
帖子详情
自制组件中,如何限制对象属性在设计期时下拉列表里的显示?
Libran
2003-06-22 01:14:57
例如,编辑TPageControl的ActivePage属性时,打开下拉列表,里面只会显示所有属于当前PageControl对象的TabSheet列表;而对于其它PageControl里的TabSheet,虽然同样是TTabSheet类,就不会显示出来。
请教该怎么实现?
...全文
189
5
打赏
收藏
自制组件中,如何限制对象属性在设计期时下拉列表里的显示?
例如,编辑TPageControl的ActivePage属性时,打开下拉列表,里面只会显示所有属于当前PageControl对象的TabSheet列表;而对于其它PageControl里的TabSheet,虽然同样是TTabSheet类,就不会显示出来。 请教该怎么实现?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
runnerrunning
2003-06-23
打赏
举报
回复
up
kingcaiyao
2003-06-22
打赏
举报
回复
上面写的是类似TDataField一样的属性,该属性用于获得所有字段名称。
kingcaiyao
2003-06-22
打赏
举报
回复
属性编辑器肯定是要写的,不过先要判断一下各个TabSheet与PageControl的从属关系,也就是要用到Parent属性。写属性编辑器很简单,以什么样的属性编辑器类作为父类进行继承,这要看你的要求(你的问题中不一定要用TEnumPropertyEditor类)。在头文件定义一个属性编辑器类,在.cpp文件对它进行注册,一般属性编辑器的实现方法都是内联函数,比如说:
class TDataOfFieldProperty:public TStringProperty
{
public:
TPropertyAttributes __fastcall GetAttributes()
{
return TPropertyAttributes()<<paValueList;
}
void __fastcall GetValues(TGetStrProc Proc)
{
Proc("None");
TStrings *pList=new TStringList();;
TKingKing *pDCBX=dynamic_cast<TKingKing*>(GetComponent(0));
if(pDCBX)
{
if(pDCBX->DataSource)
{
TDataSet *pDataSet=pDCBX->DataSource->DataSet;
if(pDataSet)
{
pDataSet->GetFieldNames(pList);
for(int i=0;i<pList->Count;i++)
{
Proc(pList->Strings[i]);
}
}
}
}
delete pList;
}
};
.cpp文件中对其进行注册:
namespace Tkingking
{
.............................................
RegisterPropertyEditor(AnsiStringInfo(),__classid(TKingKing),"DataField",__classid(TDataOfFieldProperty));
}
Siney
2003-06-22
打赏
举报
回复
你需要从在特性编辑器的基类,根据你的要求你应该继承自TEnumProperty,实现其中的几个方法:GetAttributes,GetValue,SetValue等,然后注册特性编辑器:
RegisterPropertyEditor
extern PACKAGE void __fastcall RegisterPropertyEditor(Typinfo::
PTypeInfo PropertyType, System::TMetaClass* ComponentClass, const
AnsiString PropertyName, System::TMetaClass* EditorClass);
具体请参看help topic,和一些元件设计的书籍。
Lewolf
2003-06-22
打赏
举报
回复
编写属性编辑器,属性编辑器肯定是在当前的PageControl中查找TabSheet的,TabSheet的Parent就是容纳其的PageControl,也就是在PageControl中根据Child中的对象来决定现实的内容,这个你要看看属性编辑器部分的内容,帮助上有介绍,C++ Builder中也有例子。
表单标签
属性
(input
下拉列表
以及多行文本域)
本文介绍了HTML
中
的表单标签
属性
,重点讲解了`form`表单的使用,`input`表单的`type`
属性
,特别是在设置性别按钮、实现单击文字选
中
、创建
下拉列表
以及定义多行文本域等方面的应用。
NPOI XSSF 生成
下拉列表
值没有
限制
并可以生成多列
下拉列表
网上部分代码用NPOI的HSSF生成EXCEL
下拉列表
时,值有
限制
。本文给出核心代码,使用NPOI XSSF生成
下拉列表
,值无
限制
且可生成多列。详细介绍了SetCellDropdownList方法的参数及代码实现,还对关键代码进行了解析。
学习使用bootstrap实现
下拉列表
多选
组件
本文详细介绍了如何使用bootstrap-select
组件
来创建
下拉列表
的多选功能,包括
组件
的开源地址、API说明、效果示例、使用方法、取值赋值以及
组件
的封装。该
组件
支持搜索、分组、
限制
选
中
数量、自定义样式和标签等多种功能,适用于各种前端开发需求。
POI导出Excel时
下拉列表
值超过255的问题(String literals in formulas can‘t be bigger than 255 characters ASCII)
本文介绍了解决使用POI导出Excel时,因
下拉列表
数据过长导致的255字符
限制
错误。通过在Excel
中
创建额外的隐藏sheet页存储数据,再将其作为
下拉列表
的来源,成功规避了长度
限制
。
【Unity学习笔记】DropDown
组件
本文是UGUI
中
Dropdown控件的学习笔记。介绍了Dropdown控件(
下拉列表
)结构,如Label、Arrow和Template等;阐述了Dropdown
组件
属性
;还补充了
下拉列表
的位置,其由Template的相关
属性
决定,且有避免超出Canvas范围的逻辑,但存在Template大小
限制
问题。
VCL组件使用和开发
604
社区成员
13,456
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章