悬浮窗代码:
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.最后不要忘了释放释放资源