Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
4 / 4 / 2
Регистрация: 18.10.2009
Сообщений: 23
1

Рисование на канве, событие OnMouseMove

01.04.2012, 22:04. Показов 1278. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго всем времени суток. Прошу помощи в решении.

Задача такова:

Приложение рисует на канве компонента TImage сетку в виде трапеции.
Таким образом вырисовывается 64 клетки неквадратной формы.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __fastcall Tmf::FormCreate(TObject *Sender)
{
   int curr=0;
   for(int i=0;i<=8;i++)
   {
      curr=curr+i*10;
      bg->Canvas->MoveTo(0,curr);
      bg->Canvas->LineTo(320+curr*400/360,curr);
   }
 
   for(int i=0;i<=8;i++)
   {
      bg->Canvas->MoveTo(i*40,0);
      bg->Canvas->LineTo(i*90,360);
   }
}
есть ли способ сдалать так, чтобы при наведениии курсора на клетку, она меняла цвет?

заранее благодарю за внимание.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2012, 22:04
Ответы с готовыми решениями:

Рисование на канве
У меня есть текст, затем рисую прямоугольник на канве и этот текст перекрывается прямоугольником...

OnClick запустить другое событие этого объекта onMouseMove
Как сделать чтоб по событию onClick запустилось другое событие этого объекта onMouseMove?

Рисование фигур на канве
Здравствуйте! Проблема с рисованием на Image. Мне нужно нарисовать круг и квадрат. Позиции...

Рисование текста на канве
Помогите пожалуйста разобраться с проблемой: текст Label1 не отображается на Panel1 void...

2
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
02.04.2012, 00:56 2
думаю смысл поняли.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int x,y;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
        DoubleBuffered = true;
}
//---------------------------------------------------------------------------
 
 
 
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
        if ( X < 320 && Y < 320 )
        {
                Caption = String(abs(X/40)) +" : "+String(abs(Y/40));
                x = abs(X/40);
                y = abs(Y/40);
        }
        Repaint();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormPaint(TObject *Sender)
{
   Canvas->Pen->Color = clBlack;
   Canvas->Brush->Color = clWhite;
   for(int i = 0; i < 9; i++)
   {
      Canvas->MoveTo(0,i*40);
      Canvas->LineTo(320,i*40);
   }
 
   for(int i = 0; i < 9; i++)
   {
      Canvas->MoveTo(i*40,0);
      Canvas->LineTo(i*40,320);
   }
   //...
   Canvas->Pen->Color = clBlack;
   Canvas->Brush->Color = clRed;
   Canvas->Rectangle(x*40,y*40,x*40+41,y*40+41);
 
}
//---------------------------------------------------------------------------
Вложения
Тип файла: rar Project1.rar (8.6 Кб, 17 просмотров)
1
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.04.2012, 00:58 3
Проверять находится ли указатель внутри клетки
C++
1
2
Image1->Canvas->Brush->Color= clNewColor;
if (PtInRect(R,P)) Image1->Canvas->FillRect(R);
Где TRect R -клетка, TPoint P- точка указателя мыши (X,Y)
1
02.04.2012, 00:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2012, 00:58
Помогаю со студенческими работами здесь

Рисование на канве в потоке
Всем доброго времени суток. Есть код, который должен рисовать спектр амплитуд (позаимствован у...

Стрелки - рисование на канве Image
Помогите пожалуйста научиться рисовать стрелочки в Image с помощью Canvas'а. Язык и среда...

Рисование нa канве TImage с загруженным png
Здравствуйте. Загружаю в image png. После этого при попытке что либо нарисовать на канве выдает...

Круги, что образуют самую длинную цепь - выделить отдельным цветом, рисование на канве
В файле задано координаты радиусов кругов. Вывести круги на экран. Все цепи, что образованные с...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru