此代码中的& HA0000常量是什么

时间:2013-05-04 15:14:00

标签: .net vb.net winapi

Public Class Form1
  Protected Overrides ReadOnly Property CreateParams() As CreateParams
    Get
      Dim CP As CreateParams = MyBase.CreateParams
      CP.Style = &HA0000
      Return CP
    End Get
  End Property
End Class

我进行了谷歌搜索,发现& HA0000是APPCOMMAND_VOLUME_UP。但是,此代码用于在单击任务栏图标时最小化和恢复非边框表单。请给我一个解释。感谢。

1 个答案:

答案 0 :(得分:3)

这些是窗口样式。其列表可在MSDN上找到。

窗口样式是使用按位OR组合的位标志。因此,首先将000A0000分解为其组成部分:0008000000020000。现在,WS_SYSMENU00080000WS_MINIMIZEBOX00020000

使用魔法常量编写代码的人应该给予适当的羞辱性惩罚。该代码应为:

CP.Style = WS_SYSMENU Or WS_MINIMIZEBOX

显然你需要定义WS_*常量,但是为了未来的代码读者的利益,确实需要花时间这样做。