Форум: Форум C++Разное
Новые темы: 00
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: MessageBox

Сообщения:  [1-10]    [11-20]   [21-30]  [31-39] 

 
 автор: cheops   (02.02.2007 в 23:47)   письмо автору
 
   для: puma   (02.02.2007 в 23:29)
 

Работает ли вариант, предложенный Евгением Петровым?
MessageBox(L"text");

  Ответить  
 
 автор: puma   (02.02.2007 в 23:29)   письмо автору
 
   для: Фитч   (21.01.2007 в 19:28)
 

скажите так всё таки правильно написать в visual studio 2005
MessageBox("test");так было в 6 visual studio пожалуста скажите как правильно

  Ответить  
 
 автор: Фитч   (21.01.2007 в 19:28)   письмо автору
 
   для: deZZineSS   (21.01.2007 в 18:41)
 

Я, конечно, извиняюсь, но в MSDN MessageBox описана как BOOL

  Ответить  
 
 автор: deZZineSS   (21.01.2007 в 18:41)
 
   для: sidPR   (11.01.2007 в 02:39)
 

int MessageBox(

    HWND hWnd, // handle of owner window
    LPCTSTR lpText, // address of text in message box
    LPCTSTR lpCaption, // address of title of message box  
    UINT uType  // style of message box
   );

Первый параметр - хэндл родительского окна.
Второй - длинный указатель на строку, в которой содержится текст окна
Тертий - -//- -//- ....................................................................... -//- -//- заголовок окна
Четвертый - стиль окна.


The return value is zero if there is not enough memory to create the message box.
If the function succeeds, the return value is one of the following menu-item values returned by the dialog box:
Value Meaning
IDABORT Abort button was selected.
IDCANCEL Cancel button was selected.
IDIGNORE Ignore button was selected.
IDNO No button was selected.
IDOK OK button was selected.
IDRETRY Retry button was selected.
IDYES Yes button was selected.

Т.е. функция возвращает 0, если окно создать не удалось. Если функция выполнилась успешно, то возвращает значение нажатой клавиши. Какой, см. выше.

  Ответить  
 
 автор: sidPR   (11.01.2007 в 02:39)   письмо автору
 
   для: sidPR   (11.01.2007 в 02:21)
 

хотя я не совсем понимаю для чего нужен первый параметр ..

MessageBox(add_text, "Error", MB_OK);


так все окей ...
а вот так

MessageBox(NULL, add_text, "Error", MB_OK); 

Ошибка :

(196) : error C2660: 'CWnd::MessageBoxA' : function does not take 4 arguments 


Насчет первого аргумента хотелось бы узнать для чего он и зачем нужен? я так понил при обращении к окнам другими функциями типо ID ? и как мне извлечь параметр нажатой клавиши MB_YESNO тоесть как узнать что нажал пользователь куда передается и что?

  Ответить  
 
 автор: sidPR   (11.01.2007 в 02:21)   письмо автору
 
   для: Евгений Петров   (11.01.2007 в 02:18)
 

не мне нужно чтоб 4 аргумента было ....
MessageBox(NULL,add_text,"заголовок",MB_OK); отрубил юникод пишет ошибку мол
1>.\testDlg.cpp(196) : error C2660: 'CWnd::MessageBoxA' : function does not take 4 arguments

  Ответить  
 
 автор: Евгений Петров   (11.01.2007 в 02:20)   письмо автору
 
   для: sidPR   (11.01.2007 в 02:17)
 

Ну вообще add_text у Вас типа CString, так что MessageBox(add_text); должно катить (и у меня катит)

  Ответить  
 
 автор: Евгений Петров   (11.01.2007 в 02:18)   письмо автору
 
   для: Евгений Петров   (11.01.2007 в 02:14)
 

Да, кстати, юникод можно отключить в настройках: Alt + F7 -> Configuration Properties -> General -> Character Set: Not Set

  Ответить  
 
 автор: sidPR   (11.01.2007 в 02:17)   письмо автору
 
   для: Евгений Петров   (11.01.2007 в 02:14)
 

хм а как мне быть если я текст не сам пишу а он загоняется в переменную тоесть есть переменная add_text В ней текст а мне нужно его в окне вывести =\

  Ответить  
 
 автор: Евгений Петров   (11.01.2007 в 02:14)   письмо автору
 
   для: sidPR   (11.01.2007 в 02:08)
 

По умолчанию, VS использует юникод. Когда вы пишете строку "Hello!" она по всей видимости в cp1251 записывается. L - перекодирует её. Можно ещё написать _T("Hello!")
L писать надо прямо перед строкой. Т.е.:
CString s = L"Hello!";
MessageBox(s);

  Ответить  

Сообщения:  [1-10]    [11-20]   [21-30]  [31-39] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования