произвольный OnSize при попытке использовать пользовательский элемент управления winform в mfc - PullRequest
0 голосов
/ 05 марта 2020

Я строю на старом приложении, которое использует MF C. У меня есть пользовательский элемент управления, который я инициализирую в CFormView :: OnInitialUpdate () используя safe_cast (__ super :: GetControl ()); Есть два события OnSize, которые происходят в CFormView

Первое имеет размер cx = 0 и cy = 0. Второе имеет размер приблизительно 1510 и 845. Это происходит после вызова CWnd :: RepositionBars (..). В рамках этого вызова функции макет AFX_SIZEPARENTPARAMS имеет размеры 1510 и 845. Я не уверен, как обойти это или откуда берутся ценности.

Я бы хотел установить размер элемента управления и формы одинаковыми. В настоящее время моей целью является соотношение 900 на 700 пикселей, но пользовательский контроль растянут до 1510 на 845 пикселей. Здесь есть пара проблем. форма не содержит всего пользовательского элемента управления без ползунков, а пользовательский элемент управления растягивается. Прикрепленное изображение имеет серию панелей, которые все пристыкованы и имеют ширину 200, за исключением последней панели, которая пристыкована справа и имеет ширину 100 пикселей. см. прикрепленное изображение.

Это предварительный требуемый UserControl enter image description here

Это первоначальное представление формы с пользовательским управлением, которое не соответствует начальному 1510 845 enter image description here

Эта форма растянута, чтобы вместить весь пользовательский контроль enter image description here

Любая помощь будет принята с благодарностью

...