Jer*_*dge 13 delphi resize delphi-xe2
我正在使用一个相当大的形式进行实时绘图.当用户调整表单大小时,我不希望在用户释放鼠标按钮之前对我的图形渲染应用大小更改,因此调整大小已完成.我如何检测到这一点,并且只有在用户完成表单大小调整后才调整渲染大小?因为现在,如果我使用OnResize表单的事件,它将不断重新渲染鼠标移动的每个像素的所有内容.
我已尝试鼠标向下/向上事件并跟踪此事件,但在调整窗体大小时不会调用这些事件.
TLa*_*ama 22
要检测移动或大小调整已开始,请抓住WM_ENTERSIZEMOVE消息.一旦用户单击窗口的标题栏或调整边框(使窗口进入移动或大小调整循环),它就会被发送到窗口.
要检测移动或大小调整已完成,请捕获WM_EXITSIZEMOVE消息.一旦用户释放窗口的标题栏或调整边框(使窗口退出移动或大小调整循环),它就会被发送到窗口.
您可以通过在表单级别声明(并实现)它们来捕获它们中的任何一个:
procedure WMEnterSizeMove(var Message: TMessage); message WM_ENTERSIZEMOVE;
procedure WMExitSizeMove(var Message: TMessage); message WM_EXITSIZEMOVE;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5321 次 |
| 最近记录: |