VC实现桌面歌词效果

这篇博客介绍了如何利用VC进行桌面歌词效果的实现,满足全屏应用下提示信息窗口置顶、透明且不影响用户操作的需求。通过设置窗口属性,实现鼠标穿透效果,确保窗口不可移动、不可改变大小,并且不显示在任务栏中。
摘要由CSDN通过智能技术生成

自助设备上, 有时需要给用户一些提示消息, 需要满足下面的要求(该方法应用也可以用于桌面歌词显示制作)

1.自助应用大多为全屏应用, 因此该提示信息窗口必须在TOPMOST

2.不能影响当前应用展示, 提示窗口必须透明

3.不能影响用户操作,提示窗口必须具备输入穿透效果.

4.其他方面,窗口不可移动不可改变大小, 不可存在于任务栏


BOOL RemoveExStyle(HWND hwnd, DWORD dwExStyle)
{
	return SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) & ~dwExStyle);
}

BOOL AddExStyle(HWND hwnd, DWORD dwExStyle)
{
	return SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) | dwExStyle);
}
BOOL CMod::OnInitDialog()
{
	CDialog::OnInitDialog();

	// TODO:  在此添加额外的初始化
	SetTimer(1, 100, NULL);
	int Width=300,Height=100;
	AddExStyle(this->GetSafeHwnd(), WS_EX_LAYERED | WS_EX_TRANSPARENT | WS_EX_TOOLWINDOW);
	// DWORD dwEx = GetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE);
	// SetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE, dwEx | WS_EX_LAYERED | WS_EX_TRANSPARENT | WS_EX_TOOLWINDOW);
	int x = GetDeviceCaps(::GetDC(NU
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值