Графика в MS Visual 2005 C++

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Аватара пользователя
Vladimir89
Сообщения: 75
Зарегистрирован: 21 май 2007, 02:25

07 дек 2008, 02:03

С массивами я выкрутился с помощью глобальных переменных.
Теперь мне нужно узнать как вывести на экран значение переменной (например int)...
Потому что строки я с горем пополам умею выводить, а вот переменные ниразу не пробовал. Пытался найти в хелпе, но так как не знал что примерно нужно вводить для поиска я ничего не нашел.

Еще мне нужно уметь рисовать цветные прямоугольники... Там есть функция мудреная: FillRect(HDC hdc,CONST *RECT lprc,HBRUSH hbr)
Так вот, я не знаю что туда вводить! Ну с хдс все понятно. А указатель на прямоугольник откуда брать? Или как задавать? Непонятно! С брашем тоже не совсем все ясно .Я так понимаю это кисть. Но пока я не знаю что вводить как указатель на прямоугольник я не могу точно проверить .
Си ++
Здоровье --
Аватара пользователя
Vladimir89
Сообщения: 75
Зарегистрирован: 21 май 2007, 02:25

07 дек 2008, 04:50

Можете меня поздравить)
Программа написана.
Я разобрался во всем сам... Даже как то не верится.

Но я по прежнему не знаю, как выводить на экран переменные типа int, float и т.д. Я знаю как выводить строки, но как данные выводить не знаю.
Подскажите как это сделать!?
Си ++
Здоровье --
Albor
Сообщения: 482
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

07 дек 2008, 07:32

Vladimir89 писал(а):А мы таким макаром случайно не одно число передадим? оО

Если размерности массива известны на этапе компиляции, то так как написал Romeo-самый понятный способ передачи. Можно передать и через указатель, только обращение к элементам массива будет несколько не совсем очевидным. Приведу пример из книги Стауструпа

Код: Выделить всё

[color=#0000ff]void[/color] print_mij([color=#0000ff]int[/color] * m, [color=#0000ff]int[/color] dim1, [color=#0000ff]int[/color] dim2)
{
[color=#0000ff]for[/color]([color=#0000ff]int[/color] i=[color=#ff00ff]0[/color];i<dim1;i++)
{
[color=#0000ff]for[/color]([color=#0000ff]int[/color] j=[color=#ff00ff]0[/color];j<dim2;j++)
cout<<m_[i*dim2+j]<<[color=#808000]'\t'[/color];
cout<<[color=#808000]'\n'[/color];
}
}
Albor
Сообщения: 482
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

07 дек 2008, 07:47

Администратор, удалите мой пост. Не хочет сохраняться как положено. При предварительном просмотре - порядок, при сохранении - облом.
Аватара пользователя
Romeo
Сообщения: 3091
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

07 дек 2008, 19:18

Выводить на экран куда? Через HDC? Не пробовал отформатировать строку с помощью того же STL-левского std::stringstream, а затем вывести как обычную строку через TextOut или DrawText?
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Enmer
Сообщения: 1
Зарегистрирован: 29 дек 2014, 22:35

29 дек 2014, 22:52

Decoder писал(а): Я когда-то делал подобную программу, там множество точек псевдослучайным образом заполняет пространство окна, но при этом они ещё движутся по экрану сверху вниз, создавая эффект дождя. Можешь её скачать и запустить у себя.

Некропостёр, знаю, но можешь скинуть свою программу снова? А то тут что-то побилось и не скачивается
Ответить