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

MFC, понятия не имею как писать эту прогу, на с или с++ - C++

Восстановить пароль Регистрация
 
ольга28
0 / 0 / 0
Регистрация: 23.03.2012
Сообщений: 12
23.03.2012, 16:00     MFC, понятия не имею как писать эту прогу, на с или с++ #1
написать программу, генерирующую на экране разноцветные смайлики, расположенные случайным образом. выражение каждого смайлика должно меняться случайным образом 6 раз, после чего он исчезает с экрана.
смайлики должны быть такие:
Миниатюры
MFC, понятия не имею как писать эту прогу, на с или с++  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
(SkyNet)
 Аватар для (SkyNet)
22 / 40 / 6
Регистрация: 25.10.2011
Сообщений: 175
23.03.2012, 20:51     MFC, понятия не имею как писать эту прогу, на с или с++ #2
Если надо, могу сделать на WinAPI. MFC не учил
challengerr
43 / 36 / 2
Регистрация: 30.07.2008
Сообщений: 136
24.03.2012, 05:43     MFC, понятия не имею как писать эту прогу, на с или с++ #3
Если нужно по учебе, лучше попробовать сделать самостоятельно.
Смайлики лучше всего создать в виде картинки в графическом редакторе и сохранить в формате bmp.
Чтобы включить в программу bmp нужно присвоить изображению некоторую константу.
C++
1
2
3
4
#define IDBM1 102
#define IDBM2 103
#define IDBM3 104
#define IDBM4 105
Чтобы константа была связана с файлом в файле ресурсов ( с расширением rc) необходимо прописать пути к файлу и имя:
C++
1
2
3
4
IDBM1 BITMAP DISCARDABLE "s02.bmp"
IDBM2 BITMAP DISCARDABLE "s03.bmp"
IDBM3 BITMAP DISCARDABLE "s04.bmp"
IDBM4 BITMAP DISCARDABLE "s05.bmp"
Объявление класса изображения
C++
1
CBitmap* bitmap;
Это указатель который ни на что не указывает, поэтому необходимо создать объект связанный с этим указателемЖ
C++
1
CBitmap* bitmap = new CBitmap();
Если после выделения памяти оператором new не удалить, то возникнет утечка памяти. Удаление производится оператором delete
C++
1
delete bitmap;
Связывание переменной с изображением производится функцией LoadBitmap(идентификатор)
C++
1
bitmap->LoadBitmap(IDBM1);
Сперва изображение нужно скопировать на контекст устройства (класс CDC), расположенный в памяти
C++
1
2
3
CDC* uzn1 = new CDC();
uzn1->CreateCompatibleDC(pDC);
uzn1->SelectObject(bitmap);
Функцией BitBlt изображение из одного контекста устройства переносится на другое:
C++
1
pDC->BitBlt(j,k,40,40,uzn1,0,0,SRCCOPY);
Генератор случайных чисел:
C++
1
srand(time(0));
Функцией rand()%n генерируется число в диапазоне от 0 до n-1

Рисование производится в классе производном от CView
Вложения
Тип файла: 7z sdi7.7z (121.8 Кб, 9 просмотров)
ольга28
0 / 0 / 0
Регистрация: 23.03.2012
Сообщений: 12
24.03.2012, 07:17  [ТС]     MFC, понятия не имею как писать эту прогу, на с или с++ #4
спасибо конечно за то ответил). но мне надо не просто картинку вставить из файла, а сгенерировать их.
challengerr
43 / 36 / 2
Регистрация: 30.07.2008
Сообщений: 136
24.03.2012, 09:57     MFC, понятия не имею как писать эту прогу, на с или с++ #5
Так надо?
Вложения
Тип файла: 7z sdi7.7z (119.2 Кб, 24 просмотров)
ольга28
0 / 0 / 0
Регистрация: 23.03.2012
Сообщений: 12
27.03.2012, 16:31  [ТС]     MFC, понятия не имею как писать эту прогу, на с или с++ #6
Цитата Сообщение от challengerr Посмотреть сообщение
Так надо?
спасибо громадное, да именно так и надо было. может я что то вам должна?
Yandex
Объявления
27.03.2012, 16:31     MFC, понятия не имею как писать эту прогу, на с или с++
Ответ Создать тему
Опции темы

Текущее время: 15:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru