Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2014, 09:51   #1
SeregaVili
Пользователь
 
Регистрация: 07.01.2013
Сообщений: 45
По умолчанию Рисование квадрата в C++

Здравствуйте, мне необходимо нарисовать квадрат в с++. С с++ столкнулся впервые, поэтому не знаю как это сделать. До этого в делфи делал подобное, там все получилось неплохо. Не знаю даже как начать. Надо либо чтобы по двум щелчкам по форме появлялся квадрат, либо растягивать как в пеинте. Подскажите плиз как это сделать)
SeregaVili вне форума Ответить с цитированием
Старый 27.09.2014, 10:24   #2
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,327
По умолчанию

Выполните пошаговую инструкцию, как у меня в подписи "Упражнение Тетрис". Там как раз квадрат
8Observer8 вне форума Ответить с цитированием
Старый 27.09.2014, 10:41   #3
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Как звучит оригинал задания?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 27.09.2014, 13:04   #4
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,603
По умолчанию

Код:
static int f1x, f1y, f2x, f2y;
switch(uMsg)
{
case WM_LBUTTON_DOWN:
f1x=LOWORD(lParam);
f1y=HIWORD(lParam);
return 0;
case WM_LBUTTON_UP:
f2x = LOWORD(lParam);
f2y = HIWORD(lParam);
return 0;
case WM_PAINT:
hdc= GetDC(hwnd);
MoveToEx(hdc, f1x, f1y, NULL); LineTo(hdc, f2x, f1y);
MoveToEx(hdc, f1x, f1y, NULL); LineTo(hdc, f1x, f2y);
MoveToEx(hdc, f2x, f1y, NULL); LineTo(hdc, f2x, f2y);
MoveToEx(hdc, f1x, f2y, NULL); LineTo(hdc, f2x, f2y);
ReleaseDC(hwnd, hdc);
return 0;
}
Примерно следующим образом
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 27.09.2014, 17:43   #5
SeregaVili
Пользователь
 
Регистрация: 07.01.2013
Сообщений: 45
По умолчанию

Всем спасибо за ответы, сейчас буду пробовать делать. Задания как такого нет, просто нужно нарисовать квадрат и все. Главное чтобы не в консоли символами а именно нормальный "графический" квадрат
SeregaVili вне форума Ответить с цитированием
Старый 28.09.2014, 09:45   #6
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,327
По умолчанию

Я пример написал. Надеюсь, пригодится: Рисуем прямоугольник с помощью мышки
8Observer8 вне форума Ответить с цитированием
Старый 28.09.2014, 18:19   #7
SeregaVili
Пользователь
 
Регистрация: 07.01.2013
Сообщений: 45
По умолчанию Qt

Спасибо большое) Но тут нужна какая то среда программирования Qt, а мне надо просто, скажем, на PaintBox нарисовать. Тут как я понял надо с канвой работать. В принципе, квадрат рисуется функцией rectangle, но как получить координаты, щелкнув два раза на форме я не знаю
SeregaVili вне форума Ответить с цитированием
Старый 28.09.2014, 18:44   #8
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,327
По умолчанию

Средств рисования десятки. Вам надо для начала определиться с библиотекой для GUI. Её выбор зависит от того, какая у вас ОС: Windows, Linux или Mac.
8Observer8 вне форума Ответить с цитированием
Старый 29.09.2014, 12:07   #9
SeregaVili
Пользователь
 
Регистрация: 07.01.2013
Сообщений: 45
По умолчанию

Оказалось мне нужно его построить его геометрически. Я два раза щелкнул по форме появилась линия, которая является диагональю. Это я сделал. Но как дальше? Как определить середину и по ней провести вторую диагональ под углом 90 градусов?
SeregaVili вне форума Ответить с цитированием
Старый 29.09.2014, 13:51   #10
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,603
По умолчанию

***ошибся***
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"

Последний раз редактировалось challengerr; 29.09.2014 в 13:57.
challengerr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисование квадрата KocT9 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 22.10.2014 11:58
OpenGL. Рисование квадрата kuy Общие вопросы C/C++ 0 12.03.2013 23:46
Рисование ровного квадрата/круга при нажатой клавише Ctrl DeeDe Помощь студентам 0 07.05.2012 14:28
Рисование квадрата. Работа на Canvas Файзулка Мультимедиа в Delphi 8 26.02.2010 14:34
Рисование квадрата, работа на canvas lubov_morkov Помощь студентам 2 02.06.2009 13:01