logo
Конспект по ООПиП ч

Изменение размеров и положения окна

В программе, использующей MFC, можно изменить размеры и положение окна с помощью функции PreCreateWindowO— члена класса главного окна приложения. Она вызывается автоматически перед началом формирования главного окна приложения. В главном окне содержатся все видимые объекты приложения и определяется размер представления.

Функция PreCreateWindow() имеет один аргумент— ссылку на экземпляр структуры CREATESTRUCT. Эта структура содержит всю информацию об окне, которое должно появиться на экране.

Если при создании приложения Windows вы не будете пользоваться библиотекой MFC, то со структурой CREATESTRUCT столкнетесь при обращении к функции API CreateWindow(), которая формирует окно приложения. Особое внимание тех, кто программирует с помощью MFC, привлекают члены сх, су, х и у. Изменяя сх и су, можно регулировать ширину и высоту окна, а изменяя х и у, — положение окна на экране. Перегрузив функцию PreCreateWi ndow(), вы получаете шанс пообщаться со структурой CREATESTRUCT еще до того, как Windows использует ее для формирования окна.

AppWizard уже создал CMainFrame:: PreCreateWindow(). Так что можете развернуть класс СМаin Frame в окне ClassView, дважды щелкнуть на названии PreCreateWindow() и отредактировать текст функции— включить в нее фрагмент:

BOOL CMainFrame: : PreCreateWindow(CREATESTRUCT& cs)

{cs.cx = 440;

cs.cy = 480;

if(!CFrameWnd::PreCreateWindow(cs)) return FALSE;

return TRUE;}

Эти операторы устанавливают новые высоту и ширину окна приложения.