delphi - 处理模态形式的 flash

标签 delphi winapi delphi-xe2


我创建了自定义表单:BorderStyle is None 并使用一种形状作为标题背景。
当此表单显示 Modal 且用户在父窗口中单击时,我想模拟 Flash 表单。
例如,在闪烁表单时更改此形状的填充颜色。
使用表单的 ActivateDeActivate 事件,仅在我的应用程序中以及在表单之间切换时有效。

最佳答案

我找到了答案:

type
  TForm2 = class(TForm)
    shp1: TShape;
  public
    procedure WMNCActivate(var M: TWMNCActivate); message WM_NCACTIVATE;
  end;

procedure TForm2.WMNCActivate(var M: TWMNCActivate);
begin
  inherited;
  if M.Active then
    shp1.Brush.Color:= clLime
  else 
    shp1.Brush.Color:= clBlack;
end;

关于delphi - 处理模态形式的 flash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20034754/

相关文章:

delphi - 简单 HTTPRIO 上的内存泄漏

winapi - Process Explorer 是否支持 API 或从控制台命令调用?

c++ - 封装WndProc问题

c++ - Windows 加密 API 是否故意在调试器附加到进程的情况下运行得更慢?

delphi - Delphi [语言、RTL、VCL] 中新增功能的分类列表?

delphi - 启用 vcl 样式后如何使用 native 进度条?

delphi - 如何隐藏对象的 protected 过程?

delphi - 以类型安全的方式将方法的代码作为参数传递

delphi - 哪个数字更接近

delphi - 如何在运行时获取项目中定义的类列表?