C++ 如何防止direct2d“;拉伸”;窗口大小更改时的视图?

C++ 如何防止direct2d“;拉伸”;窗口大小更改时的视图?,c++,mfc,directx,sharpdx,direct2d,C++,Mfc,Directx,Sharpdx,Direct2d,我正在使用ID2D1HwndRenderTarget呈现文本 当UI窗口大小发生变化时,我希望阻止渲染文本的拉伸-因此在我直接执行渲染命令之前,它将保持不变 关于行为的描述如下: 如果EndDraw显示缓冲区,则此位图将拉伸以覆盖缓冲区 显示它的表面:窗口的整个客户端区域 我知道这个方法,但我不想立即更新大小,只是以后根据我的程序需要使用它 如何忽略windows事件以防止这种视觉拉伸?您已经忽略了大小更改消息,这就是显示时表面大小与客户端区域大小不匹配的原因。您可以在执行EndDraw()之前

我正在使用
ID2D1HwndRenderTarget
呈现文本

当UI窗口大小发生变化时,我希望阻止渲染文本的拉伸-因此在我直接执行渲染命令之前,它将保持不变

关于行为的描述如下:

如果EndDraw显示缓冲区,则此位图将拉伸以覆盖缓冲区 显示它的表面:窗口的整个客户端区域

我知道这个方法,但我不想立即更新大小,只是以后根据我的程序需要使用它


如何忽略windows事件以防止这种视觉拉伸?

您已经忽略了大小更改消息,这就是显示时表面大小与客户端区域大小不匹配的原因。您可以在执行EndDraw()之前,根据“客户端区域/当前目标大小”因子设置目标分辨率,尝试抵消此影响。我不知道这是否会有帮助,也不知道当前目标矩形外未覆盖的窗口区域会发生什么情况。

您已经忽略了大小更改消息,这就是为什么显示时表面大小与客户端区域大小不匹配的原因。您可以在执行EndDraw()之前,根据“客户端区域/当前目标大小”因子设置目标分辨率,尝试抵消此影响。我不知道这是否会有帮助,也不知道在当前目标矩形外未覆盖的窗口区域会发生什么