问题标签 [createparams]
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.
c# - 在 Windows 窗体应用程序中闪烁
我有一个应用程序,上面有很多控件。而且它有大量的闪烁,尤其是在启动时。
我对它应用了这个修复。
这效果很好 - 闪烁减少了令人难以置信的数量。但是,副作用是窗口右上角的最小化、最大化和关闭按钮在我将鼠标移到或单击它们时没有动画(尽管它们仍然有效)。这给应用程序一种挂起的感觉。
如何在保留最大化、最小化和关闭按钮的可用性的同时保留 WS_EX_COMPOSITED?
这发生在 Windows XP 上。正如@fallenidol 指出的那样,这在 Windows 7 上不是问题。
c# - 对 CreateParams 有效使用位运算符,不希望的行为?
我正在为 ProgressBar 控件编写一个包装器(不是真正的包装器,而是正确实现 Vista 功能)。这是我的代码:
但问题是,当您将控件放在窗体上时,它以垂直方式开始,带有 PBS_SMOOTH。所以我的问题是,在使用按位运算在 CreateParams.Style 上设置值之前,我应该做哪些额外的检查,或者我的按位运算(或实际上我的代码)是否正确?
更新感谢 Jon Skeet 能够得到这个完全修复和工作,并应用 UpdateStyles() 来强制新样式在属性中按需 apply(),控件现在可以按预期工作并被抛光:)
windows - 是否可以覆盖 CreateParams 过程让我仍然可以完全访问 WS_SYSMENU?
完整的源代码可以在这里找到: http ://www.eyeClaxton.com/download/delphi/SkinProject.zip
我正在尝试创建一个没有“标题或边框”的蒙皮表单,但仍然让我可以完全访问系统菜单(IE:移动、最小化、最大化、还原和大小)。我可以通过使用 WS_SYSMENU、WS_MAXIMIZEBOX、WS_MINIMIZEBOX 覆盖 CreateParams 过程来实现所有菜单项。使用 WS_SIZEBOX 可以让我访问菜单“大小”命令,但会绘制我不想要的边框。我在上面的链接中包含了一个完整的(Delphi 7)示例。如果需要更多信息,请随时询问。
解决方案:
完整的“更新”源代码可以在这里找到: http ://www.eyeClaxton.com/download/delphi/SkinProject.zip
c# - DataGridView 绘制错误
我有一个表单,它有其他控件的色调(按钮、自定义控件、标签、面板、gridview)。你可以猜到我有闪烁的问题。我尝试了双缓冲,但无法解决。最后我尝试了这个:
闪烁消失了,但我的 datagridview 画错了。它显示 CellBorders,BorderColors 错误。实际上,这段代码在背景图像、线条和其他内容方面存在一些问题。为什么会这样,如何解决?
delphi - 更改 TCreateParams.WinClassName 或如何找到另一个自己的应用程序的表单句柄是否安全?
我有两个应用程序,第一个需要从第二个(也是我自己的)但不同的应用程序(不是实例,而是不同的应用程序)中找到表单的句柄。我见过一些技术,但我想知道我想做的事情是否安全,或者什么是有效的方法。
我正在考虑使用FindWindow
可以传递类名的函数,所以如果我将表单中的WinClassName
成员更改CreateParams
为某个唯一值(例如 GUID),那么我将很容易找到这个大窗口机会是我的应用程序中的一个。
需要查找其表格的应用程序:
另一个需要从前一个应用程序中查找表单的应用程序:
我的问题是:
将此成员更改TCreateParams
为我想要的任何内容是否安全,或者在某些方面不安全?或者您将如何从您自己的另一个应用程序(不是应用程序实例,而是您自己的另一个应用程序)中查找表单句柄?
非常感谢!
winforms - Aero drop - 无边框形式上的阴影?
我尝试了以下代码来覆盖 CreateParams。
它工作正常。但它没有给出预期的结果。
这是我想要的阴影类型...
这就是我从代码中得到的......
我在想是否有任何方法可以获得这种航空风格的 Drop-Shadows ?
vb.net - 显示模态对话框时,窗体在顶部但不可点击
我想要的是一个小的通知消息,当有任何消息要显示时,它会显示在右下角。如果没有,则不会显示通知消息。通知消息不应窃取焦点或阻塞主应用程序。
我所拥有的是一个将任务作为一种消息服务运行的应用程序。此应用程序包含多个作为模式对话框打开的对话框。
当消息到达应用程序时,它会被添加到可观察列表中。这会在显示通知消息的表单中触发一个事件处理程序,并重新绘制它以显示列表中的第一项。当一条消息被读取/关闭时,它会从再次触发事件的列表中删除,并使用列表中第一项的信息更新表单。如果列表为空,则隐藏表单。
我的问题是,如果我收到一条消息并显示通知消息表单,并且在我关闭它之前,在主应用程序中打开了一个模式对话框,我的通知消息表单仍然位于所有内容之上,甚至是模式对话框,但它不可点击。
我已经搜索并阅读了几个论坛以寻求答案,但一直未能找到答案。
可以在 Github 上找到一个模拟这种行为的小型测试应用程序。 https://github.com/Oneleg/NotificationMessage
一些快速信息:
NotificationMessage 表单具有:
- FormBorderStyle = 无
- 最顶层 = 假
- 用 Show() 显示
- 重载 ShowWithoutActivation()
- 使用 WS_EX_NOACTIVATE WS_EX_TOOLWINDOW WS_EX_TOPMOST 重载 CreateParams
关于如何解决这个问题的任何想法?
c# - CreateParams 发生 - 窗口句柄异常
我在我自己的 Tabcontrol 上使用 CreateParams 来摆脱它的闪烁,同时调整大小和加载。这只是一个我实现 CreateParams 的空类。
如果您有标签、文本框或按钮并且在 Windows 7 上运行良好。但如果您有面板、tablelayoutpanel、datagridview 和 Windows XP,那么它运行得不是很好。例如,datagridview 的列没有以正确的方式出现。
如果当前系统是Windows XP,我还发现有人发布了以下内容。但这发生在我的 XP 上,在启动窗口之前出现窗口句柄异常。仅使用 0x02000000 它正在加载,但正如我所写的那样,列并没有以正确的方式出现。
有没有人知道有关闪烁和集成数据网格视图的任何解决方法,而不会出现此异常?
c# - .NET Winforms 垂直进度条文本
最近,我的 win 表单应用程序需要一个垂直进度条。派生类如下所示。我还需要在进度条上添加文本。由于透明度问题,它上面的标签不起作用。经过一番研究,我发现了一些东西。但问题是,虽然进度条是垂直的,但它上面的文本却是水平的。我也需要垂直的。我怎样才能做到这一点?
谢谢。
.net - 闪烁和“CreateParams”
我想避免在我的应用程序面板中闪烁,从4 个月前进行谷歌搜索后,尝试子类面板后,在这里询问两三次后,在其他论坛中询问后......没有人有解决方案,但今天我找到了在最后一个答案中奇迹般的解决方案:他们是一种阻止图片框在调整大小时闪烁的方法吗?
现在我想知道那几行代码的真正作用。我需要了解该代码对我的应用程序的作用,
是避免闪烁的好方法吗?
MSDN 说:
“不应重写 CreateParams 属性并用于调整派生控件的属性”
但为什么不呢?,这是我发现真正让我的面板闪烁的唯一方法,这就是为什么我想了解更多关于我上面发布的代码的原因,我想了解所有订单,以及该子的好处和负面的,所有的事情都是受欢迎的......
有人可以向我解释更多关于该代码的信息吗?
我已经在我的所有应用程序中测试了“闪烁解决方案”,是的,它是一个闪烁的解决方案......但有负面影响,因为我的程序转 -200% 速度更慢,我的意思是当使用该覆盖子程序时非常慢,比如 x6 倍,所以按原样使用覆盖子不是一个好主意。
有人知道我是否可以在不影响我的应用程序的情况下避免闪烁?