相关疑难解决方法(0)

Delphi中的Windows 7样式通知弹出窗口

关于Microsoft的通知区域建议,我正在寻找想法或Delphi组件来实现Notification Area Flyouts.

替代文字

第一个"自然"的想法是使用标准的Delphi表单,但我面临两个问题:

  1. 我无法使用标准的"BorderStyle"属性获取表单边框行为.尝试使用GlassFrame属性"模仿"边框,并将BorderStyle设置为bsNone,但是没有边框时没有GlassFrame(至少在Delphi 2007中).
  2. 当用户点击表单本身的任何地方时,我无法弄清楚如何使表单关闭.昨天我尝试了不同的消息,但没有人按预期工作.

我会感谢任何线索或组件来实现它:)

最好的祝福.

jachguate.

PS.在Win7(Delphi)中将通知区域图标转换为程序图标时存在相关问题.

更新[0] 我还在寻找建议.@skamradt答案看起来非常好,但遗憾的是在实践中效果不佳.

更新[1] 最后,在调用SetForegroundWindog强制弹出"激活"后,自动关闭行为正在使用WM_ACTIVATE消息

begin
  FlyoutForm.Show;
  SetForegroundWindow(FlyoutForm.Handle);
end;
Run Code Online (Sandbox Code Playgroud)

现在,我正在寻找建议来达到边界行为和视觉风格,因为最接近的行为是使用样式实现的WS_POPUP或WS_DLGFRAME,而最接近的视觉目标是将WSFOPUP或WS_THICKFRAME设置为样式.

delphi windows-7 notification-area

16
推荐指数
1
解决办法
4490
查看次数

标签 统计

delphi ×1

notification-area ×1

windows-7 ×1