Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Вывести произвольные данные в Edit


Автор: En_t_end 19.5.2007, 14:55
Проблема в следующем. На множестве 255 символов ASCII работает некий криптографический алгоритм. Требуется вывести результаты работы в Edit. Простая посылка сообщения элементу с аргументом типа си-строка с NULL-терминатором не подходит, ибо сам NULL - входит в рабочее множество.
Есть ли способ вставки в Edit подобных данных, причем особо не интересует как они будут отображаться, главное, чтобы при изъятии их из Edit'а данные сохранились в прежнем виде.
Как решение, можно сократить множество :(, естественно это плохо.
Как решение, можно написать собственный элемент управления, но это меня тоже не устраивает.
?

Автор: zkv 19.5.2007, 15:45
подойдет?
Код

    static char data[4] = { 1, 2, 0, 3 };
    switch (message)
    {
    case WM_COMMAND:
        if( LOWORD(wParam) == IDC_BUTTON_SET )
        {

            SetWindowLongPtr( GetDlgItem(hDlg, IDC_EDIT_DATA), GWLP_USERDATA, (LONG_PTR)data );
            MessageBox(NULL,"Set", NULL, MB_OK);
        }
        if( LOWORD(wParam) == IDC_BUTTON_GET )
        {
            char *ptr = NULL;
            ptr = (char *)GetWindowLongPtr( GetDlgItem(hDlg, IDC_EDIT_DATA), GWLP_USERDATA );
            char buf[10];
            sprintf( buf, "%d %d %d %d", ptr[0], ptr[1], ptr[2], ptr[3] ); 
            MessageBox(NULL, buf, "Get", MB_OK);
        }
        break;
//...

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