Автор
|
Тема: Пропорциональное изменение размера окна
|
Banev |
опубликован 30-04-2001 10:10 MSK
Например, чтобы окно всегда оставалось квадратным, но его размер можно было менять
|
OlegO
|
опубликован 30-04-2001 11:29 MSK
Ловишь WM_SIZE к примеру так void CMyView::OnSize(UINT nType, int cx, int cy) { CView::OnSize(nType, cx, cy); }
|
OlegO
|
опубликован 30-04-2001 11:34 MSK
Ловишь WM_SIZE к примеру так void CMyWnd::OnSize(UINT nType, int cx, int cy) { cy=cx; /// устанавливаешь какая координата будет главной CWnd::OnSize(nType, cx, cy); } единственно что тут может понадобиться так это менять поразному координаты при разных nType еще можешь ловить WM_EXITSIZEMOVE и там уже коректировать размеры окна |
Banev
|
опубликован 30-04-2001 20:28 MSK
Так ведь OnSize только извещает, но не на что не влияет. Не работает такая штука. Я ещё GetMinMaxInfo пробовал, ничего не получилось |
Jimmy
|
опубликован 01-05-2001 16:38 MSK
Попробуй в обработчиске OnSize новй размер задать при пом.BOOL SetWindowPos( const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags ); http://msdn.microsoft.com/library/devprods/vs6/visualc/vcmfc/_mfc_cwnd.3a3a.setwindowpos.htm |
aldep
|
опубликован 01-05-2001 18:13 MSK
Для этого надо использовать не WM_SIZE, а WM_SIZING. Это сообщение позволяет разрешать, запрещать изменение размеров окна до прорисовки.
|