谁做过或者有类似winamp的几个窗口考近主窗口随着主窗口一起移动的源代码啊

bit1010 2005-06-22 01:50:01
如题,如果谁做过或者有这方面的元代码给我发一份,谢谢啊!我的Email:bit_1010@sina.com.cn,MSN:y_zhitao@hotmail.com,欢迎加我,提供思路,谢谢了,在线急等。
...全文
78 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodboyws 2005-06-23
  • 打赏
  • 举报
回复
CXXXXDlg是主窗口的代码, CXXXinfoDlg是吸附窗口的代码
goodboyws 2005-06-23
  • 打赏
  • 举报
回复
这是有效代码, 我不方便把全部代码发给你, 望理解

BEGIN_MESSAGE_MAP(CXXXXDlg, CDialog)
//{{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);
}
goodboyws 2005-06-23
  • 打赏
  • 举报
回复
我做过
bit1010 2005-06-23
  • 打赏
  • 举报
回复
我顶一下,希望能够解决这个问题。
bit1010 2005-06-22
  • 打赏
  • 举报
回复
楼上的老大,你做过这方面的程序没有,我就是根据你的这个代码做的,有点问题,我已经给你70分了,如果可以的话,可以和你聊聊吗?我的msn:y_zhitao@hotmail.com(白天在),QQ:276718235(晚上7点-11点),如果您方便的话,和你聊聊吧,一个了周,倒弄这个问题。
bohut 2005-06-22
  • 打赏
  • 举报
回复
给你发了一个程序。查收!

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧