C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Урок 10. Класс CPen / Уроки C++ .NET / Visual C++ .NET

Visual C++.NET
Урок 10. Класс CPen

Класс CPen представляет из себя перо. Перо, как GDI объект, служит для рисования линий. Перо не служит для закраски областей - для этого служит кисть (CBrush).

Нужное перо создается путем вызова метода CreatePen с определенными параметрами. Ниже привден пример использования пера. Создайте с помощью мастера приложение, основанное на диалоге. Разметите на диалоговом окне кнопку, в обработчике для кнопки напишите следующий код:

void CmfcDlg::OnBnClickedButton1()
{
    // TODO: Add your control notification handler code here
    Объявляем переменную типа CPen.
    CPen pen;
    //Создаем красное сплошное перо толщиной 2.
    pen.CreatePen(PS_SOLID, 2, RGB(255, 0, 0));
    //Получаем контекст устройства для диалогового окна.
    CDC* cdc=GetDC();
    //Приписываем созданное перо к контексту устройства.
    CPen *oldPen=cdc->SelectObject(&pen);
    //Рисуем кружок.
    cdc->Ellipse(0, 0, 20, 20);
    //Выбираем старое перо.
    cdc->SelectObject(oldPen);
    //Рисуем старым пером.
    cdc->Ellipse(0, 20, 20, 40);
}

Приведеный фрагмент нарисует два кружка, причем у первого граница будет красная и с толщиной 2:

Два кружка

Вот еще возможное значения для первого параметра метода CreatePen класса CPen: PS_SOLID (сплошное перо), PS_DASH (пунктирное перо), PS_DOT (перо, рисующее точками), PS_DASHDOTDOT (штрихпунктирное перо) и др.