c++如何让程序总是在最前无法被移动

c++如何让程序总是在最前无法被移动,第1张

设置窗口置顶和取消窗口置顶的代码,请采纳!!

void Ctest1Dlg::OnSettingOntop()

{

// TODO: 在此添加命令处理程序代码

SetWindowPos(&CWnd::wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE)//置顶

}

void Ctest1Dlg::OnSettingCancelontop()

{

// TODO: 在此添加命令处理程序代码

SetWindowPos(&CWnd::wndNoTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE)//不置顶

}

//可以添加一个系统菜单

//在OnInitDialog()中添加菜单

pSysMenu->InsertMenu(MF_STRING,0,ID_TOP_MOST_SHOW, "总在最上面(&T)")

void CXXXDlg::OnSysCommand(UINT nID, LPARAM lParam)

{

if ((nID &0xFFF0) == IDM_ABOUTBOX)

{

CAboutDlg dlgAbout

dlgAbout.DoModal()

}

else if(nID == ID_TOP_MOST_SHOW)

{

UpdateData()

m_bTopMost=!m_bTopMost

if(m_bTopMost)

this->SetWindowPos(&CWnd::wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE)//置顶

else

this->SetWindowPos(&CWnd::wndNoTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE)//不置顶

CMenu* pSysMenu = GetSystemMenu(FALSE)

if(pSysMenu!=NULL)

{

HMENU menu=pSysMenu->GetSafeHmenu()

if(m_bTopMost)

::CheckMenuItem(menu,ID_TOP_MOST_SHOW,MF_CHECKED)//菜单勾上

else

::CheckMenuItem(menu,ID_TOP_MOST_SHOW,MF_UNCHECKED)//

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8028796.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存