через структуру можно сделать так:
CWnd* m_hWnd = AfxGetMainWnd();
RECT rect;
rect.left = 10;
rect.top = 10;
rect.right = 300;
rect.bottom = 300;
LPRECT r = ▭
m_hWnd->MoveWindow(r);
В примере ошибка в том, что LPRECT это указатель на структуру, а не сама структура.
через структуру можно сделать так:
CWnd* m_hWnd = AfxGetMainWnd();
RECT rect;
rect.left = 10;
rect.top = 10;
rect.right = 300;
rect.bottom = 300;
LPRECT r = ▭
m_hWnd->MoveWindow(r);
В примере ошибка в том, что LPRECT это указатель на структуру, а не сама структура.
Спасибо все работает, только как узнать начальное положение окна? чтобы не менять положение окна а только его размеры?
извратно канешна, но можно так
CWnd* m_hWnd = AfxGetMainWnd();
WINDOWINFO pwi;
m_hWnd->GetWindowInfo(&pwi);
RECT r = pwi.rcWindow;
r.bottom += 100;
r.right += 100;
m_hWnd->MoveWindow(&r);
Run-Time Check Failure #3 - The variable 'str' is being used without being initialized.
Внимательнее относись к типам: LPRECT - это указатель на структуру RECT, а не объект. Поскольку он ни куда не указывает (не инициализирован), возникает ошибка при выполнении программы (строка str->left = 10; пытается записать значение по недопустимому адресу). Правильнее было бы так:
Обработать сообщение WM_NCCALCSIZE. Вообще почитай в MSDN описание сообщений WM_NC*, все они предназначены для работы с Non Client (отсюда сокращение) частью окна.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.