6

我有一个半透明的全屏表单,我需要可以通过这个表单控制我的电脑。

实际上,我们需要在计算机上使用红色屏幕过滤器来观察天空,但我们不想使用红色有机玻璃之类的东西。

我尝试了 Windows API(监视器配置功能) http://msdn.microsoft.com/en-us/library/windows/desktop/dd692964 (v=vs.85).aspx 但我做不到。我做了像红色滤镜这样的透明表格(一切看起来都是红色和黑色的色调),但我无法通过我的表格控制计算机。有人帮我吗?

4

1 回答 1

13

创建一个新的 VCL 项目。在主窗体的属性中,设置ColorclRed, AlphaBlendto true, AlphaBlendValueto 127, WindowStateto wsMaximized, FormStyleto fsStayOnTop, 添加如下代码:

type
  TForm1 = class(TForm)
  private
  protected
    procedure CreateParams(var Params: TCreateParams); override;

...

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.ExStyle := Params.ExStyle or WS_EX_LAYERED or WS_EX_TRANSPARENT;
end;

示例视频示例编译的EXE源代码

于 2012-08-04T17:02:53.883 回答