Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Rustam
12 / 12 / 3
Регистрация: 05.09.2009
Сообщений: 440
#1

Прямоугольник на экране - C++

12.07.2011, 18:09. Просмотров 1590. Ответов 14
Метки нет (Все метки)

Всем привет! как можно сделать в DirectDraw так, чтобы например через 30 секунд появился прямоугольник на экране и например через 10 секунд исчез с экрана? и еще выложите пожалуйста примеры?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2011, 18:09     Прямоугольник на экране
Посмотрите здесь:

3D прямоугольник - C++
Пишу длл на с++ Подскажите как реализовать 3-мерный прямоугольник так чтобы он поворачивался по оси (Z,Y и X) по смене переменной

Прямоугольник - C++
Задача: Создать класс прямоугольник с двумя методами возвращающими периметр и площадь(int Perim и int Square). Также есть конструкторы: ...

прямоугольник - C++
помогие с решением . Найти параметры минимального по площади прямоугольника со сторонами, параллельными осям. Прямоугольник должен...

Прямоугольник - C++
Помогите написать программу, которая будет выводить на экран прямоугольник с каким-нибудь текстом; каждые 15 секунд в новом месте экрана.

Задача прямоугольник - C++
Задан целочисленный прямоугольный массив MxN. Необходимо определить прямоугольную область данного массива, сумма элементов которого...

класс прямоугольник. - C++
Здравствуйте! Помогите пожалуйста исправить ошибки. Задача:нарисовать прямоугольник(длины сторон вводятся с клавиатуры),вычислить его...

прямоугольник и овал - C++
Всем добрый вечер Кто поможет ? Группы из прямоугольника и овала меняя свою окраску и стиль движутся по периметру экрана

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.07.2011, 18:39     Прямоугольник на экране #2
если вы не в состоянии сами найти информацию в поисковике то вам еще рановато осваивать такие технологии, начните с WinApi
C
1
2
3
4
5
6
7
8
9
#include <Windows.h>
 
int main()
{
//  Sleep(30000);
    Rectangle(GetDC(GetConsoleWindow()), 20, 20, 220, 120);
    Sleep(10000);
    return 0;
}
supercyber
0 / 0 / 0
Регистрация: 13.08.2011
Сообщений: 3
14.08.2011, 23:35     Прямоугольник на экране #3
ЗдОрово! Если Rectangle заменить на Ellipse то получится овал. А как изменить цвет заливки? Я делаю первые шаги, с "Hello, World!" все понятно, а по простейшей графике на форуме информации маловато. Спасибо.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
15.08.2011, 00:16     Прямоугольник на экране #4
C
1
2
3
4
5
6
7
8
9
10
11
#include <Windows.h>
 
int main()
{
    HDC hdc = GetDC(GetConsoleWindow());
    SelectObject(hdc, CreateSolidBrush(RGB(255, 0, 0)));
//    Rectangle(hdc, 20, 20, 220, 120);
    Ellipse(hdc, 50, 50, 200, 200);
    Sleep(10000);
    return 0;
}
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
15.08.2011, 01:13     Прямоугольник на экране #5
хм.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <QApplication>
#include <QGraphicsScene>
 
int main ( int agrc, char** agrv )
{
       QApplication       app ( agrc, agrv );
       QGraphicsScene scene(200, 300, 0, 0);
       QGraphicsView   view(&scene);
       view.show();
       Sleep(30000);
       QGraphcisRectItem* pRectItem = new QGraphicsRectItem(50, 50, 40, 60, QPen(Qt::black, 4, Qt::SolidLine);
       Slepp(10000);
       pRectItem->hide();
       return app.exec();
}
Avazart
7100 / 5277 / 267
Регистрация: 10.12.2010
Сообщений: 23,266
Записей в блоге: 17
15.08.2011, 07:20     Прямоугольник на экране #6
HDC hdc = GetDC(GetConsoleWindow());
SelectObject(hdc, CreateSolidBrush(RGB(255, 0, 0)));
// Rectangle(hdc, 20, 20, 220, 120);
Ellipse(hdc, 50, 50, 200, 200);
Sleep(10000);
return 0;

C++
1
 ReleaseDC(hdc,GetConsoleWindow());
supercyber
0 / 0 / 0
Регистрация: 13.08.2011
Сообщений: 3
15.08.2011, 12:49     Прямоугольник на экране #7
Использую VS 2010 WinXP.

Цитата Сообщение от Maxwe11 Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
#include <Windows.h>
 
int main()
{
    HDC hdc = GetDC(GetConsoleWindow());
    SelectObject(hdc, CreateSolidBrush(RGB(255, 0, 0)));
//    Rectangle(hdc, 20, 20, 220, 120);
    Ellipse(hdc, 50, 50, 200, 200);
    Sleep(10000);
    return 0;
}
Спасибо, работает.

Цитата Сообщение от co6ak Посмотреть сообщение
хм.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <QApplication>
#include <QGraphicsScene>
 
int main ( int agrc, char** agrv )
{
       QApplication       app ( agrc, agrv );
       QGraphicsScene scene(200, 300, 0, 0);
       QGraphicsView   view(&scene);
       view.show();
       Sleep(30000);
       QGraphcisRectItem* pRectItem = new QGraphicsRectItem(50, 50, 40, 60, QPen(Qt::black, 4, Qt::SolidLine);
       Slepp(10000);
       pRectItem->hide();
       return app.exec();
}
Спасибо, этот вариант сложнее и зрелищнее , но, для него, очевидно, требуется Qt (?). Когда немножко продвинусь - обязательно попробую.
Avazart
7100 / 5277 / 267
Регистрация: 10.12.2010
Сообщений: 23,266
Записей в блоге: 17
15.08.2011, 14:57     Прямоугольник на экране #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <Windows.h>
 
int main()
{
    HDC hdc = GetDC(GetConsoleWindow());
    SelectObject(hdc, CreateSolidBrush(RGB(255, 0, 0)));
//    Rectangle(hdc, 20, 20, 220, 120);
    Ellipse(hdc, 50, 50, 200, 200);
    Sleep(10000);
 
    ReleaseDC(hdc,GetConsoleWindow()); // освободить устройство,а то будет утечка памяти
    return 0;
}
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
15.08.2011, 15:07     Прямоугольник на экране #9
Avazart, GetDC выделяет динамическую память?
Avazart
7100 / 5277 / 267
Регистрация: 10.12.2010
Сообщений: 23,266
Записей в блоге: 17
15.08.2011, 15:12     Прямоугольник на экране #10
Походу да, но я неуверен в формулеровке выделяется память. Но устройство надо освобождать- это проверено, писал бота - долго мучился с этой темой
LosAngeles
Заблокирован
15.08.2011, 15:15     Прямоугольник на экране #11
C++
1
2
3
4
5
6
7
int main()
{
    while (1)
    ::GetDC(NULL);
 
  getch();
}
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
15.08.2011, 15:38     Прямоугольник на экране #12
Цитата Сообщение от Avazart Посмотреть сообщение
Походу да, но я неуверен в формулеровке выделяется память.
насколько я знаю, каждый хендл это просто номерочек в памяти, а вызывая Release мы освобождаем этот номер для другого приложения, так что утечки памяти быть не должно
Digit@ll
Brainsbreaker
875 / 353 / 29
Регистрация: 01.02.2011
Сообщений: 1,534
15.08.2011, 15:45     Прямоугольник на экране #13
Цитата Сообщение от Avazart Посмотреть сообщение
ReleaseDC(hdc,GetConsoleWindow());
Avazart, закрой на это глаза, программа уже благополучно отработала.
Avazart
7100 / 5277 / 267
Регистрация: 10.12.2010
Сообщений: 23,266
Записей в блоге: 17
15.08.2011, 16:04     Прямоугольник на экране #14
насколько я знаю, каждый хендл это просто номерочек в памяти, а вызывая Release мы освобождаем этот номер для другого приложения, так что утечки памяти быть не должно
C++
1
2
3
4
5
6
7
8
9
10
11
int main(int argc, char* argv[])
{
 for (;;)
   {
    HDC hdc = GetDC(GetConsoleWindow());
    SelectObject(hdc, CreateSolidBrush(RGB(255, 0, 0)));
    Rectangle(hdc, 20, 20, 220, 120);
    Ellipse(hdc, 50, 50, 200, 200);
    }
return 0;
}
И следите за памятью
Миниатюры
Прямоугольник на экране  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.08.2011, 16:11     Прямоугольник на экране
Еще ссылки по теме:

Класс Прямоугольник - C++
Разработайте с использованием TDD класс , моделирующий сущность «Прямоугольник». Прямоугольник обладает следующими свойствами: •...

класс - прямоугольник - C++
Нужно найти площадь и периметр прямоугольника.... вот написала код...но он не работает...подскажите пожалуйста что делать??? #include...

ООП С++ прямоугольник - C++
Всем привет, помогите пожалуйста написать два конструктора, а то нигде не могу найти инфу как сделать конструктор с уже имеющейся...

Нарисовать прямоугольник - C++
Всем привет! Подскажите как нарисовать прямоугольник с помощью void bar (int x1, int y1, int x2, int y2); И покажите в программе уже,...

Класс Rectangle (прямоугольник) - C++
друзья , у меня экзамен . а я не бум бум в c++ . помогите кто сможет Создать класс Rectangle (прямоугольник). Класс имеет атрибуты...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
LosAngeles
Заблокирован
15.08.2011, 16:11     Прямоугольник на экране #15
и в моём примере память, занимаемая приложением, растёт
Yandex
Объявления
15.08.2011, 16:11     Прямоугольник на экране
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru