【问题标题】:some problem with AfxMessageBox() MFC functionAfxMessageBox() MFC 函数的一些问题
【发布时间】:2011-05-29 06:27:14
【问题描述】:

我正在制作一个使用 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() 的定义 ... [链接]](http://msdn.microsoft.com/en-us/library/as6se7cb(v=vs.80).aspx) ...它应该可以工作..但我认为参数列表中存在一些问题..我不明白...

根据定义.. AfxMessageBox() 语句不应该让我出错...

任何人都可以帮助我解决这个问题..期待一个好的回应谢谢..

注意:相机已连接,..相机没问题..

【问题讨论】:

    标签: c++ mfc


    【解决方案1】:

    两种可能:

    尽管我对此表示怀疑,但您可能必须将其范围设置为全局。为此,请尝试

    ::AfxMessageBox("Camera have no connection",MB_OK|MB_ICONSTOP);
    

    另一个是使用为 unicode 构建的,它认为字符串是多字节的。为此,请尝试

    AfxMessageBox( L"Camera have no connection",MB_OK|MB_ICONSTOP);
    

    我不在城里,在我的 Mac 上,所以我无法测试这个。但是我周末一直被困在办公室,所以我想我会提供两件事来尝试。

    【讨论】:

      【解决方案2】:
      AfxMessageBox( L"Camera have no connection",MB_OK|MB_ICONSTOP);
      

      上面的代码没有任何问题。如果你还想去:

      AfxMessageBox("Camera have no connection",MB_OK|MB_ICONSTOP);
      

      您可以转到项目属性,在常规选项卡中,您可以将字符集从“使用 Unicode 字符集”更改为“使用多字节字符集”

      【讨论】:

        【解决方案3】:

        如下使用:

        AfxMessageBox(_T("YOUR MESSAGE"));
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-11-12
          • 1970-01-01
          • 1970-01-01
          • 2012-03-05
          • 2021-05-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多