else if(FullScreen==1)
{
rect.left = 0;
rect.right= GetSystemMetrics(SM_CXSCREEN);
rect.top = 0;
rect.bottom = GetSystemMetrics(SM_CYSCREEN);
FreerdpWidget *widget = new FreerdpWidget;
widget->_freerdp.init(workdir.c_str(),programpath.c_str(),NULL, url.c_str(), name.c_str(),
pass.c_str(),domain.c_str(), rect.right, rect.bottom);
// widget->Create(NULL,WS_POPUP|WS_THICKFRAME, 0, hWnd, rect, 0);//
widget->Create(NULL,WS_OVERLAPPEDWINDOW, 0, hWnd, rect, 0);//
SetWindowPos(widget->m_hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);//
CenterWindow(widget->m_hWnd);
ShowWindow(widget->m_hWnd, SW_SHOWNORMAL);//
err = 1;
参考修改一下代码
rect.left = 100;
rect.right= GetSystemMetrics(SM_CXSCREEN) - 200;
rect.top = 100;
rect.bottom = GetSystemMetrics(SM_CYSCREEN) - 200;
你全屏前保存一个当前窗口的大小,然后全屏后,捕获ESC按键事件,然后再用SetWindowPos把窗口大小调整回去。
BOOL CSerialDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
// 把Esc和Enter按键事件消息过滤掉,否则该消息会导致对应应用程序调用OnOK()方法,结束应用程序
if (pMsg->message == WM_KEYDOWN)
{
switch(pMsg->wParam)
{
case VK_ESCAPE: //Esc按键事件
//这里设置窗口大小回去 SetWindowPos()
return true;
default:
;
}
}
return CDialogEx::PreTranslateMessage(pMsg);
}