powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / ебята помогите новичку разобраться с С++.
8 сообщений из 8, страница 1 из 1
ебята помогите новичку разобраться с С++.
    #34188918
StreloK|
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Установил Visual Studio 2005, пользуюсь книжкой Visual С++.NET (Том Арчер и Эндрю Уайтчепел) прямо с первой главы все примеры подряд делаю.
Так вот допустим в примере где требуется в диалоговом окошке вывести текст используется функция(дальше цитирую) AfxMessage("Hello world");, но так не работает!Порылся по форумам и нашел следующее AfxMessage(_Text("Hello world")); вот так работает.
Далее пример:Делаю по книжке оброботчик события мыши, координаты чтобы показывало
void CHandlerTestView::OnMouseMove(UINT nFlags, CPoint point)
{
CClientDC ClientDC(this);
CString strInfo;
вот тут ошибка(хотя строго по книге) -strInfo.Format("Current mouse position = X:%d Y:%d", point.x,point.y );
ClientDC.TextOutW(10, 10 , strInfo, strInfo.GetLength());
// TODO: Add your message handler code here and/or call default

CView::OnMouseMove(nFlags, point);
}
Так же нашел на форуме, что надо следующим образом strInfo.Format(L"Current mouse position = X:%d Y:%d", point.x,point.y );
Собственно вопрос почему не совпадает то, что написано в книге и то как надо на практике?
Заранее благодарен.
...
Рейтинг: 0 / 0
ебята помогите новичку разобраться с С++.
    #34189101
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что в действительности всё не так как на самом деле.
...
Рейтинг: 0 / 0
ебята помогите новичку разобраться с С++.
    #34189413
дед Макар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в настройках проекта выключи использование юникода
...
Рейтинг: 0 / 0
ебята помогите новичку разобраться с С++.
    #34189909
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AfxMessage(_Text("Hello world")); от AfxMessage("Hello world"); отличается только тем, что
_Text (кстати по-моему все же TEXT() ) осуществляет general char mapping.

Для проекта с UNICODE TEXT("some string") превращается в L"some string", а без UNIDOCE - просто в "some string".

Поэтому если у тебя проект сконфигурен с поддержкой юникода, то без TEXT работать не будет (сообщение будет какое-нибудь корявое).

Format(L"..." ); нужно делать по тем же причинам. На самом деле так писать неправильно, нужно писать

Format(TEXT("...") );

Я правда зобыл уже точное название этого макроса, да там их и несколько на самом деле .
По-моему был _T().

Ну и конечно желание автора выводить что-то на WM_MOUSEMOVE очень оптимистично - видно будет мало чего. Ну или двигать мышкой нужно очень медленно - дело в том, что WM_MOUSEMOVE очень часто приходит. Но как учебный пример конечно это использовать можно.
...
Рейтинг: 0 / 0
ебята помогите новичку разобраться с С++.
    #34189912
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
букву Р , некрасиво пропустили ...
...
Рейтинг: 0 / 0
ебята помогите новичку разобраться с С++.
    #34190024
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНа самом деле так писать неправильно, нужно писать
Format(TEXT("...") );пользовать префикс напрямую вполне правильно. Макрос нужен только если ты хочешь поддержку вынь 9х.
...
Рейтинг: 0 / 0
ебята помогите новичку разобраться с С++.
    #34191775
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Букву пользовать напрямую в MFC -приложениях НЕправильно.
Потому что MFC - приложение подразумервает компиляцию его в трех режимах - ANSI , MBCS и UNICODE. Так что в нормальном MFC -приложении положено писать , указывая строки через этот самый макрос. Конечно если нет прочих особых условий.
...
Рейтинг: 0 / 0
ебята помогите новичку разобраться с С++.
    #34192624
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сейчас вроде все компилят в UNICODE без поддержки вынь 9х.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / ебята помогите новичку разобраться с С++.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]