【发布时间】:2011-11-28 19:42:25
【问题描述】:
我试图在派生自 TComboBox 的第三方组件中隐藏下拉按钮。
我尝试将样式设置为 csSimple,但此解决方案对我不起作用...第三方组件中有代码在各个地方检查 csSimple。我不想更改此代码。
根据我从其他帖子中看到的情况,其他人建议使用不同的组件,例如文本框,或者用一些东西覆盖下拉箭头以隐藏它。我也想避免这些解决方案。
还有其他方法吗?我在想也许有办法用 PostMessage/SendMessage 做到这一点,但我不知道应该作为参数传递什么。
谢谢
【问题讨论】:
-
与控件竞争可能是不明智的。
-
我同意安德烈亚斯的观点。为什么需要使用这个不能满足您需要的自定义控件?我已经查看了MSDN Combo Box 并且没有任何方法可以隐藏组合按钮而不将样式设置为简单,我至少可以找到。
-
感谢您查看 MSDN。在使用遗留代码时,有些情况需要这些事情。我可能最终会编写自己的组件,但是隐藏按钮的简单 winmsg 会很有帮助。
-
重复:make ComboBox drop-down button invisible in Delphi?。如果您透露了(第 3 次)当事人,则可能有人提供了与其他问题一样的答案。
-
@SertacAkyuz:我们正在使用 JVCL。两个组件,第一个是 TJvDBLookupComboEdit,它最终继承自 TCustomMaskEdit(不是 TCustomComboBox),它们实际上有一个 FShowButton 属性,我们可以利用它。第二个是 TJvDBComboBox,它确实继承自 TCustomComboBox。这是我遇到的麻烦。谢谢!
标签: delphi combobox sendmessage postmessage