Показать сообщение отдельно
Старый 05.10.2005, 15:47   #14  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2480 (88) +++++++++
Регистрация: 20.08.2005
Как это невозможно? Возможно.

Нет поддержки Unicode на уровне ядра, т.е. нет базовых типов для работы с ним. Но можно использовать, например, класс Binary для представления unicode-строк. Правда все обработки вам необходимо будет выполнять самому.

Вот пример: этот код отобразит в заголовке окна Axapta греческие символы
PHP код:
#define.WM_SETTEXT(0x000C)
static void Job26(Args _args)
{
    
Binary      unicode = new Binary(8*2);
    
void  defWindowProcW(int     hWnd,
                       
int     msg,
                       
int     wParam,
                       
Binary  lParam)
    {
        
DLL         _DLL             = new DLL('USER32');
        
DLLFunction _defwproc        = new DLLFunction(_DLL'DefWindowProcW');
        ;

        
_defwproc.returns(ExtTypes:: DWord); // LRESULT
        
_defwproc.arg(ExtTypes:: DWord);     // handle window
        
_defwproc.arg(ExtTypes:: DWord);     // message
        
_defwproc.arg(ExtTypes:: DWord);     // wparm
        
_defwproc.arg(ExtTypes::Pointer);     // lparm

        
_defwproc.call(hWndmsgwParamlParam);

    }
    ;
    
unicode.word(00x039f);
    
unicode.word(20x0398);
    
unicode.word(40x039e);
    
unicode.word(60x039f);
    
unicode.word(80x03a0);
    
unicode.word(100x03a1);
    
unicode.word(120x03a3);
    
unicode.word(140x0000);

    
defWindowProcW(infolog.hWnd(), #WM_SETTEXT, 0, unicode);

PS Опять смайлы
__________________
Axapta v.3.0 sp5 kr2