大家看看我的代码,哪里有问题,如果错误太多的话,请重写一下!
void CMainFrame::SetFullScreenMode(bool bFullMode) // 全屏显示
{
int cxScreen = GetSystemMetrics(SM_CXSCREEN);
int cyScreen = GetSystemMetrics(SM_CYSCREEN); if((CConfig::m_RunMode == 2)|| (cxScreen <1024 && cyScreen<768))
{
LONG style = ::GetWindowLong(m_hWnd,GWL_STYLE);
style &= ~WS_CAPTION;
::SetWindowLong(m_hWnd,GWL_STYLE,style); style = ::GetWindowLong(m_hWnd,GWL_EXSTYLE);
style |= WS_EX_TOPMOST;
::SetWindowLong(m_hWnd,GWL_EXSTYLE,style);
SetWindowPos(&CWnd::wndTopMost,-2,-4,cxScreen+4,cyScreen+7,SWP_SHOWWINDOW);
}
else
{
SetWindowPos(NULL,cxScreen/2-400,cyScreen/2-350,800+GetSystemMetrics(SM_CXSIZEFRAME)*2+2,543+GetSystemMetrics(SM_CYSIZE) + GetSystemMetrics(SM_CYFRAME)+9,SWP_SHOWWINDOW);
}
}
void CMainFrame::SetFullScreenMode(bool bFullMode) // 全屏显示
{
int cxScreen = GetSystemMetrics(SM_CXSCREEN);
int cyScreen = GetSystemMetrics(SM_CYSCREEN); if((CConfig::m_RunMode == 2)|| (cxScreen <1024 && cyScreen<768))
{
LONG style = ::GetWindowLong(m_hWnd,GWL_STYLE);
style &= ~WS_CAPTION;
::SetWindowLong(m_hWnd,GWL_STYLE,style); style = ::GetWindowLong(m_hWnd,GWL_EXSTYLE);
style |= WS_EX_TOPMOST;
::SetWindowLong(m_hWnd,GWL_EXSTYLE,style);
SetWindowPos(&CWnd::wndTopMost,-2,-4,cxScreen+4,cyScreen+7,SWP_SHOWWINDOW);
}
else
{
SetWindowPos(NULL,cxScreen/2-400,cyScreen/2-350,800+GetSystemMetrics(SM_CXSIZEFRAME)*2+2,543+GetSystemMetrics(SM_CYSIZE) + GetSystemMetrics(SM_CYFRAME)+9,SWP_SHOWWINDOW);
}
}
解决方案 »
- 菜鸟求助,char*转化为CString并由控件返回。
- 有没有可能为客户端绑定IP地址
- 进来看看,奇怪的问题
- 为什么会有“启动时暂停”错误
- 类似OutLook的界面,如何对右侧的视图进行生成和切换?请大家帮忙!
- 怎样为切分窗口添加一个标题栏,并在上面显示一个关闭按钮,可以不显示该窗口
- 我用Nspack加壳DLL后,为什么调用dll 的exe程序只能启动一个
- Execute an exe within a program
- CHtmlView的捕获焦点和导航问题
- CListCtrl的问题啊,大神门,带我飞啊
- 新手问题,关于MFC全局变量
- visual studio2008中,请问mccomm控件 怎么添加
void CMyDlgBase::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)
{
CRect rcMax;
SystemParametersInfo(SPI_GETWORKAREA, NULL, (PVOID)&rcMax, 0);
lpMMI->ptMaxPosition.x = rcMax.left;
lpMMI->ptMaxPosition.y = rcMax.top;
lpMMI->ptMaxSize.x = rcMax.Width();
lpMMI->ptMaxSize.y = rcMax.Height();
lpMMI->ptMaxTrackSize.x = rcMax.Width();
lpMMI->ptMaxTrackSize.y = rcMax.Height();
CDialog::OnGetMinMaxInfo(lpMMI);
}
{
int cxScreen = GetSystemMetrics(SM_CXSCREEN);
int cyScreen = GetSystemMetrics(SM_CYSCREEN);
if(bFullMode)
{
LONG style = ::GetWindowLong(m_hWnd,GWL_STYLE);
style &= ~WS_CAPTION;
::SetWindowLong(m_hWnd,GWL_STYLE,style);
style = ::GetWindowLong(m_hWnd,GWL_EXSTYLE);
style |= WS_EX_TOPMOST;
::SetWindowLong(m_hWnd,GWL_EXSTYLE,style);
SetWindowPos(&CWnd::wndTopMost,-2,-4,cxScreen+4,cyScreen+7,SWP_SHOWWINDOW);
}
else
{
LONG style = ::GetWindowLong(m_hWnd,GWL_STYLE);
style |= WS_CAPTION;
::SetWindowLong(m_hWnd,GWL_STYLE,style);
style = ::GetWindowLong(m_hWnd,GWL_EXSTYLE);
style &= ~WS_EX_TOPMOST;
::SetWindowLong(m_hWnd,GWL_EXSTYLE,style);
SetWindowPos(NULL,cxScreen/2-400,cyScreen/2-350,800+GetSystemMetrics(SM_CXSIZEFRAME)*2+2,543+GetSystemMetrics(SM_CYSIZE) + GetSystemMetrics(SM_CYFRAME)+9,SWP_SHOWWINDOW);
}
}