我正在写一个可以在运行时托管任何类型的控件的TFrame
后代。
在特定条件下,它应显示出一种视觉昏暗的"掩码"。
我实现了这种效果,用AlphaBlend
覆盖单独的TCustomForm
后裔类,为此,表格必须没有父母。
因此,我需要一些额外的代码来将此窗口固定在框架的客户端区域,无论它是要调整的还是移动的。
调整大小的没什么大不了的:我可以覆盖TMyFrame
的Resize
方法。
但是移动呢?
假设框架是客户端与主要形式的一致性:如果我移动主窗口,则Left
和Top
值不会更改,因此不会将WM_MOVE
消息发送到帧。
我需要在TMyFrame
单元内不掩饰somethig,以使其可重复使用。
在这种情况下我还能处理其他消息吗?
谢谢
挂接父级的 WindowProc
属性,或使用 SetWindowSubclass()
子插入父级的窗口,以拦截 WM_WINDOWPOSCHANING
和 WM_WINDOWPOSCHANGED
消息。