草庐IT

wm_geometry

全部标签

wpf - 为什么处理 WM_NCCALCSIZE 会导致我的窗口跳转?

我有一个捕捉到屏幕边缘的WPF应用程序(如果您在屏幕边缘的20像素以内,我只是设置窗口的.Top或.Left),但我最近添加了一些代码providedbytheWPFSDKTeam“弄乱”窗口镶边,虽然它工作得很好(screenshot),但它导致“snapto”意外移动窗口(例如:当它应该直接向下捕捉到底部时它跳到左边)我已经将范围缩小到他们对WM_NCCALCSIZE的处理......这真的很奇怪,因为他们基本上什么都不做,他们只是说他们处理了它,然后返回0。根据WM_NCCALCSIZE的文档,这应该只会导致整个窗口被视为客户端(没有非客户端边缘),但不知何故,这也意味着每当我的

windows - 为什么当用户单击任务栏按钮时模态 Delphi 窗体不接收 WM_SYSCOMMAND?

在Windows8.1上运行的Delphi(2007)程序中,我希望在用户单击属于我的程序的任务栏按钮时收到通知。所以我捕获了通常在这种情况下发送的WM_SYSCOMMAND。这适用于程序的主窗口。如果模态窗口处于事件状态(使用Form2.ShowModal打开),则相同的代码不能捕获WM_SYSCOMMAND,无论是在主窗体中还是在模态窗体中。有什么不同吗?有什么办法可以改变这种情况吗?这是我添加到两种形式的代码:unitunit1;interfacetypeTForm1=class(TForm)//[...]procedureWMSysCommand(varMsg:TWMSysCo

c++ - 未捕获 WM_PAINT 中的访问冲突

为了测试这个问题,我编写了一个最小的Windows应用程序。如果我在WM_PAINT处理程序中强制执行访问冲突,则此异常永远不会到达调试器。如果在没有调试器的情况下启动,访问冲突也不会出现。通常您应该会看到Windows错误报告对话框。再深入一点,似乎user32.dll中的某些东西捕获了所有传入的异常。这是正常行为吗?我能以某种方式控制它吗?捕获所有异常不是安全风险吗?至少它很烦人。这是Vista64上的32位和64位应用程序。在XP上,异常似乎按预期处理。其他窗口消息也有同样的问题。也许所有这些?WM_PAINT处理程序:caseWM_PAINT:hdc=BeginPaint(hW

windows - 在 Windows 对话框中处理 WM_ERASEBKGND 时如何避免闪烁

我有一个可以调整大小的对话框。它还有一个自定义背景,我根据WM_ERASEBKGND调用(当前是对FillSolidRect的简单调用)绘制了该背景。调整对话框大小时,会出现巨大的闪烁。为了尝试减少闪烁,我枚举了所有子窗口并将它们添加到剪辑区域。这似乎有点帮助-现在,在重新绘制时,所有子控件中的闪烁最明显。如何在调整大小时使对话框不闪烁?我怀疑双缓冲必须发挥作用,但我不确定如何使用带有子控件的对话框来做到这一点(不让所有子控件都由所有者绘制或类似的东西)。我应该注意,我使用的是C++(不是.NET)和MFC,尽管欢迎使用纯基于Win32的解决方案:)注意:我试过但没有用的一件事(不知道

c++ - 窗口消息 : Different between WM_CREATE and WM_NCCREATE?

我试图在WM_NCCREATE消息中创建按钮(子窗口),它的位置似乎是根据屏幕坐标而不是客户端坐标创建的。起初,我认为WM_CREATE和WM_NCCREATE为我们提供了相同的窗口句柄,但这似乎是不正确的。因此,任何人都可以向我解释WM_CREATE和WM_NCCREATE消息之间的区别吗?另外,WM_CREATE和WM_NCCREATE中的窗口句柄之间有什么区别? 最佳答案 WM_NCCREATE是正在进行的军备竞赛的一个例子。引入它似乎是为了满足DefWindowProc(或通常的子类窗口的基本窗口过程)可能需要在处理WM_C

基于FPGA的SD卡音乐播放器之WM8731篇

基于FPGA的SD卡音乐播放器之WM8731篇目录前言一、I2C驱动模块二、WM8731寄存器配置模块三、WM8731时钟生成模块四、音频发送模块总结前言        这个题目是我之前7月初做的一个eda课程设计,过了一个多月了,凭着我还有一些记忆,我想将我大致的思路记录下来,毕竟在自己的坚持努力下能做成功,对我来说也是很有纪念意义的。这篇文章主要记录一下WM8731这块语音芯片的使用配置,用的是I2C配置。提示:以下是本篇文章正文内容,均为作者本人原创,写文章实属不易,希望各位在转载时附上本文链接。一、I2C驱动模块        本模块负责完成FPGA到WM8731芯片的配置数据传输。I

python - 为什么 "geometry()"方法会延迟工作?

如果我运行这段Python代码:fromTkinterimport*;w=Tk();w.geometry("640x480");print(w.geometry())我将得到“1x1+0+0”输出。但是如果我启动解释器并将其作为两个单独的执行命令,我将得到完全不同的输出:>>>fromTkinterimport*;w=Tk();w.geometry("640x480")''>>>w.geometry()'640x480+101+73'似乎没有立即应用几何图形,还需要其他东西:(。也许有人知道我需要做什么才能更新几何到位?我需要它来正确居中/定位主窗口和子窗口。

python - 使用 cascaded_union 组合形状给出 "ValueError: No Shapely geometry can be created from null value"

我有一组七个重叠的圆和椭圆,我试图将它们组合成一个形状,但是当我运行cascaded_union()时,我得到了错误:ValueError:NoShapelygeometrycanbecreatedfromnullvalue这是我到目前为止所写的内容:importnumpyasnpimportmatplotlib.pyplotaspltfromshapely.geometryimportPolygonfromshapely.opsimportcascaded_unionx=[-1.86203523,-1.91255406,-2.03575331,-2.16247874,-2.22159

python - 使用 Tk Grid Geometry Manager 的 GUI 布局

使用Python构建一个供个人使用的小型应用程序,我想尝试使用Tkinter进行一些GUI编程。这是我到目前为止创建的GUI:应用疑惑:如何确保屏幕截图中的三个LableFrames(A、B和C)具有相同的宽度?(或者更确切地说,宽度等于三个中最宽的?例如,在屏幕截图中,A是最宽的,我希望B和C也一样宽-直到D行)。(它不必动态计算-如果我能确保第一次编码时宽度相同就足够了。它们不需要在运行时更改。)TkGridGeometryManager疑惑:当您使用框架时,网格(行、列)是仅针对框架的大小特定的,还是根据窗体(根窗口)的大小计算的?如何确定网格中列的大小?我还没有完全理解“权重”

boost::geometry简介,真香

概述我在进行地图方面的编程,代码中好多对图形的处理都是自己实现的,而且相同的图形每个人都有自己的实现版本,实在是混乱,亟需一种标准来统一。最近在使用boost库(1.78),发现其中有一个geometry(几何)库。便了解了一下,发现真香。该库使用起来很generic(要不自称GenericGeometryLibrary,GGL),而且符合国际标准OGC(开放地理空间联盟)。总结一句话,boost::geometry兼容OGC标准,并为其空间对象模型的基础几何操作提供2D空间谓词API。怎么,这句话看不懂,看完这篇文章你就懂了。摘抄下boost::geometry的官方描述Boost.Geom