怎样实现对话框应用程序的窗口总是显示在屏幕的最前面? 怎样实现对话框应用程序的窗口总是显示在屏幕的最前面,就像有些播放器的播放窗口可以设置成播放时总是显示在屏幕的最前面,而不会被其他程序的窗口所遮住。谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int oldstyle=GetWindwLong(hwnd,GWL_EXSTYLE);SetWindowLong(hwnd,GWL_EXSTYLE,oldstyle|WS_EX_TOPMOST);BringWindowToTop(); SetWindowPos( &wndTopMost, 0,0,0,0, SWP_NOSIZE |SWP_NOMOVE | SWP_SHOWWINDOW ); //加上这条语句即可。 http://www.vckbase.com/bbs/prime/viewprime.asp?id=92 : BOOL CMyDlg::OnInitDialog() { CDialog::OnInitDialog(); SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);// // TODO: Add extra initialization here return TRUE; } BringWindowToTop(Handle) SetWindowPos函数,指定窗口的 最顶风格,用WS_EX_TOPMOST扩展窗口的风格 Example: void ToggleTopMost(CWnd *pWnd) {ASSERT_VALID(pWnd)pWnd ->SetWindowPos(pWnd-> GetStyle( ) &WS_EX_TOPMOST)?&wndNoTopMOST: &wndTopMost,0,0,0,0,SSP_NOSIZE|WSP_NOMOVE) } 用一个布尔变量m_bTopMost以记录当前窗口所处的状态。void CWndCotrolView::OnWndcontrolTop(){ if(!m_bTopMost){ AfxGetMainWnd()->SetWindowPos(&CWnd::wndTopMost,0,0,0,0,SWP_NOMOVE|SWPNOMOVE|SWP_NOSIZE); m_bTopMost=TRUE;}else { AfxGetMainWnd()->SetWindowPos(&wndNoTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);m_bTopMost=FALSE;}}一定能行,去试试吧。 设计个防火墙,可什么都不懂,求指点.... 头大啦,怎么会这么难啊,帮我解答下,谢谢 请教一个关于GetFieldValue的问题 如何将拼音转换成汉字,类似与快速检索,比如w就知道要找汉字的王,万,湾等,这个怎么做啊? 矢量图转位图(巨大)无法转换的问题(在线等) 数据写入文件时如何提行?加急! 不同多个进程同时访问某个进程的数组或者链表是否需要互斥? DataGrid控件在无vc环境下出现非法操作! VC++6.0开发的BHO怎样统计自己安装数量 一个商业软件的多模块问题!--一定给分 什么时候用CString,什么时候用string,什么时候用char*? 牢骚诗一首
SetWindowLong(hwnd,GWL_EXSTYLE,oldstyle|WS_EX_TOPMOST);
BringWindowToTop();
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog(); SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);//
// TODO: Add extra initialization here
return TRUE;
}
SetWindowPos函数,指定窗口的 最顶风格,用WS_EX_TOPMOST扩展窗口的风格
Example:
void ToggleTopMost(
CWnd *pWnd)
{
ASSERT_VALID(pWnd)
pWnd ->SetWindowPos(pWnd-> GetStyle( ) &WS_EX_TOPMOST)?
&wndNoTopMOST: &wndTopMost,0,0,0,0,SSP_NOSIZE|WSP_NOMOVE)
}
void CWndCotrolView::OnWndcontrolTop()
{
if(!m_bTopMost)
{
AfxGetMainWnd()->SetWindowPos(&CWnd::wndTopMost,0,0,0,0,SWP_NOMOVE|SWPNOMOVE|SWP_NOSIZE);
m_bTopMost=TRUE;
}
else
{
AfxGetMainWnd()->SetWindowPos(&wndNoTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
m_bTopMost=FALSE;
}
}一定能行,去试试吧。