Я создаю свое первое приложение в Visual C++, и для жизни я не могу понять, чтобы групповой ящик автоматически центрировался, когда окно максимизировано. Сейчас групповой пакет будет выравниваться только слева. Как бы я его сосредоточил?
Windows не поддерживает автоматическое изменение размера/центрирование/выравнивание и т.д. Для элементов управления. Вам нужно добавить обработчик WM_SIZE
для вашего диалога/окна и вручную переместить элемент управления всякий раз, когда изменяется область родительского клиента.
Примечание. Я предполагаю, что вы используете Visual С++ для Windows Forms.
Вам придется вручную выровнять его, отрегулировав свойства Left и Top вашего элемента управления. Вы можете переопределить событие Resize формы, чтобы оно срабатывало при манипулировании размером формы. Затем вы можете использовать ширину и высоту формы для правильного позиционирования вашего центра в центре:
void myForm_Resize(System::Object^ sender, System::EventArgs^ e)
{
myControl->Left = (myForm->Width - myControl->Width) / 2;
myControl->Top = (myForm->Height - myControl->Height) / 2;
}
WM_SIZE
и о том, что он делает.