• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите с решением задачи на WinApi

Ирис

Ученик
Регистрация
18 Янв 2013
Сообщения
2
Реакции
0
Баллы
0
Помогите с решением задачи на WinApi

Задача по WinApi:по нажатию лк мыши в 4 точках окна рисуется 4угольник с вершинами в этих точках.
 
Прямоугольник. По умолчанию прозрачный, а вообще, тип его заливки определяется текущей кистью. По умолчанию она тоже прозрачная.
BOOL Rectangle(hDC, int left, int top, int right, int bottom); //аргументы - это коордианты левого верхнего и правого нижнего углов
 
Там не обязательно будет прямоугольник.
 
Многоугольник. Есть много функций рисования мноугольников. Рисования от вершины к вершине и рисования отрезками:
PolyDraw оперирует вершинами:

POINT poly[8];
BYTE polytype[8];

poly[0].x=375; //координаты первой вершины
poly[0].y=375;

....//и так заполняем координаты всех восьми вершин

poly[7].x=400; //координаты восьмой вершины
poly[7].y =400;

polytype[0]=PT_LINETO;

... //другой массив содержит режим рисования

polytype[7]=PT_LINETO;

PolyDraw(hdc, poly, polytype, 8); //рисование многоугольника

Функция Polyline рисует набором отрезков:

POINT poly[4];

poly[0].x =10;
poly[0].y =30;

poly[1].x =30;
poly[1].y =30;

poly[2].x =30;
poly[2].y =60;

poly[3].x=10;
poly[3].y=30;

Polyline(hdc, poly , 4);
 
Назад
Сверху