悬浮窗 & 动态菜单 VC++

这篇博客介绍了如何使用VC++实现悬浮窗,并详细讲解了去除标题栏、设置窗口位置、实现半透明效果和贴图的方法。同时,还阐述了动态添加、删除和响应菜单项的操作步骤,为读者提供了完整的代码示例。
摘要由CSDN通过智能技术生成

悬浮窗代码:

1.  Dialog properties中,选择styles选项卡,去掉Title bar。其实就是将标题栏去掉。

2.  CMainFrame::OnCreate()中添加

m_pFdlg = new CFloatDlg();

m_pFdlg->Create( IDD_FLOAT, NULL );

CRect rect;

m_pFdlg->GetWindowRect( &rect );

m_pFdlg->SetWindowPos( &wndTopMost, rect.left, rect.top, rect.Width(), rect.Height(), SWP_SHOWWINDOW );

//这里的70毫无理由,随手写的

m_pFdlg->MoveWindow( GetSystemMetrics(SM_CXSCREEN) - 70, 70, rect.Width(), rect.Height(), TRUE );

m_pFdlg->ShowWindow(SW_SHOW); //显示对话框

m_pFdlg->UpdateWindow();

3  关键一点在于将对话框客户去消息转换成客户区消息
void CFloatDlg::OnLButtonDown(UINT nFlags, CPoint point)

{

         CDialog::OnLButtonDown(nFlags, point);

 

         PostMessage (WM_NCLBUTTONDOWN , HTCAPTION , MAKELPARAM(point.x , point.y ));

}

4.最后不要忘了释放释放资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值