AfxMessageBoxMFC函数存在一些问题

问题描述

| 我正在制作一个使用Open.Cv从相机加载图片的程序。 而且我在AfxMessageBox()语句中收到错误。 程序:
BOOL CObjectBoundDetectDlg::OnInitDialog()

{ 
CDialogEx::OnInitDialog();

// Add \"About...\" menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
    BOOL bNameValid;
    CString strAboutMenu;
    bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
    ASSERT(bNameValid);
    if (!strAboutMenu.IsEmpty())
    {
        pSysMenu->AppendMenu(MF_SEPARATOR);
        pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);
    }
}

int nSelected = cvcamGetCamerasCount();
if(nSelected == 0)
{       
    AfxMessageBox(\"Camera have no connection\",MB_OK|MB_ICONSTOP);
    return FALSE;
}
} 错误: 错误2错误C2665:\'AfxMessageBox \':2个重载都不能转换所有参数类型c:\\ program files \\ microsoft visual studio 10.0 \\ my project \\ objectbounddetect \\ objectbounddetect \\ objectbounddetectdlg.cpp 126 1个ObjectBoundDetect 如果我看一下AfxMessageBox()的定义... [link]](http://msdn.microsoft.com/zh-cn/library/as6se7cb(v = vs.80).aspx)...它应该可以工作。但是我认为参数列表中存在一些问题。我不明白... 根据定义。AfxMessageBox()语句不应使我出错... 任何人都可以帮助我解决这个问题。 注意:摄像机已经连接,..摄像机没有问题。     

解决方法

        两种可能性: 尽管我对此表示怀疑,但您可能必须将其范围扩大到全球。为此,请尝试
::AfxMessageBox(\"Camera have no connection\",MB_OK|MB_ICONSTOP);
另一个是用途是为unicode构建的,它认为字符串是多字节的。为此,请尝试
AfxMessageBox( L\"Camera have no connection\",MB_OK|MB_ICONSTOP);
我不在Mac上,因此无法测试。但是我周末一直被困在办公室,所以我想提供两件事来尝试。     ,        
AfxMessageBox( L\"Camera have no connection\",MB_OK|MB_ICONSTOP);
上面的代码可以正常工作。如果您仍然想使用:
AfxMessageBox(\"Camera have no connection\",MB_OK|MB_ICONSTOP);
您可以转到项目属性,在常规选项卡中,可以将字符集从\“使用Unicode字符集\”更改为\“使用多字节字符集\”     ,        用途如下:
AfxMessageBox(_T(\"YOUR MESSAGE\"));
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...