求教自动停靠问题

bolischou 2010-12-14 11:16:28
类似QQ的,不同的是,我在一个主对话框中点击按钮,弹出一个子对话框,接着子对话框可以如QQ一样进行停靠,这个功能如何实现?
我目前遇到的问题是,每次都是只能使主对话框自动停靠,弹出的子对话框不能实现,不知道是不是因为句柄没抓到,还是其他原因?
请牛人给出一点思路和解法~谢谢了~!
...全文
85 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2011-01-08
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖

相关规定详见界面界面版关于版主结帖工作的具体办法
wwgddx 2010-12-15
  • 打赏
  • 举报
回复
hWnd1=MyDlg->m_hWnd;
或者
pWnd=MyDlg->GetSafeHwnd();
bolischou 2010-12-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhucde 的回复:]

你怎么靠的? 都是通过抓句柄然后设置位置? 那应该没什么问题啊
[/Quote]

能不能帮我写一下抓点击按钮弹出子对话框的句柄的代码?我不知道我写的对不对
我的是
void CTestDlg::OnButtonStationSelect()
{
// TODO: Add your control notification handler code here
bSelect=TRUE;
extern CTestDlg *pDLg;
hWnd1=NULL;
MyDlg.Create(IDD_DIALOG2);
MyDlg.ShowWindow(SW_SHOW);
hWnd1=::GetDlgItem(m_hWnd,IDD_DIALOG2);
pWnd=CWnd::FindWindow(NULL,"abc"); //这个pWnd是CWnd *pWnd定义的指针
::SetForegroundWindow(*pWnd);
SetTimer(22,50,NULL);
NearSide(/*GetSafeHwnd()*/pWnd); //如果位置合适让窗体自动隐藏
}
zhucde 2010-12-14
  • 打赏
  • 举报
回复
你怎么靠的? 都是通过抓句柄然后设置位置? 那应该没什么问题啊
Eleven 2010-12-14
  • 打赏
  • 举报
回复
hWnd1=::GetDlgItem(m_hWnd,IDD_DIALOG2);
pWnd=CWnd::FindWindow(NULL,"abc"); //这个pWnd是CWnd *pWnd定义的指针
::SetForegroundWindow(*pWnd);
SetTimer(22,50,NULL);
NearSide(/*GetSafeHwnd()*/pWnd); //如果位置合适让窗体自动隐藏
-------------------------------------------------------
你这一大段是在干什么呢?你前面不是创建好了非模态对话框了吗?直接调用MoveWindow/SetWindowPos设置位置以后,然后ShowWindow(SW_SHOW)显示出来不就可以了
ynwlgh 2010-12-14
  • 打赏
  • 举报
回复
这个可能对你有帮助:
SPY++

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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