标题已定义,但不可见。 'm_nCmdShow':未声明的标识符

时间:2014-04-07 08:36:02

标签: c++ visual-c++ mfc

我有一个带有对话框的小应用程序,在编译期间显示错误'm_nCmdShow' : undeclared identifier

m_nCmdShow<afxwin.h>中定义。 aproblem在哪里?

#include "stdafx.h"
#include "auth.h"

#include "Dialog.h"
#include <afxwin.h>

int userNotify ( int iNotificationType, char* pcNotificationText )
{

    Dialog dlg;
    dlg.txt= pcNotificationText;
    int r= dlg.ShowWindow (m_nCmdShow);
    //int r= dlg.DoModal();
    return r;
}

1 个答案:

答案 0 :(得分:0)

它是CWinApp类的一部分:

http://msdn.microsoft.com/en-us/library/vstudio/8ts5zskx%28v=vs.110%29.aspx

使用:

AfxGetApp()->m_nCmdShow

[编辑]

在ScottMcP-MVP评论中,在你的代码中你没有在ShowWindow之前调用CDialog :: Create()方法。在这里,您将找到关于无模式对话框的优秀教程:

http://www.codeproject.com/Articles/1651/Tutorial-Modeless-Dialogs-with-MFC

你仍然必须将dlg变量移到userNotify函数之外,否则一旦函数返回它就会破坏你的对话框。