Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Программирование на C / C++" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Февраль 2006 → | ||||||
1
|
2
|
3
|
4
|
5
|
||
---|---|---|---|---|---|---|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
23
|
24
|
25
|
26
|
|
27
|
Статистика
-1 за неделю
Шрифты
Visual C++ Лучшие статьи с сайта www.p-lib.pp.ru |
Главная | Новости | Статьи | Каталог | Софт | Регистрация | Поиск |
Новые статьи на сайте |
1. Поиск
и сортировка записей В статье описаны функции поиска и сортировки в элементе управления ListCtrl. 2. Меню и акселераторы В этой статье я вас ознакомлю с классом CMenu. С помощью этого класса можно создавать меню в MFC приложениях. Так же будет рассмотрен вопрос об использовании акселераторов. 3. Разделяемая память в динамической библиотеке В этой статье рассмотрен вопрос о разделяемой памяти в динамической библиотеке. Также приведенные примеры демонстрируют примеры использования общей памяти. 4. Битовые образы В операционной системе Windows рассматриваются два типа растровых изображений: аппаратно-зависимые и аппаратно-независимые. В этой статье рассматриваются аппаратно-зависимые изображения и их поддержку в библиотеке MFC. 5. Как в Edit-Control поместить каретку после текста Чтобы поместить выделенный кусок текста в edit control, можно использовать сообщение EM_SETSEL. Если начальная и конечная позиции выделенного текста совпадают, то каретка просто помещается в эту позицию. 6. Как разрешить меню для Edit Control В CDialog или другом окне, которое не имеет меню edit для вырезания (cutting), копирования (copying), и вставки (pasting), контролы CEdit обрабатывают эти функции через обычные Windows акселераторы. Однако в стандартном приложении MDI или SDI эти опции запрещены. Как же исправить эту ситуацию? 7. Как программно добавить текст в Edit Control В основном, приложения Windows используютс элемент управления редактирования для отображения текста. Иногда, приложению требуется добавить текст в конец окна редактирования вместо того, чтобы заменить весь текст. Существует два способа сделать это в Windows. 8. Иконка на кнопке Забавная штука, получается, очень симпатично выглядит кнопка с рисунком, но стоит добавить манифест к файлу, как сразу эти кнопки отображаются обычными. В этой статье приводится функция, которая и загоняет в кнопку иконку. 9. Как закрасить диалог цветом В статье приводится пример закрашивания диалога цветом. Этот пример хорошь тем, что можно использовать любой, даже не стандартный способ вызова диалога. 10. SHFormatDrive - открывает стандартный диалог форматирования диска Функция SHFormatDrive открывает стандартное диалоговое окно форматирования диска. В статье приводится пример реализации этой функции. |
Свежие компьютерные новости |
Шрифты |
Начнем с простого вывода текстовой строки на экран. Наверняка вы уже знаете, что вывод информации в окно лучше производить по получении сообщения WM_PAINT. В нашем примере этому сообщению соответствует функция OnPaint. Функция API BeginPaint соответствует одноименный метод класса CDialog, аналогично можно сказать и про функцию EndPaint. Метод BeginPaint создает объект класса CDC, определяющего возможности библиотеки MFC для манипулирования контекстом устройства. Вот новое содержимое функции OnPaint. void CDialogDlg::OnPaint() { PAINTSTRUCT pn; //указываем на объект типа CDC CDC* pDC; //создаем объект CDC pDC = CDialogDlg::BeginPaint(&pn); //определяем строку для вывода CString s = "Привет! Привет!"; //вывод строки pDC->TextOut(10, 10, s); //закрываем контекст CDialogDlg::BeginPaint(&pn); } Мы нарочно пишем CdialogDlg::BeginPaint вместо просто BeginPaint, дабы подчеркнуть, что это метод класса CDialog. Рассмотрим вопрос выбора и создания собственных шрифтов. Ниже приведена функция OnPaint, в которой создается новый шрифт. void CDialogDlg::OnPaint() { PAINTSTRUCT pn; LOGFONT lg; lg.lfHeight = 18;//высота шрифта lg.lfWidth = 12;//ширина по умолчанию lg.lfEscapement = 900;//угол(90 градусов) lg.lfOrientation = 0;//0 lg.lfWeight = FW_BLACK;//толщина шрифта lg.lfItalic = 0;//курсив lg.lfUnderline = 0;//подчеркивание lg.lfStrikeOut = 0;//перечеркивание шрифта lg.lfCharSet = ANSI_CHARSET;//множество символов шрифта lg.lfOutPrecision = OUT_DEFAULT_PRECIS;//флаг точности lg.lfClipPrecision = CLIP_DEFAULT_PRECIS;//флаг точности прилегания шрифта lg.lfQuality = PROOF_QUALITY;//флаг качества lg.lfPitchAndFamily = VARIABLE_PITCH | FF_ROMAN;//тип и семейство шрифта strcpy(lg.lfFaceName, "Courier");//название шрифта CFont font; //создать шрифт font.CreateFontIndirect(&lg); //указываем на объект типа CDC CDC* pDC; //создаем объект CDC pDC = CDialogDlg::BeginPaint(&pn); //выбрать шрифт в контексте устройства CFont* old = (CFont*)pDC->SelectObject(&font); //определяем строку для вывода CString s = "Это новый шрифт"; pDC->SetBkColor(RGB(210,210,210)); //вывод строки pDC->TextOut(200, 200, s); //закрываем контекст CDialogDlg::BeginPaint(&pn); } Вот описание полей структуры LOGFONT.
LfHeight - определяет высоту шрифта в логических единицах; если 0, то
высота берется по умолчанию.
LfClipPrecision - флаг точности прилегания шрифта; определяет, как будут отсекаться части шрифта, не попадающие в видимую область. Возможные значения:
LfQuality - флаг качества шрифта; определяет соответствие логического шрифта и шрифта, допустимого данным устройством. Возможные значения:
LfPitchFamily - определяет тип и семейство шрифта. Возможные значения определяются комбинацией (ИЛИ) двух групп констант:
И
LfFaceName - содержит название шрифта. Длинная имени не может превосходить 32 символа. |
Книги с Озона |
Последнии статьи по Delphi |
Советую посетить |
Портал
для Delphi программиста - Быстро развивающийся портал о
программирование на языке Pascal/Delphi. Статьи, исходники, компоненты,
справочники, мануалы, FaQ, программы. |
Дружественные рассылки |
![]() |
Замечания и предложения отправляйте на E-Mail указанный ниже. С уважением Ковязин Дмитрий (admin@p-lib.pp.ru). |
В избранное | ||