Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рисование в окне 
:(
    Опции темы
ida
Дата 8.12.2003, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 58



Visual C++ под NT, нужна простая прога - вывести окно, в нем нарисовать геометрическую фигуру (треугольник) с заливкой определенного цвета и рисунка, при нажатии на одну клавишу (Х, предположим), фигура должна двигаться вверх, при нажатии на другую (допустим, Z) - вниз. Очень бы хотелось пример или ссылку, ибо брожения по свалкам исходников пока результата не дали.
PM WWW   Вверх
shedon
Дата 8.12.2003, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

Репутация: 4
Всего: 11



Получаю контекст уст-ва(CDC), через него рисуй(LineTo, MoveTo, посмотри MSDN по классу CDC). Отлавливай сообщения клавиатуры WM_KEYDOWN. И в зависимости от нажатой клавиши перерисовывай треугольник с новыми координатами.


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
ida
Дата 8.12.2003, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 58



Все чудесно!! Одна тока маленькая проблема - я эту среду второй раз вижу (зарывается глубже в букварь).... а к субботе должно быть готово.
PM WWW   Вверх
DENNN
Дата 8.12.2003, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Цитата
.. а к субботе должно быть готово.

к субботе не получиться, только если кто-то просто так код напишет smile.gif
PM ICQ   Вверх
ida
Дата 8.12.2003, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 58



Вот и проверим. Когда-то Клиппер освоила с нуля можно сказать за две недели плотного чтения доков, здесь, зная синтаксис и имея под рукой букварь, вполне реально справиться... я думаю smile.gif
PM WWW   Вверх
Step
Дата 9.12.2003, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



вполне реально


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Step
Дата 9.12.2003, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



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


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Peter
Дата 10.12.2003, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 28.7.2003
Где: Ставрополь

Репутация: -1
Всего: 1



Можно проще: качаешь компилятор "Странник" с strannik, переделываешь тамошний пример с выводом графики на нормальный Си - и радуешься.


--------------------
всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23).
PM MAIL WWW   Вверх
Artiom
Дата 10.12.2003, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1031
Регистрация: 11.3.2003
Где: Минск\Баку

Репутация: нет
Всего: 17



В книге Круглински Программирование на VС++ есть похожий пример и очень подробно описан


--------------------
Если тебя жизнь трахает, значит, ты ещё живой
PM MAIL ICQ   Вверх
<Spawn>
Дата 11.12.2003, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: нет
Всего: 64



Нужно набивать мне руку на Си++ ))) Вот что то похожее:

Код
CTestDrawView::CTestDrawView()
{
// TODO: add construction code here
 //Определение переменных в классе
 //POINT m_Points[3];
 //HRGN m_rgnFigure;
m_Points[0].x = 100;
m_Points[0].y = 10;
m_Points[1].x = 50;
m_Points[1].y = 60;
m_Points[2].x = 150;
m_Points[2].y = 60;
m_rgnFigure = CreatePolygonRgn(m_Points, 3, ALTERNATE);
if (!m_rgnFigure)
 AfxMessageBox("Ошибка создания региона фигуры");

}

CTestDrawView::~CTestDrawView()
{
if (m_rgnFigure)
 DeleteObject(m_rgnFigure);
}

void CTestDrawView::OnDraw(CDC* pDC)
{
CTestDrawDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);

// TODO: add draw code for native data here
CBrush fillBrush((COLORREF) 0);
if (m_rgnFigure)
 FillRgn(pDC->GetSafeHdc(), m_rgnFigure, (HBRUSH)fillBrush.GetSafeHandle());
}

void CTestDrawView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
switch (nChar)
{
case (VK_UP):
 {
  OffsetRgn(m_rgnFigure, 0, -1);
  Invalidate();
  break;
 }
case (VK_DOWN):
 {
  OffsetRgn(m_rgnFigure, 0, 1);
  Invalidate();
  break;
 }
case (VK_LEFT):
 {
  OffsetRgn(m_rgnFigure, -1, 0);
  Invalidate();
  break;
 }
case (VK_RIGHT):
 {
  OffsetRgn(m_rgnFigure, 1, 0);
  Invalidate();
 }
}
CView::OnKeyDown(nChar, nRepCnt, nFlags);
}



--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
ida
Дата 12.12.2003, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 58



Спасибо всем smile.gif
PM WWW   Вверх
ida
Дата 16.12.2003, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 58



А экзамен я все-таки сдала... smile.gif
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0526 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.