Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
2 / 0 / 0
Регистрация: 28.08.2012
Сообщений: 73

Не рисует прямоугольник

09.10.2014, 02:22. Показов 1301. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, есть проблема которая уже достала, почему не рисуется прямоугольник?
C++
1
2
3
4
case WM_LBUTTONDOWN:
            hdc = GetWindowDC(hWnd);
            Rectangle(hdc, 100, 100, 150, 150);
            break;
Кисть же выбрана по умолчанию, но что тогда может быть?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.10.2014, 02:22
Ответы с готовыми решениями:

не рисует прямоугольник
cScene.h #ifndef CSCENE_H #define CSCENE_H #include <QtGui> class cScene:public QGraphicsScene { public: cScene(int...

Подскажите,почему не рисует прямоугольник с заданными параметрами?
Вот само задание: Создать меню с командами Size, Color, Paint, Quit. Команда Paint недоступна. При выборе команды Quit приложение ...

Составить программу которая рисует прямоугольник с разноцветными сторонами
Составить программу которая рисует прямоугольник с разноцветными сторонами. помогите пожалуйста!

1
 Аватар для Izual
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
09.10.2014, 05:39
Потому что рисовать надо в WM_PAINT. Ведь даже если использовать InvalidateRect(hWnd, NULL, TRUE); для отправления команды перерисовки, то пусть оно перерисуется(что врятли), а при движении окна - пропадёт.
Можно как вариант использовать глобальную переменную например:
C++
1
2
3
4
5
6
7
8
9
10
11
bool draw=false;//в глобальных
//в функции окна:
case WM_LBUTTONDOWN:
draw=true;
InvalidateRect(hWnd,NULL,TRUE);
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
if(draw==true)Rectangle(hdc, 100, 100, 150, 150);
EndPaint(hWnd, &ps);
break;
Добавлено через 14 минут
Попробовал так:
C++
1
2
3
4
5
6
7
8
9
10
case WM_LBUTTONDOWN:
{
RECT rc;
GetWindowRect(hWnd,&rc);
HDC hdct = GetWindowDC(hWnd);
Rectangle(hdct, rc.left+350, rc.top+10, rc.left+450, rc.top+450);
ReleaseDC(hWnd, hdct);
UpdateWindow(hWnd);
}
break;
При перерисовке окна - естественно пропадает, так что думаю что первый пример будет более корректен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.10.2014, 05:39
Помогаю со студенческими работами здесь

В графическом режиме нарисовать прямоугольник
Народ, пожалуйста помогите. Написать программу на языке ассемблера, которая в графическом режиме рисует прямоугольник размера...

Написать программу, которая в левом верхнем углу экрана рисует прямоугольник размером А на В
Уважаемые други, не поможете вот с этой задачей? Недавно начал изучить графику в паскале, путаюсь всё время. Собссна, вот. ...

Программа, которая по нажатию клавиши r или к рисует красный прямоугольник, а по нажатию q или й завершает работу
по нажатию клавиши r или к рисует красный прямоугольник, а по нажатию q или й завершает работу. program fg; uses crt, GraphABC; ...

В графическом режиме начиная с центра рисует две спирали (по часовой и против), в точках пересечения которых рисует окружность заданного радиуса
Написать программу, которая в графическом режиме начиная с центра рисует две спирали (по часовой и против) цвет которых чередуется от 1 до...

Написать класс прямоугольник и построить прямоугольник, пересечением двух других
Помогите пожалуйста с задание до делать, нужно построить треугольник являющегося общей частью (пересечением) двух прямоугольников. У меня...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru