系统发送消息以通知应用程序关于可以影响其位置和外观的事件。消息在应用程序定义的消息的上下文中发送。应用程序在发送ABM_NEW消息以注册应用程序时指定消息的标识符。通知代码位于应用程序定义的消息的【wParam中】参数中。
当任务栏的大小,位置或可见性状态改变时,当另一个应用栏被添加到屏幕的同一边缘时,或当屏幕的同一边缘上的另一个应用栏被调整大小或删除时,应用栏会收到ABN_POSCHANGED通知消息。应用栏应该通过发送ABM_QUERYPOS和ABM_SETPOS消息来响应此通知消息。如果appbar的位置已更改,则应调用MoveWindow功能将其移动到新位置。
当任务栏的自动隐藏或永远在线状态更改__时,系统发送ABN_STATECHANGE通知消息,即当用户检查或取消选中任务栏属性表上的“始终在上”或“自动隐藏”复选框时。如果需要,应用栏可以使用此通知消息将其状态设置为与任务栏的状态相一致。
当全屏应用程序启动或最后一个全屏应用程序关闭时,应用程序栏将收到ABN_FULLSCREENAPP通知消息。【lParam的】参数指示全屏应用程序是打开还是关闭。如果它是打开的,应用程序栏必须下降到Z顺序的底部。当最后一个全屏应用程序关闭时,应用程序应恢复其Z位置。
当用户从任务栏的上下文菜单中选择级联,平铺水平或平铺垂直命令时,应用栏会收到ABN_WINDOWARRANGE通知消息。在重新排列窗口(【lParam的】为TRUE)之前和安排窗口(【lParam的】为FALSE)之后,系统会发送消息两次__。
应用程序可以使用ABN_WINDOWARRANGE消息将其从级联或平铺操作中排除。要排除自身,当【lParam的】为TRUE并且【lParam的】为FALSE时,该应用程序应隐藏自身。如果应用程序栏隐藏自身以响应此消息,则不需要发送ABM_QUERYPOS和ABM_SETPOS消息以响应级联或平铺操作。