СтекПанель в МФЦ - PullRequest
       51

СтекПанель в МФЦ

0 голосов
/ 07 мая 2019

Я был разочарован, потому что я знаю, что StackPanel не было в MFC.

Я делаю пользовательский интерфейс, и мне нужно расположить элементы управления вертикально.

Если я используюWPF, я могу использовать StackPanel, но я хотел бы спросить вас о том, как это сделать в MFC.

Спасибо вам большое

Ответы [ 2 ]

0 голосов
/ 11 мая 2019

С MFC вы должны сделать это вручную или найти сторонний код, который сделает это за вас. Например взгляните на CodeProject .

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

У некоторых элементов управления есть методы для расчета их «идеального» размера, например. g.:

Некоторые элементы управления, такие как CStatic, не предоставляют такие методы. В таких случаях вы можете рассчитать их размер, используя CDC::DrawText() с флагом DT_CALCSIZE (не забудьте сначала выбрать шрифт элемента управления в контексте устройства, чтобы получить точные измерения).

В других случаях, когда такие вычисления невозможны, вы можете принять фиксированный размер для элемента управления.

0 голосов
/ 07 мая 2019

В MFC нет ничего, что реализует функциональность StackPanel.Если вы хотите создать элементы управления стека, вам придется делать это самостоятельно, либо в коде, либо в редакторе ресурсов.

Начиная с Visual Studio 2015, MFC был обновлен, чтобы включить поддержку Dynamic Layout.Это помогает автоматически переупорядочивать элементы управления при изменении размера диалогового окна, но все же не дает вам всей функциональности StackPanel.

...