Как предотвратить прямое растяжение вида при изменении размера окна? - PullRequest
0 голосов
/ 20 февраля 2019

Я визуализирую текст с помощью ID2D1HwndRenderTarget.

Когда происходит изменение размера окна пользовательского интерфейса, я хочу предотвратить растягивание текста, отображаемого - так что оно не изменится до тех пор, пока я не буду напрямуюсоздайте команду рендеринга.

Вкл. Документация Direct2D описывается поведение:

Если EndDraw представляет буфер, это растровое изображение растягивается, чтобы покрыть поверхность, где онопредставлена: вся клиентская область окна

Я знаю метод ID2D1HwndRenderTarget :: Resize , но я не хочу обновлять размер немедленно, просто собираюсь его использоватьпозже в соответствии с потребностями моей программы.

Как я могу игнорировать события Windows, чтобы предотвратить это визуальное растяжение?

1 Ответ

0 голосов
/ 21 февраля 2019

Вы уже игнорируете сообщения об изменении размера, и поэтому размер поверхности не соответствует размеру клиентской области при представлении.Вы можете попытаться компенсировать этот эффект, установив целевое разрешение в соответствии с коэффициентом «площадь клиента / текущий размер цели», непосредственно перед выполнением EndDraw ().Я понятия не имею, поможет ли это, или что случится с открытой областью окна за пределами текущего целевого прямоугольника.

...