Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Юникод... будь он неладен...


Автор: tonchitos 16.4.2008, 16:06
в некотором файле, в некотором классе жила была функция:

Код

int        InsertPage(const char* caption, CDialog* pwndTemplate, BOOL bAutoDestroyTpl=TRUE, int idx=-1);    //Return page zero-based index



и было у нее описание

Код


int CRollupCtrl::InsertPage(const char * caption, CDialog* pwndTemplate, BOOL bAutoDestroyTpl, int idx)
{
    if (!pwndTemplate)        return -1;

    if (idx>0 && idx>=m_PageList.GetSize())        idx=-1;

    //Insert Page
    return _InsertPage(caption, pwndTemplate, idx, bAutoDestroyTpl);
}


и однажды функцию вызвали (в классе фрейма)

Код

        m_wndRollupCtrl.InsertPage("Display Color",        IDD_DISPCOLOR,    RUNTIME_CLASS(CDispColorDlg), 10);



а поскольку проект юникод, будь он неладен.....

вместо "Display Color" выводятся одни квадратики....


подскажите люди добрые как мне обмануть коварный юникод и спасти строку красавицу...

Автор: vinter 16.4.2008, 16:19
WideCharToMultiByte из юникода в мультибайт, MultyByteToWideChar - наоборот

Автор: tonchitos 16.4.2008, 16:42
а как нить без ф-ии а ток преобразованиями?

вообще я запуталась уже....

"Display Color" расценивается как юникод строка, да? 

Автор: vinter 16.4.2008, 16:47
Цитата(tonchitos @  16.4.2008,  17:42 Найти цитируемый пост)
"Display Color" расценивается как юникод строка, да? 

вообще нет

Автор: tonchitos 16.4.2008, 16:57
а как тады - наоборот?

Автор: vinter 16.4.2008, 17:04
Цитата(vinter @  16.4.2008,  17:19 Найти цитируемый пост)
 MultyByteToWideChar - наоборот

smile

Автор: tonchitos 16.4.2008, 17:06
спасибо smile
а без ф-ии никак? а то я глянула - там куча параметров... может можно обойтись приведением типов, склейками какими нить и тп?

Автор: vinter 16.4.2008, 17:20
ф-ии очень просты, а без них к сожалению никак.

Автор: tonchitos 16.4.2008, 17:21
спасибо большущее пребольшущее!

Автор: Rififi 16.4.2008, 17:21
tonchitos, 
вариант отключить юникод в проекте - не?
или тогда всё же придется иметь дело с "кучей параметров", ты же всё таки на форуме программистов и пишешь программы, а не домохозяек и щи варишь. smile:

Автор: tonchitos 16.4.2008, 17:30
Rififi,  я отключила.... у мя появилось куча ошибок линковки и мне стало сильно в лом......

Добавлено через 23 секунды
тока после этого я полезла сюды с вопросами  smile 

Автор: tonchitos 16.4.2008, 17:49
короче, я просто в ф-иях InsertPage типы первых параметров сделала LPCTSTR
а строки передаю со склейкой....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)