Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/68: Рейтинг темы: голосов - 68, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 21.09.2012
Сообщений: 67

MessageBox(YES,No,Cancel)

22.03.2013, 16:13. Показов 14217. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.Помогите разобраться с кодом.Где об этом можно прочитать на русском языке.Ссылку пожалуйста пришлите или объясните пожалуйста поподробнее. Это MFC приложение.Пишу в Visual C++2010.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
void CYcldialg_oknaDlg::OnBnClickedYesnocancel()
{
    // TODO: добавьте свой код обработчика уведомлений
    //###############################################
    // Здесь начинается наш код
    int iResults; //В этой переменной будет сохранятся выбор кнопки
    // спрашиваем пользователя
    iResults = MessageBox("Press the Yes, No,or Cancel button","Yes,No, Cancel Dialog",MB_YESNOCANCEL|MB_ICONINFORMATION);
 
    //////Press the Yes, No,or Cancel  "Yes,No, Cancel Dialog"
    // Определяем ,какая кнопка была нажата пользователем
    // сообщаем пользователю, какая кнопка была нажата
    switch(iResults)
    {
    case IDYES: //кнопка Yes ?
        m_sResults="Yes! YES!YES!");
        break;
    case IDNO: //кнопка NO ?
        m_sResults="NO, No, No, NO");
        break;
    case IDCANCEL://кнопка Cancel ?
        m_sResults="Sorry, canceled.";
        break;
    }
    // Обновляем диалоговое окно
    UpdateData(FALSE);
 
    //#####################################
    // Здесь заканчивается мой код
    //####################################
 
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.03.2013, 16:13
Ответы с готовыми решениями:

MessageBox
Здравствуйте! Я сейчас обучаюсь по видео урокам... У меня Microsoft Visual C++ Express А на видео Microsoft Visual .NET.. Но там всёравно...

MessageBox
if ((MessageBox::Show( "Are you sure?", "Exit", MessageBoxButtons::YesNo, MessageBoxIcon::Question) ==...

Messagebox
Здравствуйте! Я решил выучить язык С++.При создании программы самой простой о_О столкнулься с проблемой "Messagebox" void...

8
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
22.03.2013, 16:21
Цитата Сообщение от romanbo Посмотреть сообщение
iResults = MessageBox("Press the Yes, No,or Cancel button","Yes,No, Cancel Dialog",MB_YESNOCANCEL|MB_ICONINFORMATIO N);
- светишь меседжбокс (выскакивающее окно) с тремя кнопочками MB_YESNOCANCEL. Возвратом функции MessageBox является код кнопки на которую нажал юзер, вот ниже и идёт разбор какая же кнопка была нажата
Цитата Сообщение от romanbo Посмотреть сообщение
switch(iResults)
{
case IDYES: //кнопка Yes ?
m_sResults="Yes! YES!YES!");
break;
case IDNO: //кнопка NO ?
m_sResults="NO, No, No, NO");
break;
case IDCANCEL://кнопка Cancel ?
m_sResults="Sorry, canceled.";
break;
}
m_sResults - контрол скорее всего EditBox с типом CString куда записывается строковое опи\сание нажатия


Цитата Сообщение от romanbo Посмотреть сообщение
UpdateData(FALSE);
- передаёт данные в окно и контролы, т.е EditBox будет светить тот текст который ему передали в switch

Добавлено через 1 минуту

Не по теме:

Единственное что меня смущает это

Цитата Сообщение от romanbo Посмотреть сообщение
MB_YESNOCANCEL
сейчас проверю действительно ли такая комбинация существует

0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
22.03.2013, 16:28
Да
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
MB_YESNOCANCEL
существует ниже упрощённый алгоритм под консоль
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <windows.h>
#include <iostream>
using namespace std;
 
int main()
{
    HWND hWnd = GetForegroundWindow();
    int iResult = MessageBox
        (
            hWnd,   
            "Êîíñîëü íèæå äàñò òåêñòîâîå îïèñàíèå êàêàÿ êíîïêà áûëà íàæàòà",
            "Íàæìèòå îäíó èç êíîïîê",
            MB_YESNOCANCEL  |   MB_ICONINFORMATION
        );
    switch(iResult)
    {
        case IDYES: //êíîïêà Äà
            cout<<"YOU PRESS BUTTON YES"<<endl;
            break;
        case IDNO: //êíîïêà Íåò
            cout<<"YOU PRESS BUTTON NO"<<endl;
            break;
        case IDCANCEL: //êíîïêà Îòìåíà
            cout<<"YOU PRESS BUTTON CANCEL"<<endl;
            break;
    }
    system("pause");
    return 0;
}
Миниатюры
MessageBox(YES,No,Cancel)   MessageBox(YES,No,Cancel)  
0
0 / 0 / 0
Регистрация: 21.09.2012
Сообщений: 67
22.03.2013, 17:03  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- светишь меседжбокс (выскакивающее окно) с тремя кнопочками MB_YESNOCANCEL. Возвратом функции MessageBox является код кнопки на которую нажал юзер, вот ниже и идёт разбор какая же кнопка была нажата


m_sResults - контрол скорее всего EditBox с типом CString куда записывается строковое опи\сание нажатия


- передаёт данные в окно и контролы, т.е EditBox будет светить тот текст который ему передали в switch

Добавлено через 1 минуту

Не по теме:

Единственное что меня смущает это
сейчас проверю действительно ли такая комбинация существует


iResults = MessageBox("Press the Yes, No,or Cancel button","Yes,No, Cancel Dialog",MB_YESNOCANCEL|MB_ICONINFORMATIO N);
я понимаю,но не работает код.заранее спасибо.

Добавлено через 4 минуты
Спасибо Большое,но это не в вижуал с++ ,а мне надо в этой среде.Я думаю,что тут ошибка.Но не знаю точно.
iResults = MessageBox("Press the Yes, No,or Cancel button","Yes,No, Cancel Dialog",MB_YESNOCANCEL|MB_ICONINFORMATIO N);
Подчеркивает комп строки в кавычках

Добавлено через 29 минут
Ошибка 1 error C2664: CWnd::MessageBoxW: невозможно преобразовать параметр 1 из "const char [35]" в "LPCTSTR" c:\users\elena\documents\visual studio 2010\projects\ycl.dialg_okna\ycl.dialg_o kna\ycl.dialg_oknadlg.cpp 169 1 Ycl.dialg_okna


А как от этого глюка избавиться.Теперь это показывает.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
22.03.2013, 17:11
Цитата Сообщение от romanbo Посмотреть сообщение
Ошибка 1 error C2664: CWnd::MessageBoxW: невозможно преобразовать параметр 1 из "const char [35]" в "LPCTSTR" c:\users\elena\documents\visual studio 2010\projects\ycl.dialg_okna\ycl.dialg_o kna\ycl.dialg_oknadl g.cpp 169 1 Ycl.dialg_okna
- переставь тип шрифта проекта с юникода на Multy-Byte-CharacterSet

полный ответ по данной проблемме здесь
Из файла в ListBox (MFC)


Цитата Сообщение от romanbo Посмотреть сообщение
но это не в вижуал с++
- а что по твоему вижуал Си++ ну мне просто интересно как ты понимаешь понятие Visual C++ и каково его отличие от С++?
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
22.03.2013, 17:20
Ладно вот проект, всё равно feedback-а не наблюдаю, потому ниже голый преокт скрин и экзешник
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void CMFC3ButtonMsgBoxDlg::OnOK() 
{
    // TODO: Add extra validation here
    int iResult = MessageBox
        (   
            "Ïðèëîæåíèå íèæå äàñò îïèñàíèå êàêàÿ êíîïêà áûëà íàæàòà",
            "Íàæìèòå îäíó èç êíîïîê",
            MB_YESNOCANCEL  |   MB_ICONINFORMATION
        );
    switch(iResult)
    {
        case IDYES: //êíîïêà Äà
            m_Result = "YOU PRESS BUTTON YES";
            break;
        case IDNO: //êíîïêà Íåò
            m_Result = "YOU PRESS BUTTON NO";
            break;
        case IDCANCEL: //êíîïêà Îòìåíà
            m_Result = "YOU PRESS BUTTON CANCEL";
            break;
    }
    UpdateData(false);
    //CDialog::OnOK();
}
Миниатюры
MessageBox(YES,No,Cancel)  
Вложения
Тип файла: rar MFC3ButtonMsgBox.exe.rar (3.9 Кб, 17 просмотров)
Тип файла: rar MFC3ButtonMsgBox_VS6.0_proj.rar (21.5 Кб, 18 просмотров)
0
0 / 0 / 0
Регистрация: 21.09.2012
Сообщений: 67
22.03.2013, 17:34  [ТС]
Я новичок,изучаю Visual c++Я понимаю,что может что то недопонимаю.Спасибо Вам за помощь.Ищу эту позицию,а к моему сожалению не могу найти.А понимаю так.Это визуальная среда для С++.Где находиться окно
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
переставь тип шрифта проекта с юникода на Multy-Byte-CharacterSet
Где то переводиться шрифт этот.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
22.03.2013, 17:58
Цитата Сообщение от romanbo Посмотреть сообщение
Это визуальная среда для С++.Где находиться окно
- ну так вот открою страшную истину Visual C++ и С++ это одно и тоже, единственное что подразумевает приставка Visual - это то что в коде будут методы для обмена данными с контролами окна и всего-то
Это не другой язык не другая среда, это просто условная приставочка которой начинающие придают какую то особую магию.
Перед глазами два проекта - один консоль, другой MFC Dialog - там есть какая то разница?Всё тоже самое, только для CDialog прототип MessageBox перегружен и не сожержит параметра HWND ибо бокс для окна вызывается в остальном я спокойно мог написать в коноли
string m_Result = "blablabla"; и вывел бы её в cout

Так если брать у нас есть API C++ MFC C++ Forms C++ и обычный C++ (согласись на бред смахивает)
Всё это заблуждения, есть два языка Си и С++ и разнообразные методы работы с библиотеками GUI которые дают приставку Visual, но это ни сколь не значит что подразумевается какой то абстарктный другой С++ нежели тот который печатает в консоли Hello world.

Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от romanbo Посмотреть сообщение
Ищу эту позицию,а к моему сожалению не могу найти.
- найти её можно в Project Properties, по свободе нарежу побольше скринов и прилеплю сюда

0
0 / 0 / 0
Регистрация: 21.09.2012
Сообщений: 67
22.03.2013, 18:04  [ТС]
Юра Спасибо большое .Нашел где это меняется и все пошло.Сейчас буду дальше дела делать.Этот момент пошел.Спасибо еще раз за помошь.Я не всегда могу найти что то по сайту.Например- выскакивает сообщение.Щелкаешь по нему,а в сообщение не переходишь.Мне трудно по сайту перемещаться.Возможно что то я недопонимаю.Еще раз спасибо за информацию.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.03.2013, 18:04
Помогаю со студенческими работами здесь

MessageBox
Компилятор ругается на следующик код: MessageBox(hWnd,&quot;Ошибка инициализации DirectX&quot;,&quot;Error&quot;,MB_OK); а вот то что пишет: ...

MessageBox
Задача: вызвать MessageBox из ассемблерной вставки в Visual Studio . ...

MessageBox в консоли
Здравствуйте...Имеется программа Windows Form Application на MSVS2010 и она обращается к исходнику, написанному на С....В нем есть...

функция MessageBox
Здраствуйте уважаемые программисты! :) Я недавно начал учить Visual C++ (позавчера) и возникли проблемы с пониманием.Вот проблема: я не...

MFC и MessageBox
Объясните новичку, пытающемуся освоить оконные приложения, что я делаю не так. Второй день бьюсь с этой проблемой


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru