Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 子窗口是否可以知道父窗口何时移动?_C#_User Interface_Mfc - Fatal编程技术网

C# 子窗口是否可以知道父窗口何时移动?

C# 子窗口是否可以知道父窗口何时移动?,c#,user-interface,mfc,C#,User Interface,Mfc,我开发了一个从第三方应用程序加载的dll。 该应用程序不向我提供任何事件,如WM_大小、WM_移动等。 My dll显示一个窗口(对话框),该窗口是主应用程序的子窗口。 我希望每当主应用程序调整大小或移动时,我的窗口都应该移动。 我怎样才能做到这一点?正如我所说,主应用程序不提供任何WM_大小或WM_移动事件。 是否有办法使用应用程序句柄订阅应用程序的事件? 或者,子窗口是否可以知道在没有这些事件的情况下何时移动或调整主应用程序的大小 如果一个窗口有一个样式为WS_的子窗口,当父窗口移动时,它永

我开发了一个从第三方应用程序加载的dll。
该应用程序不向我提供任何事件,如WM_大小、WM_移动等。
My dll显示一个窗口(对话框),该窗口是主应用程序的子窗口。
我希望每当主应用程序调整大小或移动时,我的窗口都应该移动。
我怎样才能做到这一点?正如我所说,主应用程序不提供任何WM_大小或WM_移动事件。
是否有办法使用应用程序句柄订阅应用程序的事件?

或者,子窗口是否可以知道在没有这些事件的情况下何时移动或调整主应用程序的大小

如果一个窗口有一个样式为WS_的子窗口,当父窗口移动时,它永远不会收到WM_MOVE或WM_SIZE消息

为什么要这样做?它的位置(相对于父对象)和大小不变。此外,操作系统窗口还负责通过打开窗口的各个部分来进行任何重新绘制

因此,当你说窗口应该与父对象一起移动,并且它不会移动时,那么窗口就不是父对象的子对象了。(样式w_CHILD)。使用Spy++重新检查此项。或者你只有一扇自己的窗户。(你的问题不够详细)


如果您有一个非WS_子窗口,并且希望它与另一个窗口一起移动,则可以使用计时器重新检查另一个窗口是否移动。或者,如果窗口处于相同的过程中,您可以对窗口进行子类化,并在父窗口收到WM_大小/WM_移动时将您自己的消息发布到窗口。

如果窗口具有样式WS_子窗口,则在父窗口移动时,它不会收到WM_移动或WM_大小消息

为什么要这样做?它的位置(相对于父对象)和大小不变。此外,操作系统窗口还负责通过打开窗口的各个部分来进行任何重新绘制

因此,当你说窗口应该与父对象一起移动,并且它不会移动时,那么窗口就不是父对象的子对象了。(样式w_CHILD)。使用Spy++重新检查此项。或者你只有一扇自己的窗户。(你的问题不够详细)


如果您有一个非WS_子窗口,并且希望它与另一个窗口一起移动,则可以使用计时器重新检查另一个窗口是否移动。或者,如果窗口处于相同的过程中,您可以对窗口进行子类化,并在家长收到WM_SIZE/WM_MOVE时将您自己的消息发布到您的窗口。

根据您的建议,我使用spy++检查了窗口。您认为它不是子窗口,而是拥有的窗口,这是正确的。将其更改为子窗口后,它不需要知道应用程序是否已调整大小或移动。它是自己照顾的。谢谢你的帮助。根据你的建议,我用spy++检查了窗口。您认为它不是子窗口,而是拥有的窗口,这是正确的。将其更改为子窗口后,它不需要知道应用程序是否已调整大小或移动。它是自己照顾的。谢谢你的帮助。