【问题标题】:How can I force a FireMonkey TComboEdit to show its drop down programatically如何强制 FireMonkey TComboEdit 以编程方式显示其下拉列表
【发布时间】:2015-11-25 19:25:17
【问题描述】:

我在 FireMonkey 应用程序中有一个 TComboEdit。

在 VCL 中我可以这样做:

  SendMessage(myComboEdit.Handle, CB_SHOWDROPDOWN, 1, 0);

当然,FMX 中的消息传递与在 VCL 中的工作方式不同,因此这个技巧在 FMX 下似乎不起作用。 (即,它不会暴露给我们)。

如何让 TCombiEdit 显示下拉菜单?

【问题讨论】:

    标签: delphi firemonkey delphi-xe8


    【解决方案1】:

    要显示TComboEdit 控件的下拉列表,您可以使用DropDown 方法,如下所示

     ComboEdit1.DropDown;
    

    或者使用模型的SendMessage方法发送PM_DROPDOWN消息。

     ComboEdit1.Model.SendMessage(PM_DROPDOWN);
    

    【讨论】:

    • 有效。我已经注意到 DropDown 方法是一个打开和关闭的开关。所以我需要添加一个“If not ComboEdit1.DroppedDown then”以防止它关闭已经打开的 DropDown。
    • 另外,"ComboEdit1.Model.SendMessage(PM_DROPDOWN" 似乎也可以作为 DropDown 的开关。它的合作伙伴 "ComboEdit1.Model.SendMessage(PM_CLOSE_DROPDOWN" 没有,所以你也可以做一个显式关闭,然后也切换 DropDown。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 2013-06-04
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多