标题:mfc初学者问题。。 有关窗口创建
取消只看楼主
xuyao18
Rank: 2
等 级:论坛游民
帖 子:50
专家分:30
注 册:2009-4-27
结帖率:22.22%
 问题点数:0 回复次数:4 
mfc初学者问题。。 有关窗口创建
小弟刚开始学习MFC编程,对于很多东西都不是特别的懂
老师要求我在两个星期以内做出一个点击菜单上的某个按钮,然后能弹出一个子窗口,这样的一个程序。
看了两天的百度,有了一点点概念,是先建立一个窗口类,再调用createwindow()这个函数来创建窗口。
但是,我一直很有疑惑,就是百度上面那些很多的比如定义窗口类和initinstance()这些函数具体是放在程序源代码的哪些地方的?
定义窗口类是在mainframe下面的precreatewindow()定义么?
在上面定义好窗口类以后,又是如何调用的?

补充一个问题:很多人都提到了从cwnd这个类派生,但是我再classwizard里面并没有找到这个类啊?真心求教
希望路过的高手指点指点。
谢谢!

PS:求MFC师傅!!
QQ385427132

[ 本帖最后由 xuyao18 于 2010-4-13 21:40 编辑 ]
搜索更多相关主题的帖子: 窗口 mfc 
2010-04-13 21:38
xuyao18
Rank: 2
等 级:论坛游民
帖 子:50
专家分:30
注 册:2009-4-27
得分:0 
void CMainFrame::Onnew()
{
    // TODO: Add your command handler code here
    HWND hwnd;
    HINSTANCE hInst;
    hInst = AfxGetInstanceHandle();  //获取实例句柄
    CreateWindow("newClassName","newClassName",WS_OVERLAPPEDWINDOW, 0,0,600,400,NULL,NULL,hInst,NULL);
    ShowWindow(SW_SHOWNORMAL);
    UpdateWindow();
}

这是我在新的按钮new上写的一些代码,都是胡乱百度上抄来的。。。。
运行的结果是什么反应也没有。。。。。

下面是我再precreatewindow()里写的对类的定义
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
    static BOOL s_bCreate = FALSE;
    if( !CFrameWnd::PreCreateWindow(cs) )
        return FALSE;
    if(!s_bCreate)
{
  WNDCLASS   wndclass;  
  ::GetClassInfo(AfxGetInstanceHandle(),cs.lpszClass,&wndclass);  
  wndclass.lpszClassName="newClassName";//必须采用新类名   
  AfxRegisterClass(&wndclass);  
  cs.lpszClass=wndclass.lpszClassName;   
  s_bCreate = TRUE;
 }
    // TODO: Modify the Window class or styles here by modifying
    //  the CREATESTRUCT cs
}

请问楼上的    这样写能否获得实例的句柄?还有这样是否能够正确就是定义这个新的窗口类?
2010-04-13 22:01
xuyao18
Rank: 2
等 级:论坛游民
帖 子:50
专家分:30
注 册:2009-4-27
得分:0 
感谢!
查了两天的百度,感觉都挺不一样的。 谢谢我看看先。
2010-04-13 22:49
xuyao18
Rank: 2
等 级:论坛游民
帖 子:50
专家分:30
注 册:2009-4-27
得分:0 
嗯。。 再次感谢。。
再问个问题,就是通过这样的按钮新建窗口,就是跟原来的那个界面一样的那种窗口,而不是对话框的话,该如何操作?
概括点,我自己去研究就行,不用麻烦你截图了。很感谢你!

[ 本帖最后由 xuyao18 于 2010-4-13 22:55 编辑 ]
2010-04-13 22:53
xuyao18
Rank: 2
等 级:论坛游民
帖 子:50
专家分:30
注 册:2009-4-27
得分:0 
对了,请问那个win.h是从哪来的?
为什么我的VC里面提示没有这样的头文件啊?
PS:如果说我是用 CreateEx这个函数来创建窗口,应该如何使用?

[ 本帖最后由 xuyao18 于 2010-4-14 16:25 编辑 ]
2010-04-14 16:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-302884-1-1.html




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

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