2011-05-29 112 views
0

我想提出一個程序使用Open.Cv加載從相機拍攝照片..一些問題,AfxMessageBox的()MFC函數

,我在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文件\微軟的Visual Studio 10.0 \我的項目\ objectbounddetect \ objectbounddetect \ objectbounddetectdlg.cpp 126 1 ObjectBoundDetect

如果我看一下AfxMessageBox()的定義...提供的 [link]](http://msdn.microsoft.com/en-us/library/as6se7cb(v = vs80).aspx )...它應該工作..但我認爲參數列表中的一些問題..我不理解...

根據定義.. AfxMessageBox()語句不應該讓我錯誤...

任何一個可以幫助我解決這個問題.. Expoecting了良好的反響感謝..

注意:攝像頭已經連接,。與相機沒有問題..

回答

6

兩種可能性:

雖然我懷疑這一點,但你可能必須在全球範圍內進行考慮。要做到這一點,試試

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

另一個是用於建立爲unicode,它認爲該字符串是多字節。要做到這一點,試試

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

我出門在我的Mac上,所以我無法測試這個。但週末我一直被困在辦公室,所以我想我會提供兩件事情來嘗試。

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

上述代碼沒有任何問題。如果你還是想要去:

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

你可以去項目屬性,在常規選項卡,你可以改變性格從「使用Unicode字符集」設置爲「使用多字節字符集」

1

使用方法如下:

AfxMessageBox(_T("YOUR MESSAGE"));