Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
Dmitrij_Repin
1

Не работает MessageBox

10.07.2009, 11:48. Просмотров 1474. Ответов 4
Метки нет (Все метки)

Не работает след строчка
MessageBox("Test");

Выдает ошибку
error C2664: 'MessageBoxW' : cannot convert parameter 1 from 'char [5]' to 'const unsigned short *

Среда разработки Microsoft Embedded Visual C++ 4.0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.07.2009, 11:48
Ответы с готовыми решениями:

Не работает messagebox
Здравствуйте. у меня в visual studio c++ не хочет работать messagebox. Я прописал: MessageBox...

Не работает MessageBox
При компиляции выдает такую ошибку: 1>c:\documents and settings\admin\мои документы\visual studio...

Не работает MessageBox!
Код и сама ошибка показаны на скриншоте. В чём проблема и как её решить?

messagebox не работает
if (MessageBox(Handle,"Вы уверены?","Подтверждение",MB_YESNO) == IDYES) { ...

4
Эксперт С++
2328 / 1701 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
10.07.2009, 13:23 2
Дело в том, что по умолчанию в Visual Studio включено использование набора UNICODE символов и поэтому функции типа MessageBox ожидают строку из широких(двухбайтовых) UNICODE символов, а ты передаешь строку обычных (однобайтовых) ANSI символов, отсюда и ошибка.
Есть два варианта решения:
Вариант 1. Подключи tchar.h и замени
C++
1
MessageBox("Test");
на
C++
1
MessageBox(_T("Test")); // Про макрос _T почитай в MSDN
Вариант 2. Отключи использование UNICODE в настройках проекта. В VS 2005 это делается так:
Project->Property->General в Character Set установить Not Set.
0
1662 / 1131 / 80
Регистрация: 21.08.2008
Сообщений: 4,724
Записей в блоге: 1
10.07.2009, 13:25 3
C++
1
2
MessageBoxA("Test");
MessageBoxW(L"Test");
0
2379 / 1220 / 210
Регистрация: 26.02.2009
Сообщений: 4,857
Записей в блоге: 5
10.07.2009, 13:37 4
C++
1
2
3
4
5
#include <tchar.h>
...
TCHAR tmsg[] = _T("Test");
...
MessageBox( tmsg );
Тогда в свойствах проекта лазить не надо =)
0
Dmitrij_Repin
10.07.2009, 15:04 5
Спасибо, все заработало!!!
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.07.2009, 15:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Не работает MessageBox() в C++ Builder XE
Привет всем, не могу понять почему не работает MessageBox()! вот код каторый я пробую:...

Не работает SetFocus после MessageBox
Пишу на C++ Builder 2010. Проблема в том, что после вызова функции MessageBox, курсор должен...

Windows forms, Не работает MessageBox.
Создал три формы: в первой вопрос в label1: Как вас завут?. Пишем в textBox1 ,И жмем на button1;...

Messagebox.Show не работает в разных проектах
Коллеги, добрый день. Я скачал с гита один проект и начал в нем работать. Все шло нормально до...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.