【MFC】简单实现窗口始终置底

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/h84121599/article/details/82189754

环境:win10,vs2017

注意这里是始终置底,不是始终置顶

关于窗口持续置底,尝试了不少网上方法,但都不怎么适合自己的程序。于是自己想了个比较笨的方法,总算是基本实现自己想要的效果了。

下面这句代码能将窗口进行一次置底,但窗口一激活又显示了。

SetWindowPos(&wndBottom, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);

于是尝试用100ms延时的定时器持续执行,发现效果还算理想,能实现简单的持续置底。

实现如下:

//创建定时器
SetTimer(TIMER_AUTOTURN, 100, 0);
void CDesktopEvaDlg::OnTimer(UINT_PTR nIDEvent)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	switch (nIDEvent) {
		case TIMER_AUTOTURN:
		{
			//窗口置底
			SetWindowPos(&wndBottom, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
			break;
		}
	}
	CDialogEx::OnTimer(nIDEvent);
}

更新了方法,请看另一篇博客https://blog.csdn.net/h84121599/article/details/82431043

猜你喜欢

转载自blog.csdn.net/h84121599/article/details/82189754
今日推荐