int AfxMessageBox(
LPCTSTR lpszText,
UINT nType = MB_OK,
UINT nIDHelp = 0
);
int AFXAPI AfxMessageBox(
UINT nIDPrompt,
UINT nType = MB_OK,
UINT nIDHelp = (UINT) -1
);
AfxMessageBox
взял Visual studio 2005
void CfirstDlg::OnBnClickedOk()
{
AfxMessageBox("True");
}
мне компилер выдаё такую сабжу:
d:\...\firstdlg.cpp(155) : error C2440: 'initializing' : cannot convert from 'const char [5]' to 'int'
There is no context in which this conversion is possible
=========================
что с ним делать ???
в книге написано что должно работать ...
Похоже не тот MessageBox - этому первым параметром int нужен
Цитата:
Originally posted by Dian
Похоже не тот MessageBox - этому первым параметром int нужен
Похоже не тот MessageBox - этому первым параметром int нужен
Этому MessageBox надо предопределёныые константы передавать...
int AfxMessageBox(
LPCTSTR lpszText,
UINT nType = MB_OK,
UINT nIDHelp = 0
);
Попробуй вызвать её так:
AfxMessageBox("Text", MB_OK, 0);
Можно ещё заменить на CWnd::MessageBox:
int CWnd::MessageBox(
LPCTSTR lpszText,
LPCTSTR lpszCaption = NULL,
UINT nType = MB_OK
);
Например: MessageBox("Text", "Error",
MB_ICONERROR | MB_OK);
Да, и не поймите меня неправильно: данный вопрос не относится к .NET Framework, поэтому подобные вопросы лучше задавать в форуме Microsoft Visual C++.
ничего не могу понять ...
Цитата:
Originally posted by Valiant
всё-равно не работает
ничего не могу понять ...
всё-равно не работает
ничего не могу понять ...
Что не работает? Что компилер пишет? ничего не могу понять...
int AfxMessageBox("lol");
то вот это:
error C2440: 'initializing' : cannot convert from 'const char [4]' to 'int'
There is no context in which this conversion is possible
если такой:
AfxMessageBox("Text", MB_OK, 0);
то:
error C2665: 'AfxMessageBox' : none of the 2 overloads could convert all the argument types
c:\program files\microsoft visual studio 8\vc\atlmfc\include\afxwin.h(5025): could be 'int AfxMessageBox(LPCTSTR,UINT,UINT)'
c:\program files\microsoft visual studio 8\vc\atlmfc\include\afxwin.h(5027): or 'int AfxMessageBox(UINT,UINT,UINT)'
while trying to match the argument list '(const char [5], long, int)'
Если такой:
int AfxMessageBox("Text", MB_OK, 0);
То:error C2078: too many initializers
Код:
Хотя странно, что он возмущается на несовместимость константы MB_OK и типа UINT. Ну сделай тогда так AfxMessageBox("Text", (UINT)MB_OK, 0) или так AfxMessageBox("Text", 0, 0);
если я ставлю перед AfxMessageBox
int то он говорит о том что не может конвертнуть
один тип данных в другой (const char в int)
хотя нигде нет именованной константы
приложение MFC -> Dialog Based
Цитата:
Originally posted by Valiant
неа никак
если я ставлю перед AfxMessageBox
int то он говорит о том что не может конвертнуть
один тип данных в другой (const char в int)
хотя нигде нет именованной константы
приложение MFC -> Dialog Based
неа никак
если я ставлю перед AfxMessageBox
int то он говорит о том что не может конвертнуть
один тип данных в другой (const char в int)
хотя нигде нет именованной константы
приложение MFC -> Dialog Based
А зачем тебе указывать тип возвращаемого значения при вызове фунции,то граматическая уже ошибка. Просто напиши так:
Код:
...
CString myString = "Text";
AfxMessageBox(myString, (UINT)MB_OK, 0);
...
CString myString = "Text";
AfxMessageBox(myString, (UINT)MB_OK, 0);
...