Операционная система Windows 95 для программиста



    d8ef8794     

Описание функций - часть 6


После выбора шрифта его атрибуты копируются в структуру cf типа CHARFORMAT. Адрес этой структуры передается в качестве последнего параметра функции SendMessage, посылающей окну органа управления Rich Edit сообщение EM_SETCHARFORMAT :

SendMessage(hwndEdit, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf);

После установки нового шрифта обработчик освобождает полученный ранее контекст отображения.

  • Format/Paragraph/Left
  • Для изменения оформления параграфа наше приложение посылает окну органа управления Rich Edit сообщение EM_SETPARAFORMAT :

    pf.cbSize = sizeof(pf); pf.dwMask = PFM_ALIGNMENT; pf.wAlignment = PFA_LEFT; SendMessage(hwndEdit, EM_SETPARAFORMAT, 0, (LPARAM)&pf);

    Параметр wParam этого сообщения не используется и должен быть равен нулю. Через параметр lParam передается адрес предварительно заполненной структуры типа PARAFORMAT:

    lParam = (LPARAM)(PARAFORMAT FAR *)lpFmt;

    Структура PARAFORMAT определена следующим образом:

    typedef struct _paraformat { UINT cbSize; // размер структуры в байтах _WPAD _wPad1; // зарезервировано DWORD dwMask; // поле масок WORD wNumbering; // порядок нумерации WORD wReserved; // зарезервировано LONG dxStartIndent; // отступ для первой строки параграфа LONG dxRightIndent; // отступ от правой границы листа LONG dxOffset; // отступ второй и следующих // строк параграфа WORD wAlignment; // выравнивание параграфа SHORT cTabCount; // количество символов табуляции LONG rgxTabs[MAX_TAB_STOPS];// массив абсолютных позиций // для символов табуляции } PARAFORMAT;

    Поле маски dwMask определяет, какие из остальных полей структуры PARAFORMAT будут использованы для установки формата параграфа. В этом поле могут находиться следующие значения:

    Значение маски Поля структуры PARAFORMAT
    PFM_ALIGNMENT wAlignment
    PFM_NUMBERING wNumbering
    PFM_OFFSET dxOffset
    PFM_OFFSETINDENT dxStartIndent
    PFM_RIGHTINDENT dxRightIndent
    PFM_STARTINDENT dxStartIndent
    PFM_TABSTOPS cTabStobs и rgxTabStops

    Для поля wNumbering вы можете указать нулевое значение или константу PFN_BULLET .




    Содержание  Назад  Вперед