| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2867 人关注过本帖
标题:为什么我的APP对像自动销毁了
取消只看楼主 加入收藏
ttkx888
Rank: 1
等 级:新手上路
帖 子:45
专家分:3
注 册:2009-6-6
结帖率:100%
收藏
 问题点数:0 回复次数:31 
为什么我的APP对像自动销毁了
我自己设计了一个窗口,想让此窗口显示出来的可是窗口刚显示出来马上就消失了,请问下高手们应该怎么做才可以让此窗口显示出来不消失
呢? 直到我点了窗口右上角的叉叉关闭窗口时才结束进程。

  具体代码如下:

1,我用vs2008先创建了一个windows项目 名为:mi gong

2,创建了一个头文件 名为:mi gong.h  头文件里面包含了 #include<afxwin.h>

3,设置了项目 以静态方式访问MFC

4,新建了资源文件名为:mi gong.rc

5,添加了主程序类 mi gong app,代码如下:
class migongapp :
    public CWinApp
{
public:
    BOOL InitInstance();
    CWnd* okk;        ///添加指向主窗口类的成员指针
    migongapp(void);
    ~migongapp(void);
   
};

6,添加了窗口类 mi gong wnd,代码如下:
class migongwnd :
    public CFrameWnd
{
public:
    migongwnd(void);
   
    ~migongwnd(void);
};

并在构造函数中使用create函数创建一个窗体代码如下:

migongwnd::migongwnd(void)
{
    Create(NULL,"迷宫测试");
    ::AfxMessageBox("wnd对像创建成功");
}

7,然后在mi gong app 窗口中先创建了一个对像

  migongapp myapp;
 
然后从写InitInstance函数代码如下:

BOOL migongapp::InitInstance()
{
   
   
   
    myapp.okk=new migongwnd;            //在堆中新建了一个窗口对像交给migongapp类的成员指针OKK保存,同时调用migongwnd类的构造                                        //函数中的create函数来创建了一个窗口。
   
    myapp.okk->ShowWindow(m_nCmdShow);  //显示该窗口
    myapp.okk->UpdateWindow();          //更新窗口
   
    return true;

}

8,然后在migongapp的析构函数中添加delete okk; okk=NULL; //程序结束时释放对像空间

9,然后运行程序 此窗口刚刚显示出来就消失了 程序结束了,可是当我把OKK指针换成migongapp.m_pMainWnd指针的时候此窗口就不会消失 程序也不会自动结束了,代码如下:

BOOL migongapp::InitInstance()
{
   
   
   
    myapp.m_pMainWnd=new migongwnd;            //在堆中新建了一个窗口对像交给migongapp类的成员指针OKK保存,同时调用migongwnd
                                            // 类的构造函数中的create函数来创建了一个窗口。
   
    myapp.m_pMainWnd->ShowWindow(m_nCmdShow);  //显示该窗口
    myapp.m_pMainWnd->UpdateWindow();          //更新窗口
   
    return true;

}



   我的问题就是okk和m_pMainWnd 二个指针都是指向CWnd类的指针为什么我用OKK保存对像就不行,而用m_pMainWnd指针保存对像窗口就可以
就不会消失呢? 我是新手不要笑我哈。。。希望高手指点下 谢了!



来源: http://www.
搜索更多相关主题的帖子: 项目 windows include public 
2011-11-26 14:10
ttkx888
Rank: 1
等 级:新手上路
帖 子:45
专家分:3
注 册:2009-6-6
收藏
得分:0 
回复 楼主 ttkx888
看在我写了这么多字的份上高手们告诉下我原因啊。。。。难道没有高手知道吗
2011-11-26 23:48
ttkx888
Rank: 1
等 级:新手上路
帖 子:45
专家分:3
注 册:2009-6-6
收藏
得分:0 
回复 楼主 ttkx888
实在是找不到原因了 百度了N次也找不到答案,就没有好心人帮忙解答下吗
2011-11-27 11:08
ttkx888
Rank: 1
等 级:新手上路
帖 子:45
专家分:3
注 册:2009-6-6
收藏
得分:0 
回复
唉 这个网站这么垃圾啊想请教个问题都二天了也没有一个人能帮忙解答下的失望
2011-11-27 14:24
ttkx888
Rank: 1
等 级:新手上路
帖 子:45
专家分:3
注 册:2009-6-6
收藏
得分:0 
回复 7楼 yuccn
我想问的是难道不用系统自带的m_pManWnd指针是不是就创建不出来一个可以不消失的窗体呢? 为什么一定就得用继承过来的m_pManWnd指针来保存新建的窗体对像才可以让窗体显示出来而不是瞬间显示后就消失呢? 我想肯定有办法可以用自己新建的指针来保存新窗口同时也可以让窗口显示出来而不被析构掉的。。如果没有人知道怎么做 都是让我用系统自带的m_pManWnd指针来保存窗体的话就没必要再回贴了,因为根本就没懂我发这贴子的意义,我也知道用那个m_pManWnd指针可以正常让程序运行  但是我想请教的问题是我想建一个自己的m_pManWnd指针来保存窗体同时也达到窗体显示后不会被析构的效果 我相信程序是万能的这个小问题肯定有人能解决的了,如果没人可以解决这问题那只能说没有高手罢了 就让此贴沉了吧。。相信有一天我自己能解决这个问题的时候我再自己发代码上来/
2011-11-29 14:46
ttkx888
Rank: 1
等 级:新手上路
帖 子:45
专家分:3
注 册:2009-6-6
收藏
得分:0 
回复 5楼 rjsp
说白了我就是想知道系统是怎么利用m_pManWnd指针让窗体显示出来而不被析构掉的,我想学的是知识 而不是让别人牵着鼻子走 为什么都要按他们安排好的来做事? 我想学会的是他们是怎么做到这点的这才是我发贴的主要目的,望那些希望跟别人后面走的朋友不要回贴了,这个网站让我很失望 这么简单的一个问题几天了竟然都没有人可以搞定。
2011-11-29 14:55
ttkx888
Rank: 1
等 级:新手上路
帖 子:45
专家分:3
注 册:2009-6-6
收藏
得分:0 
回复 10楼 yuccn
看你个垃圾样吧 你懂你还在这装啥,我要是啥都明白还用发贴吗,你根本就是也不会还想装明白 告诉你绝对有人会利用自己的m_pMainWnd指针也把窗口保存下来 让窗口显示而不被析构掉的,像这样只会跟别人屁股后、面跑的选手我想你这辈子也做不到这点的
2011-11-30 00:16
ttkx888
Rank: 1
等 级:新手上路
帖 子:45
专家分:3
注 册:2009-6-6
收藏
得分:0 
回复 12楼 yuccn
真以为你自己懂很多呢 连我想求教的是什么问题都没有弄明白还在这装清高呢 真恶心
2011-11-30 00:17
ttkx888
Rank: 1
等 级:新手上路
帖 子:45
专家分:3
注 册:2009-6-6
收藏
得分:0 
回复 10楼 yuccn
我虽然是新手啥都不懂 但是也永远看不起你,你只会按别人安排好的东西去做事,也就是说你没有自己的大脑懂了吗? 高手有都是你等着这个贴早晚会有高手给解答了 到时你就一边凉快去吧 你要没这本事来解决我的问题最好就闭嘴 看你恶心知道不?
2011-11-30 00:20
ttkx888
Rank: 1
等 级:新手上路
帖 子:45
专家分:3
注 册:2009-6-6
收藏
得分:0 
我再声明一次 我想知道的是系统m_pMainWnd指针是怎么做到让窗口显示后而不被析构掉而瞬间消失了的,请那些回答不上来这个问题的垃圾一边凉快去吧,看着我恶心。我就不信这么大的一个论坛就没人能解决这问题的。。期待高手的出现 我想知道的是原理  那些啥也不懂还自命清高的人滚远点。
2011-11-30 00:26
快速回复:为什么我的APP对像自动销毁了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020956 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved