2015-03-25 2 views
0

Я использую MFC для приложения. Когда я нажимаю это приложение, он должен отображаться в полноэкранном режиме. I следует, что кодПолноэкранное окно в MFC

CRect rcDesktop; 
rcDesktop.left = GetSystemMetrics(SM_XVIRTUALSCREEN); 
rcDesktop.right = rcDesktop.left + GetSystemMetrics(SM_CXVIRTUALSCREEN); 
rcDesktop.top = GetSystemMetrics(SM_YVIRTUALSCREEN); 
rcDesktop.bottom = rcDesktop.top + GetSystemMetrics(SM_CYVIRTUALSCREEN); 
MoveWindow(rcDesktop, FALSE); 

Однако он предназначен только для нескольких мониторов. Если у меня также есть два монитора, но я хочу отображать полноэкранное приложение на одном мониторе. Как его реализовать. Я следует, что document и я попытался

CRect rcDesktop; 
rcDesktop.left = GetSystemMetrics(SM_CVSCREEN); 
rcDesktop.right = rcDesktop.left + GetSystemMetrics(SM_CXFULLSCREEN); 
rcDesktop.top = GetSystemMetrics(SM_CVSCREEN); 
rcDesktop.bottom = rcDesktop.top + GetSystemMetrics(SM_CYFULLSCREEN); 
MoveWindow(rcDesktop, FALSE); 

Однако, это не работает. Потому что мне нужно поставить координату для

rcDesktop.right = rcDesktop.left + GetSystemMetrics(SM_CXFULLSCREEN); 

Не могли бы вы помочь мне исправить мой код. Я использую Visual Studio 2012 и MFC

+0

Reading [эта документация Microsoft] (https://msdn.microsoft.com/en-us/library/windows /desktop/dd145071(v=vs.85).aspx) должен дать вам некоторые подсказки. –

+0

Я хочу, чтобы один дисплей отображался не на нескольких дисплеях. Для первого кода он хорошо работает для нескольких дисплеев – user3051460

ответ

2

В классе зрения сделайте следующее:

SetParent(GetDesktopWindow()); 
CRect rect; 
GetDesktopWindow()->GetWindowRect(&rect); 
SetWindowPos(&wndTopMost,rect.left,rect.top,rect.right,rect.bottom,SWP_SHOWWINDOW); 
+0

Спасибо, он работает хорошо. – user3051460

Смежные вопросы