WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Пропорциональное изменение размера окна

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Пропорциональное изменение размера окна
Banev опубликован 30-04-2001 10:10 MSK   Click Here to See the Profile for Banev   Click Here to Email Banev  
Например, чтобы окно всегда оставалось квадратным, но его размер можно было менять
OlegO опубликован 30-04-2001 11:29 MSK     Click Here to See the Profile for OlegO  Click Here to Email OlegO     
Ловишь WM_SIZE
к примеру так
void CMyView::OnSize(UINT nType, int cx, int cy)
{

CView::OnSize(nType, cx, cy);
}

OlegO опубликован 30-04-2001 11:34 MSK     Click Here to See the Profile for OlegO  Click Here to Email OlegO     
Ловишь 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     Click Here to See the Profile for Banev  Click Here to Email Banev     
Так ведь OnSize только извещает, но не на что не влияет. Не работает такая штука. Я ещё GetMinMaxInfo пробовал, ничего не получилось
Jimmy опубликован 01-05-2001 16:38 MSK     Click Here to See the Profile for Jimmy  Click Here to Email Jimmy     
Попробуй в обработчиске 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     Click Here to See the Profile for aldep  Click Here to Email aldep     
Для этого надо использовать не WM_SIZE, а WM_SIZING.
Это сообщение позволяет разрешать, запрещать изменение размеров окна до прорисовки.

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.