问题标签 [setclasslong]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
751 浏览

c++ - SetClassLongPtr(GCL_CBCLSEXTRA) 是做什么用的?

在 的文档中SetClassLongPtr,它说设置GCL_CBCLSEXTRA“不会更改已分配的额外字节数”。

那么,是SetClassLongPtr(..., GCL_CBCLSEXTRA, ...)用来做什么的呢?

0 投票
1 回答
2341 浏览

winforms - 动态设置/删除 WinForms 表单的 CS_DROPSHADOW 样式(C#)

怎么做?我找不到任何有用的 C# 示例。我知道我应该使用 SetClassLong/SetClassLongPtr,但这是我只找到的定义:http ://www.pinvoke.net/default.aspx/user32/SetClassLongPtr.html 。

显然,我应该用 GCL_STYLE 调用 GetClassLongPtr 来读取当前的样式标志,添加或排除 CS_DROPSHADOW,然后用改变的标志值调用 SetClassLongPtr。但是看看那个 PInvoke 定义,它并不是微不足道的,尤其是考虑到 32/64 位系统。

任何人都可以给出一个链接或一个很好的例子吗?请不要提供覆盖 CreateParams 的示例,因为这不适用于我们的动态场景。也许,还有另一种 [托管] 方法可以做到这一点?

0 投票
1 回答
129 浏览

winapi - 获取 SetClassLongPtr 使用的类

我有多个运行多个窗口的 F​​irefox 配置文件。当我从每个配置文件中选择一个随机窗口并在该窗口上运行此代码时,hwnd它会为该配置文件中的所有窗口设置图标。SetClassLongPtr(targetWindow_handle, GCLP_HICONSM, ctypes.cast(hIconSmall, ctypes.uintptr_t));

我想知道如何获得这门课?

我尝试GetClassName在所有窗口句柄上使用,但是MozillaWindowClass无论配置文件如何,都会返回所有窗口。然而SetClassLongPtr不适用于配置文件,所以我知道第一个配置文件中的窗口类别与第二个配置文件中的窗口类别不同。

0 投票
0 回答
173 浏览

forms - creatin 后为 WinForms 表单设置 CS_DROPSHADOW 会导致其他表单出现双重阴影

在 2012 年,我在这个线程中写道,我们需要根据某些条件打开/关闭可重用表单的系统阴影效果。这段代码的核心部分如下所示:

不幸的是,这种将 CS_DROPSHADOW 样式应用于窗体的方式会导致 Windows 10 中出现严重问题。以这种方式启用阴影后创建的所有窗体都有寄生双阴影:

在此处输入图像描述

我的意思不是应用了 CS_DROPSHADOW 样式的表单 - 我的意思是我们可以使用如下代码实例化的所有其他表单:

是否有另一种方法可以将 CS_DROPSHADOW 样式应用于现有表单而不会产生这种奇怪的副作用?