谁做过或者有类似winamp的几个窗口考近主窗口随着主窗口一起移动的源代码啊 如题,如果谁做过或者有这方面的元代码给我发一份,谢谢啊!我的Email:[email protected],MSN:[email protected],欢迎加我,提供思路,谢谢了,在线急等。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是有效代码, 我不方便把全部代码发给你, 望理解BEGIN_MESSAGE_MAP(CXXXXDlg, CDialog) //{{AFX_MSG_MAP(CXXXXDlg) ON_WM_WINDOWPOSCHANGED() //}}AFX_MSG_MAPEND_MESSAGE_MAP()BOOL CXXXXDlg::OnInitDialog(){ CDialog::OnInitDialog(); if (!IsWindow(m_XXXInfoDlg.GetSafeHwnd())) return; CRect rc(m_BackInfo.rc); ClientToScreen(rc); m_XXXInfoDlg.SetWindowPos(NULL, rc.right, rc.top, 0, 0, SWP_NOSIZE | SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_NOACTIVATE); if (IsWindowVisible()) m_XXXInfoDlg.ShowWindow(SW_SHOWNA); else m_XXXInfoDlg.ShowWindow(SW_HIDE); return TRUE;}void CXXXXDlg::OnWindowPosChanged(WINDOWPOS FAR* lpwndpos) { CWnd::OnWindowPosChanged(lpwndpos); //设置吸附窗口的贴靠效果 //m_XXXInfoDlg是吸附窗口 if (!IsWindow(m_XXXInfoDlg.GetSafeHwnd())) return; CRect rc(m_BackInfo.rc); ClientToScreen(rc); if (!(lpwndpos->flags & SWP_NOZORDER)) ::SetWindowPos(m_XXXInfoDlg.GetSafeHwnd(), m_hWnd, rc.right, rc.top, 0, 0, SWP_NOSIZE | SWP_NOOWNERZORDER | SWP_NOACTIVATE | SWP_NOSENDCHANGING); else m_XXXInfoDlg.SetWindowPos(NULL, rc.right, rc.top, 0, 0, SWP_NOSIZE | SWP_NOOWNERZORDER | SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOSENDCHANGING); if (IsWindowVisible() && !m_XXXInfoDlg.IsWindowVisible()) m_XXXInfoDlg.ShowWindow(SW_SHOWNA); else if (!IsWindowVisible() && m_XXXInfoDlg.IsWindowVisible()) m_XXXInfoDlg.ShowWindow(SW_HIDE); else if (lpwndpos->flags & SWP_SHOWWINDOW) m_XXXInfoDlg.ShowWindow(SW_SHOWNA); else if (lpwndpos->flags & SWP_HIDEWINDOW) m_XXXInfoDlg.ShowWindow(SW_HIDE); }吸附窗口BEGIN_MESSAGE_MAP(CXXXinfoDlg, CDialog) //{{AFX_MSG_MAP(CChatinfoDlg) ON_WM_ACTIVATE() //}}AFX_MSG_MAPEND_MESSAGE_MAP()void CXXXinfoDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized){ if (nState != WA_INACTIVE && m_pChat && m_pChat->GetSafeHwnd()) //m_pXXX是主窗口指针 m_pXXX->SetWindowPos(&wndTop, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);} CXXXXDlg是主窗口的代码, CXXXinfoDlg是吸附窗口的代码 怎样用VC程序 开启IIS6.0的"允许 Active server pages"功能??????急 autorun为什么图标变了,而.exe文件却没有执行? 100阶乘或更大的数据量问题的解决 如何获取windows注销/切换用户消息?急!各位老大帮忙 如何计算汉字的笔画数?? 求:在树型目录中查找特定字符串的方法?大家帮帮忙! 程序完成后,如何改变应用程序标题栏的名字? 请教各位大虾!!!急!!!!!!!!!! 子窗口控件的窗口过程 CTreeCtrl返回的lParam怎么是负数? 双精度的最小值最小值是多少啊? 菜鸟问题.
//{{AFX_MSG_MAP(CXXXXDlg)
ON_WM_WINDOWPOSCHANGED()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
BOOL CXXXXDlg::OnInitDialog()
{
CDialog::OnInitDialog(); if (!IsWindow(m_XXXInfoDlg.GetSafeHwnd()))
return;
CRect rc(m_BackInfo.rc);
ClientToScreen(rc);
m_XXXInfoDlg.SetWindowPos(NULL, rc.right, rc.top, 0, 0, SWP_NOSIZE | SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_NOACTIVATE);
if (IsWindowVisible())
m_XXXInfoDlg.ShowWindow(SW_SHOWNA);
else
m_XXXInfoDlg.ShowWindow(SW_HIDE);
return TRUE;
}
void CXXXXDlg::OnWindowPosChanged(WINDOWPOS FAR* lpwndpos)
{
CWnd::OnWindowPosChanged(lpwndpos);
//设置吸附窗口的贴靠效果
//m_XXXInfoDlg是吸附窗口
if (!IsWindow(m_XXXInfoDlg.GetSafeHwnd()))
return;
CRect rc(m_BackInfo.rc);
ClientToScreen(rc);
if (!(lpwndpos->flags & SWP_NOZORDER))
::SetWindowPos(m_XXXInfoDlg.GetSafeHwnd(), m_hWnd, rc.right, rc.top, 0, 0, SWP_NOSIZE | SWP_NOOWNERZORDER | SWP_NOACTIVATE | SWP_NOSENDCHANGING);
else
m_XXXInfoDlg.SetWindowPos(NULL, rc.right, rc.top, 0, 0, SWP_NOSIZE | SWP_NOOWNERZORDER | SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOSENDCHANGING);
if (IsWindowVisible() && !m_XXXInfoDlg.IsWindowVisible())
m_XXXInfoDlg.ShowWindow(SW_SHOWNA);
else if (!IsWindowVisible() && m_XXXInfoDlg.IsWindowVisible())
m_XXXInfoDlg.ShowWindow(SW_HIDE);
else if (lpwndpos->flags & SWP_SHOWWINDOW)
m_XXXInfoDlg.ShowWindow(SW_SHOWNA);
else if (lpwndpos->flags & SWP_HIDEWINDOW)
m_XXXInfoDlg.ShowWindow(SW_HIDE);
}吸附窗口BEGIN_MESSAGE_MAP(CXXXinfoDlg, CDialog)
//{{AFX_MSG_MAP(CChatinfoDlg)
ON_WM_ACTIVATE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()void CXXXinfoDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
{
if (nState != WA_INACTIVE && m_pChat && m_pChat->GetSafeHwnd())
//m_pXXX是主窗口指针
m_pXXX->SetWindowPos(&wndTop, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
}