社区
VCL组件使用和开发
帖子详情
自制组件中,如何限制对象属性在设计期时下拉列表里的显示?
Libran
2003-06-22 01:14:57
例如,编辑TPageControl的ActivePage属性时,打开下拉列表,里面只会显示所有属于当前PageControl对象的TabSheet列表;而对于其它PageControl里的TabSheet,虽然同样是TTabSheet类,就不会显示出来。
请教该怎么实现?
...全文
158
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中也有例子。
Altium Designer 22使用笔记(2)---库元件创建
本文详细介绍了使用Altium Designer 22创建原理图元件的完整流程。首先讲解了原理图与元件库的格栅设置方法,建议将元件库与原理图格栅保持一致以避免对齐问题。随后分步骤演示了电阻、二极管和IC芯片(CH343G)三种典型元件的创建过程,包括元件
属性
设置、图形绘制、引脚放置等关键操作。重点说明了引脚序号、名称、长度等参数的配置方法,以及如何通过资料手册获取IC芯片的引脚信息。本文所述方法通用性强,通过组合使用线、填充图形和引脚等基本元素,可以完成各类原理图元件的创建。
C#基础教程
第一章 C#语言基础 本章介绍C#语言的基础知识,希望具有C语言的读者能够基本掌握C#语言,并以此为基础,能够进一步学习用C#语言编写window应用程序和Web应用程序。当然仅靠一章的内容就完全掌握C#语言是不可能的,如需进一步学习C#语言,还需要认真阅读有关C#语言的专著。 1.1 C#语言特点 Microsoft.NET(以下简称.NET)框架是微软提出的新一代W...
TowardsDataScience 博客
中
文翻译 2022(四百零五)
回归预测一个连续的数值变量。一升汽油的价格道琼斯工业指数的价值钻石的价格Q1 2022 年的收入有许多与回归相关的算法。它们通常以“回归者”或类似的词结尾。线性回归套索如你所料,输出或预测(到目前为止)是一个连续的数字——就像石油价格一样,给出一堆与石油价格相关的数据。分类问题比回归问题更快地切入正题,预测一个*分类目标。*分类变量就像一个
下拉列表
框,包含可供选择的值列表。这些值可以是数字或文本,尽管它们通常以文本开头。一周
中
的几天衬衫尺码(小号、
中
号、大号)
delphi控件使用
Standard页 1- Tlistbox控件 重要
属性
items.* 举例,界面
设计
如下左,执行结果如下右: 代码为 procedure TForm1.Button1Click(Sender: TObject); begin edit1.Text := listbox1.Items.CommaText; edit2.Tex
VC如何在VC5
中
控制工具条的停靠位置
2005-09-01如何在VC5
中
控制工具条的停靠位置 - [VC专栏]作者:宋立波 在VC5
中
开发大型应用程序时,工具条通常是程序
中
必不可少的重要功能因素, 其
中
工具条在整个窗口
中
的停靠位置尤其关键,它直接影响到程序界面的外观形 象。下面针对笔者实际开发
中
各类工具条停靠位置的控制过程,详细阐述其实现 技巧。 一、标准工具条停靠位置的控制 VC5 应用程序向导生
VCL组件使用和开发
604
社区成员
13,457
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章