我正在编写一个TFrame
后代,可以在运行时托管任何类型的控件
在其特征中,在特定条件下,它应该显示一种视觉上暗淡的“面具”
我实现了这个效果,覆盖了一个单独的TCustomForm
后代类与AlphaBlend
,
为了使这个工作,表格必须没有父母
因此,我需要一些额外的代码来保持此窗口锚定到框架的客户区域,无论它是已调整大小还是移动。
调整大小没什么大不了的:我可以覆盖TMyFrame
的{{1}}方法。
但是移动呢?
假设框架与主窗体客户端对齐:如果移动主窗口,其Resize
和Left
值不会更改,因此不会向框架发送Top
消息。
我需要在WM_MOVE
单元内封装一些东西,以保持其可重复使用。
在这种情况下我还能处理其他任何消息吗?
谢谢
答案 0 :(得分:1)
使用WindowProc
挂钩父窗体的SetWindowSubclass()
属性或子窗体父窗体的窗口,以截取WM_WINDOWPOSCHANING
和WM_WINDOWPOSCHANGED
消息。