【问题标题】:Delphi Drawing Focus德尔福绘图焦点
【发布时间】:2010-02-20 20:02:13
【问题描述】:

我正在使用以下代码使我的表单完全透明,以便点击可以“通过”它到达其他窗口。

SetWindowPos( handle, HWND_TOPMOST, 0, 0, 0,0,
                   SWP_NOSIZE or SWP_NOMOVE );
SetWindowLong(form1.handle,GWL_EXSTYLE,WS_EX_TOPMOST or WS_EX_LAYERED);
SetLayeredWindowAttributes(form1.handle,RGB(0,0,0),200,LWA_ALPHA or LWA_COLORKEY);

我的问题是,当我开始在表单上绘图时,可以单击这些绘图并且 Delphi 表单将成为焦点。我希望能够在这些绘图不被“点击”的情况下进行绘制。

我希望我已经足够清楚了。任何帮助表示赞赏。

【问题讨论】:

    标签: delphi winapi drawing focus


    【解决方案1】:

    您还需要设置WS_EX_TRANSPARENT 扩展窗口样式。

    【讨论】:

    • 非常感谢!困扰我很久了。
    【解决方案2】:

    要么给你的窗口 WS_EX_TRANSPARENT 窗口样式,要么处理 WM_NCHITTEST 消息并返回 HTTRANSPARENT。有关示例,请参阅此相关帖子 (Windows API) WM_PAINT Mouse problems

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-08
      • 1970-01-01
      • 1970-01-01
      • 2012-01-03
      • 2011-08-22
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      相关资源
      最近更新 更多