问题标签 [custom-component]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6121 浏览

delphi - Delphi 包中的“隐式导入”总是一件坏事吗?

尝试为一组TFrame-descendent components重新排列我的包,我发现似乎有必要将我的一些实用程序 TFrame 后代与使用它们的对话框表单分开,主要是因为前者已注册到调色板为 true组件,这似乎有时会使 IDE 与使用它们的对话框形式混淆。对话表单依次由非可视组件调用,这些组件是第三个包的一部分。到目前为止,这似乎使编译器的大多数与依赖相关的抱怨/困惑消失了。(不过,我还没有出去)。

使用对话框表单(调用框架)编译包时,我收到警告“单元'MyFrames'隐式导入包'MyDialogForms'”

鉴于它显示为编译器警告,我很久以前就有这样的印象,即“隐式导入”一个单元通常不是一件好事。有没有具体情况不是这样的?即隐式导入一个单元是可以的,和/或适当的做法?...如果是这样,那些具体情况是什么?

0 投票
3 回答
2150 浏览

delphi - 创建自定义表单设计器

我想在 Delphi 中创建一个自定义的“数据模块”,一个类似 TDataModule 的(可能是继承的)类,它有一个基于自定义网格的设计界面(每行一个组件,一些属性作为列)。这可能吗?我应该从哪里开始?

我目前正在使用 Delphi 2007。

0 投票
3 回答
3359 浏览

delphi - Delphi 2009:传递组件名称 onclick 事件然后设置属性

我有一个 TSpeedButton 类型的自定义组件,它定义了两个额外的属性:

我在设计时设置了 CommentHeading。

当按下速度按钮时,会显示一个备忘录,其下方有一个用于保存其内容的按钮。处理此问题的过程:

ViewComments 过程本身:

备忘录的内容需要分配给自定义 SpeedButton 的 CommentText 属性。

我最初的想法是,我可以在按下自定义 SpeedButton 时将组件名称传递给变量,然后在按下备忘录上的保存按钮时检索该名称,并使用它将备忘录文本分配给 speedbuttons CommentText 属性。但后来我意识到,要做到这一点,我必须使用某种 case..of 语句来检查每个可能的 speedbutton 名称,然后将 memo 值分配给它的属性,这看起来非常乏味。

有没有更简单的方法可以将备忘录文本分配给打开备忘录的快速按钮?

0 投票
3 回答
9200 浏览

delphi - Delphi 2009 - 在自定义 Delphi 组件中设置默认属性值

这应该很简单,但我找不到我想要的确切答案。我有一个基于 TSpeedButton 的自定义 delphi 控件。我希望 SpeedButton 的 Caption 属性始终为“Comments”,但我不想在运行时设置它我想在组件本身中设置它,以便当我将它放在我的表单上时它已经填充了这个文本。我还想设置按钮的高度和宽度,但我想这样做的方法与设置标题的方法相同。

为了完整起见,这里是组件代码:

0 投票
1 回答
179 浏览

delphi - 什么时候安装,什么时候只构建作为大型项目一部分的可视化组件包

语境:

我一直在开发一个使用许多基于框架的自定义组件的应用程序(我一直在学习 ,这里的人们对这些组件非常 帮助!)。

由于我正在修改应用程序经常使用的可视化组件,并且这些组件相当多且相互关联(相当多的继承等),我想尽可能简化修改/构建过程。

问题:

何时需要实际安装可视化组件包,而不是仅构建(或仅“编译”?)使用和引用这些组件的 EXE 项目?当我更改会影响对象检查器的成员时,我是否只需要真正“重新安装”一个包到调色板?这里的任何概念性指导都将受到欢迎。

再次感谢,提前。:)

0 投票
1 回答
312 浏览

delphi - TForm 属性,它是 TFrame 后代的数组(或集合)

我再次从与以前略有不同的角度探索这个主题:

我有 TForm 后代,它在其他几个组件中用作对话框,我想将计数的 TFrame 后代数组作为属性添加。

我应该为此使用什么多项目属性方法?(数组、TList、TObjectList、TCollection、TOwnedCollection 等)。

(从概念上讲,我也很想知道“为什么”)

0 投票
1 回答
502 浏览

delphi - 将 TCollection 与已定义的类一起使用

(注意:这与我的最后一个问题有些相关)。

我是在 Delphi 中使用 TCollection 的新手,并且仍在思考处理一对多类/属性项关系的各种方法。探索 TCollection 和 TCollectionItem,我遇到了几个问题:

1) 是否可以将 TCollection 或 TOwnedCollection 用于 TForm 属性?(还没有尝试过,但我提前想知道它的内置对象检查器功能是否会导致问题)。

2)如果有人想要使用一些已经定义的其他地方的类,它不能直接从 TCollectionItem 继承,与 TCollection(即“作为”一种“TCollectionItem”),可以实现吗?如果是这样,那是否可以通过接口完成?...或者最好的方法是什么?

0 投票
2 回答
45024 浏览

android - 创建自定义 ImageView

我通过扩展仅在屏幕上绘制一些文本的 ImageView 创建了一个自定义图像视图,但是我没有看到 Emulator Screen 中绘制的任何内容,但日志消息和 printlns 会打印在日志控制台中。我不是在做什么吗?

这是我的活动

这是我的 CustomImageView

甚至 onTouchEvent() 中的日志消息也被打印出来,但没有绘制任何内容。

这是我的 main.xml 有布局

0 投票
2 回答
30016 浏览

java - Android - 编写自定义(复合)组件

我目前正在开发的 Android 应用程序的主要活动已经变得非常大。这主要是因为它包含一个TabWidget带有 3 个选项卡的选项卡。每个选项卡都有很多组件。该活动必须同时控制所有这些组件。所以我想你可以想象这个 Activity 有 20 个字段(几乎每个组件都有一个字段)。它还包含很多逻辑(单击侦听器、填充列表的逻辑等)。

我通常在基于组件的框架中所做的是将所有内容拆分为自定义组件。然后,每个自定义组件都有明确的责任。它将包含它自己的一组组件以及与该组件相关的所有其他逻辑。

我试图弄清楚如何做到这一点,并且我在 Android 文档中找到了他们喜欢称之为“复合控件”的东西。(请参阅http://developer.android.com/guide/topics/ui/custom-components.html#compound并滚动到“复合控件”部分)我想基于定义视图结构。

在文档中它说:

请注意,就像使用 Activity 一样,您可以使用声明性(基于 XML)的方法来创建包含的组件,也可以在代码中以编程方式嵌套它们。

嗯,这是个好消息!基于 XML 的方法正是我想要的!但它没有说明如何做,只是它“就像一个活动”......但我在一个活动中所做的是调用setContentView(...)从 XML 中膨胀视图。如果您例如 subclass ,则该方法不可用LinearLayout

所以我尝试像这样手动扩展 XML:

LinearLayout这有效,除了我正在加载的 XML 已声明为根元素这一事实。这导致膨胀LinearLayout的成为一个孩子,MyCompoundComponent它本身已经是一个LinearLayout!! 所以现在我们在它们之间有一个冗余的 LinearLayoutMyCompoundComponent和它实际需要的视图。

有人可以为我提供一种更好的方法来解决这个问题,避免冗余LinearLayout实例化吗?

0 投票
1 回答
1926 浏览

jsp - Facelet 自定义组件 - 防止呈现 ui:在自定义组件中插入内容

这是我的自定义组件定义:

这就是我使用它的方式:

我有麻烦<ui:insert name="field" />。它总是呈现。如果 disabled=true 我只<input type="text" disabled="disabled" value="" name="itSIN" id="itSIN"/>在视图顶部得到元素。注意:我使用 ui:insert 传递 jsf 组件,因为我不知道如何将验证器传递给自定义组件内的 h:inputText。