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


Исходные тексты приложения RtfPad - часть 4


// Выбираем семейство шрифтов lf.lfPitchAndFamily = cf.bPitchAndFamily;

// Название начертания шрифта lstrcpy(lf.lfFaceName, cf.szFaceName);

// Устанавливаем вес шрифта в зависимости от того, // было использовано выделение жирным шрифтом // или нет if(cf.dwEffects & CFE_BOLD) lf.lfWeight = FW_BOLD; else lf.lfWeight = FW_NORMAL;

// Заполняем структуру для функции выбора шрифта chfnt.lStructSize = sizeof(chfnt); chfnt.Flags = CF_SCREENFONTS | CF_INITTOLOGFONTSTRUCT; chfnt.hDC = hDC; chfnt.hwndOwner = hWnd; chfnt.lpLogFont = &lf; chfnt.rgbColors = RGB(0,0,0); chfnt.nFontType = SCREEN_FONTTYPE;

// Выводим на экран диалоговую панель для // выбора шрифта if(ChooseFont(&chfnt)) { // Можно использовать все биты поля dwEffects cf.dwMask = CFM_BOLD | CFM_FACE | CFM_ITALIC | CFM_UNDERLINE | CFM_SIZE | CFM_OFFSET;

// Преобразование в TWIPS-ы cf.yHeight = - lf.lfHeight * 20;

// Устанавливаем поле dwEffects cf.dwEffects = 0; if(lf.lfUnderline) cf.dwEffects |= CFE_UNDERLINE;

if(lf.lfWeight == FW_BOLD) cf.dwEffects |= CFE_BOLD;

if(lf.lfItalic) cf.dwEffects |= CFE_ITALIC;

// Устанавливаем семейство шрифта cf.bPitchAndFamily = lf.lfPitchAndFamily;

// Устанавливаем название начертания шрифта lstrcpy(cf.szFaceName, lf.lfFaceName);

// Изменяем шрифтовое оформление символов SendMessage(hwndEdit, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf); }

// Освобождаем контекст отображения ReleaseDC(hWnd, hDC);

return 0L; break; }

// Устанавливаем выравнивание параграфа по левой границе // окна органа управления Rich Edit case ID_FORMAT_PARAGRAPH_LEFT: { pf.cbSize = sizeof(pf); pf.dwMask = PFM_ALIGNMENT; pf.wAlignment = PFA_LEFT;

// Изменяем тип выравнивания текущего параграфа SendMessage(hwndEdit, EM_SETPARAFORMAT, 0, (LPARAM)&pf);

return 0L; break; }

// Устанавливаем выравнивание параграфа по правой границе // окна органа управления Rich Edit case ID_FORMAT_PARAGRAPH_RIGHT: { pf.cbSize = sizeof(pf); pf.dwMask = PFM_ALIGNMENT; pf.wAlignment = PFA_RIGHT; SendMessage(hwndEdit, EM_SETPARAFORMAT, 0, (LPARAM)&pf); return 0L; break; }




Начало  Назад  Вперед