Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сконвертировать число в строку 
:(
    Опции темы
seacat79
Дата 20.3.2007, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 27.2.2007
Где: Украина, Одесса

Репутация: нет
Всего: 1



Цитата(ZufuS @  20.3.2007,  17:17 Найти цитируемый пост)
Теперь заработало, спасибо. Хотелось бы спросить по поводу Unicode, от чего зависит необходимость писать _T()? 


Строковые константы в Unicode надо писать в виде  L"строка", а для чего необходимо писать _T() см. пост Tectoder 
PM MAIL ICQ   Вверх
ZufuS
Дата 21.3.2007, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 237
Регистрация: 12.7.2006

Репутация: нет
Всего: нет



Работает когда просто строку присваиваю, а когда пытаюсь рисовать число, равное итерационной переменной, не компилируется.
В общем пытаюсь разместить в окне 16 кнопок и чтобы на каждой было нарисовано соответствующее число.
for(int i=0; i<16; i++)
{
    //...
    P[i] = CreateWindow(_T("BUTTON"), "%i", WS_CHILD|BS_PUSHBUTTON|WS_VISIBLE,
        i%4*r.right/4,i/4*r.bottom/4,r.right/4,r.bottom/4,hWnd,(HMENU)0,hInst,NULL);
}
PM   Вверх
Fazil6
Дата 21.3.2007, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: нет
Всего: 60



Код

#include <sstream>


std::wostringstream ws;
for(int i=0; i<16; i++)
{
    //...
    ws.str(_T(""));
    ws << i;
    P[i] = CreateWindow(_T("BUTTON"), ws.str().c_str(), WS_CHILD|BS_PUSHBUTTON|WS_VISIBLE,
        i*r.right/4,i/4*r.bottom/4,r.right/4,r.bottom/4,hWnd,(HMENU)0,hInst,NULL);
}

PM MAIL   Вверх
ZufuS
Дата 21.3.2007, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 237
Регистрация: 12.7.2006

Репутация: нет
Всего: нет



А это лучший способ? Вроде есть функция swprintf(), но у меня не получается ею воспользоваться.
1>.\123.cpp(117) : warning C4995: 'swprintf': name was marked as #pragma deprecated
1>.\123.cpp(117) : error C2665: 'swprintf' : none of the 2 overloads could convert all the argument types
1>        D:\Program Files\Microsoft Visual Studio 8\VC\include\swprintf.inl(36): could be 'int swprintf(wchar_t *,size_t,const wchar_t *,...)'
1>        D:\Program Files\Microsoft Visual Studio 8\VC\include\swprintf.inl(85): or 'int swprintf(wchar_t *,const wchar_t *,...)'
1>        while trying to match the argument list '(wchar_t *, int, const char [3], int)'
PM   Вверх
Tectoder
Дата 21.3.2007, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 202
Регистрация: 13.3.2007

Репутация: 7
Всего: 8



Вместо 'swprintf'  надо юзать StringCchPrintf, я говорил уже об этом в топике. Ты его читаешь?
PM   Вверх
ZufuS
Дата 12.4.2007, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 237
Регистрация: 12.7.2006

Репутация: нет
Всего: нет



Код

wchar_t *c=new wchar_t(100);
StringCchPrintf(c,100,(STRSAFE_LPCWSTR)"%i",1);
CreateWindow(_T("BUTTON"), c, WS_CHILD|BS_PUSHBUTTON|WS_VISIBLE, 0, 0, 100, 50, hWnd, (HMENU)0, hInst, NULL);

Рисуется буква, напоминающая твёрдый знак.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0792 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.