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

Движение курсора мыши должно плавно менять цвет фона окна. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Rozalina
0 / 0 / 0
Регистрация: 26.07.2012
Сообщений: 5
26.07.2012, 18:31     Движение курсора мыши должно плавно менять цвет фона окна. #1
точнее 2


1) Движение курсора мыши должно плавно менять цвет фона окна. Левый верхний угол - красный цвет фона. Правый верхний - синий цвет. Правый нижний - зеленый.

2) Создаете графический интерфейс состоящий из 3 кнопок меняющий фон-изображения окна по клику. кнопки должны плавно, с анимацией изменятся при наведении мыши и клику.

помогите пожалуйста?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2012, 18:31     Движение курсора мыши должно плавно менять цвет фона окна.
Посмотрите здесь:

Цвет фона консоли с++ C++
C++ Цвет фона строки
Цвет шрифта и фона в консоли... C++
C++ Как менять цвет фрагмента текста в RichEdit?
Цвет фона и текста в тексотовом редакторе C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
26.07.2012, 18:43     Движение курсора мыши должно плавно менять цвет фона окна. #2
Цитата Сообщение от Rozalina Посмотреть сообщение
не могу сделать задачку
На чем хоть пытались делать VCL C++Builder, MFC, WINAPI, WinForm, OpenGL ?
Rozalina
0 / 0 / 0
Регистрация: 26.07.2012
Сообщений: 5
26.07.2012, 18:47  [ТС]     Движение курсора мыши должно плавно менять цвет фона окна. #3
code::blocs

Добавлено через 1 минуту
мне быхотябы узнать как код написать..а в саму программу уж я ее впишу.
QWIPQ
 Аватар для QWIPQ
141 / 120 / 5
Регистрация: 10.10.2011
Сообщений: 338
Записей в блоге: 1
26.07.2012, 20:08     Движение курсора мыши должно плавно менять цвет фона окна. #4
Цитата Сообщение от Rozalina Посмотреть сообщение
1) Движение курсора мыши должно плавно менять цвет фона окна. Левый верхний угол - красный цвет фона. Правый верхний - синий цвет. Правый нижний - зеленый.
а левый нижний?

P.S. может соорудишь палитру из 4х цветов? а то RGB уже баян))) или создай треугольную форму
pirogg
4 / 4 / 0
Регистрация: 18.10.2009
Сообщений: 23
26.07.2012, 20:28     Движение курсора мыши должно плавно менять цвет фона окна. #5
Цитата Сообщение от Rozalina Посмотреть сообщение
1) Движение курсора мыши должно плавно менять цвет фона окна. Левый верхний угол - красный цвет фона. Правый верхний - синий цвет. Правый нижний - зеленый.
2) Создаете графический интерфейс состоящий из 3 кнопок меняющий фон-изображения окна по клику. кнопки должны плавно, с анимацией изменятся при наведении мыши и клику.


хотя бы с одной из них..

или подскажите как ее делать???через какие функции??уравнения??
Фон окна - Form1->Canvas - массив точек с цветом в формате RGB(красный,зелёный,синий)

чтобы менялся цвет при движении мыши нужно обработать событие формы OnMouseMove

C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift, int X,
      int Y)
{
//в трёхмерном пространстве всё было бы проще,но TCanvas - двумерный массив - поэтому нужны преобразования
//чтоб в левом верхнем углу был максимально красный цвет, в правом верхнем - максимально синий и в правом нижнем - максимально зелёный 
   int Green=(Y*255)/ClientHeight;
   int Blue=((X*255)/ClientWidth+255-Green)/2;
   int Red=255-(X*255)/ClientWidth;
 
Canvas->Brush->Color=RGB(Red,Green,Blue);
Canvas->Rectangle(0,0,ClientWidth,ClientHeight);
}
Rozalina
0 / 0 / 0
Регистрация: 26.07.2012
Сообщений: 5
27.07.2012, 06:15  [ТС]     Движение курсора мыши должно плавно менять цвет фона окна. #6
Цитата Сообщение от pirogg Посмотреть сообщение
Фон окна - Form1->Canvas - массив точек с цветом в формате RGB(красный,зелёный,синий)

чтобы менялся цвет при движении мыши нужно обработать событие формы OnMouseMove

C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift, int X,
      int Y)
{
//в трёхмерном пространстве всё было бы проще,но TCanvas - двумерный массив - поэтому нужны преобразования
//чтоб в левом верхнем углу был максимально красный цвет, в правом верхнем - максимально синий и в правом нижнем - максимально зелёный 
   int Green=(Y*255)/ClientHeight;
   int Blue=((X*255)/ClientWidth+255-Green)/2;
   int Red=255-(X*255)/ClientWidth;
 
Canvas->Brush->Color=RGB(Red,Green,Blue);
Canvas->Rectangle(0,0,ClientWidth,ClientHeight);
}




а как все это написать через уравнения??я не знаю как записать=(
Yandex
Объявления
27.07.2012, 06:15     Движение курсора мыши должно плавно менять цвет фона окна.
Ответ Создать тему
Опции темы

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