Проблема OnSize () в VC ++ - PullRequest
       11

Проблема OnSize () в VC ++

0 голосов
/ 18 марта 2010

В моем приложении VC ++ MFC у меня разные представления. И в каждом представлении, когда я максимизирую его, я изменял размер и положение на новую вещь (обычно это полностью максимизируется до размера экрана). Но я этого не хочу.Поэтому в OnSize () я закодировал это следующим образом.

void CChildFrame::OnSize(UINT nType, int cx, int cy)
{
 CMDIChildWnd::OnSize(nType, cx, cy);

 int XBorder = GetSystemMetrics(SM_CXMAXIMIZED);
 int YBorder = GetSystemMetrics(SM_CYMAXIMIZED); 
 switch (nType) 
    { 
        case SIZE_MAXIMIZED: 
 SetWindowPos(NULL,0,60,XBorder-45,YBorder-60,SWP_NOZORDER );
   break;   
 } 
} 

Но что случилось? Когда я максимизирую представление, его максимизируют только вышеупомянутый размер. Но в этой синей полосе нет минимизации,развернуть, закрыть кнопку.Когда я дважды щелкаю по синей панели, все кнопки возвращаются к предыдущему положению.Как я могу получить это?

1 Ответ

0 голосов
/ 18 марта 2010

Я не понимаю, что такое "синяя полоса", но вы, вероятно, можете посмотреть в следующих направлениях: изменить стили окон (см. WS_MAXIMIZE, WS_MAXIMIZEBOX, ...); переписать OnGetMinMaxInfo вместо OnSize.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...