获取系统默认菜单弹出对齐/方向

时间:2016-01-26 19:10:40

标签: winapi

我想知道默认菜单弹出对齐/方向是什么。当您在应用程序中使用主菜单或使用上下文弹出菜单时,它会向右打开,居中或向左打开 - 具体取决于Windows版本,一些自定义注册表设置或左/右选项。

必须有一种方法可以使用某些Windows API获取该信息(而不是为不同的Windows版本/首选项/注册表修改等构建复杂的函数。)

我需要将此信息应用于我的应用程序中的某些自定义元素,我想要打开与该系统上所有其他菜单相同的方向。这是一个Delphi应用程序,但如果它是一个API调用,那么我会对您选择的语言解决方案感到高兴。

1 个答案:

答案 0 :(得分:0)

感谢Raymond Chen和Jonathan Potter的评论,这是一个可以解决问题的功能:

function PopupMenusRightAligned(): Boolean;
var
  res: Integer;
begin
 SystemParametersInfo(SPI_GetMenuDropAlignment, 0, @res, 0);
 Result := res=0;
end;

API文档:https://msdn.microsoft.com/ms724947