FindWindow!!!各位看看!

bluecll 2008-05-24 07:13:00
我想双击一个Button时创建一个窗口,但这个窗口若已被创建则不再重复创建。
我用的是FindWindow函数来判断,但不知怎么回事效果不好。
一开始双击创建一个窗口,再双击时没问题,创建不了窗口了。
但我把开始创建的窗口关闭,再双击时还是创建不了,FindWindow判断这个窗口仍然存在,
这是什么原因???

void CTestDlg::OnDblclkListCtrl(NMHDR* pNMHDR, LRESULT* pResult)
{
CString strTitle = "TEST";
CWnd *pWnd = FindWindow(NULL, strTitle);
if (pWnd == NULL)
{
CSubDlg *pDlgSub = new CSubDlg;
pDlgSub->Create(IDD_SUB_DIALOG);
pDlgSub->ShowWindow(SW_SHOW);
pDlgSub->SetWindowText(strTitle);
}
else
{
pWnd->SetActiveWindow();
pWnd->BringWindowToTop();
}
}
...全文
144 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluecll 2008-05-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ls443085074 的回复:]
可能是你新建对话框的资源没有释放干净,在次调用FindWindows时还能找到对话框的句柄
[/Quote]
估计就是你说的问题。

谢谢各位,结贴了。
ls443085074 2008-05-26
  • 打赏
  • 举报
回复
可能是你新建对话框的资源没有释放干净,在次调用FindWindows时还能找到对话框的句柄
菜牛 2008-05-25
  • 打赏
  • 举报
回复
FindWindow用于查找顶层窗口,看来你要查找的不是
bluecll 2008-05-25
  • 打赏
  • 举报
回复
第一个是类名,类名也不知道啊,好像还要注册过的。
不过貌似可以为空啊~
dbger 2008-05-25
  • 打赏
  • 举报
回复
FindWindow(NULL, strTitle); 第一个参数不能为空吧
bluecll 2008-05-25
  • 打赏
  • 举报
回复
晕,看来都跑光了。

大吼一声! 谁来帮我看看FindWindow是不是有问题啊?

反正不是它有问题就是我用的有问题啦!
bluecll 2008-05-24
  • 打赏
  • 举报
回复
谢谢,用FindWindow是不是不好啊?

那要是想创建多个窗口,但相同标题的只创建一个

那你的方法是不是就行不通了呢?
sjdev 2008-05-24
  • 打赏
  • 举报
回复
嗯,对。

析构函数中delete m_pSubDlg.
狂放之歌 2008-05-24
  • 打赏
  • 举报
回复
new 了 就要 delete
sjdev 2008-05-24
  • 打赏
  • 举报
回复
// CTestDlg.h
CSubDlg* m_pSubDlg;



// TestDlg.cpp

// 构造函数中
m_pSubDlg = NULL;


// OnDblclkListCtrl中

if (m_pSubDlg == NULL)
{
m_pSubDlg = new CSubDlg;
m_pSubDlg->Create(IDD_SUB_DIALOG);
}
if (m_pSubDlg != NULL) && (m_pSubDlg->GetSafeHwnd() != NULL))
m_pSubDlg->ShowWindow(SW_SHOW);
sjdev 2008-05-24
  • 打赏
  • 举报
回复
定义成类对象,初始化为空。在双击时创建,第二次双击时判断是否为空,不为空则不进行创建。

16,472

社区成员

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

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

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