【问题标题】:Submenu wrong position in Delphi applicationDelphi应用程序中的子菜单位置错误
【发布时间】:2012-10-02 17:51:45
【问题描述】:

我的应用程序是用 delphi 编写的。出于某种原因,主菜单的行为不再像昨天那样(我可能在不知情的情况下触摸了一些属性)。现在,当我单击带有子项的菜单项时,虽然箭头位于右侧,但子菜单一直向左打开。

是什么原因,如何恢复?

【问题讨论】:

  • 弹出菜单,使子菜单适合当前桌面。 Windows 会自动执行此操作,如果子菜单不在桌面上,则会显示在另一侧。
  • 其他应用的菜单怎么样?
  • 在控制面板中搜索诸如平板电脑设置之类的内容,或者与触摸屏、输入设备等相关的内容。打开左侧的子菜单可以让它们更容易查看,例如您正在使用右手用钢笔之类的..
  • Sertac,非常感谢!那解决了它。我更改了平板电脑设置中的选项。我不知道为什么邪恶的窗口决定改变它。我通常从不更新操作系统,昨天我有机会这样做,看看发生了什么......谢谢
  • @Sertac:不错的收获!您应该将其发布为答案。

标签: delphi menu main


【解决方案1】:

正如问题的 cmets 所揭示的,这与编程无关。在控制面板的平板电脑设置中有一个设置可以做到这一点。设置的原因是,当一个人用右手使用笔等时,如果子菜单在其父菜单的右侧打开,则会被笔遮挡。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,这与我的“触摸屏”或其他与平板电脑相关的设置无关 我通过更改 TMainMenu 类型的 MainMenu 的一些功能发现: 只需将“OwnerDraw”功能设置为 False 并将“ParentBiDiMode”设置为 true 因此,如果您的父视图已经很好,则此 MainMenu(子菜单)将符合其父视图。 我做了 100 次,它对我有用

    【讨论】:

    • 我想知道你为什么要这样做 100 次,因为默认情况下“ParentBiDiMode”是“true”而“OwnerDraw”是“false”。
    • 我的意思是 100 个项目
    • 我的意思是 OwnerDraw 默认已经是 false,ParentBiDiMode 默认已经是 true,为什么你在 100 个项目中更改了它们然后又恢复为默认值?
    • 我在任何项目上总是遇到一些问题,有时他们完全由他们自己完成
    猜你喜欢
    • 2014-01-22
    • 2012-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多